JP2946761B2 - Musical sound wave generator - Google Patents

Musical sound wave generator

Info

Publication number
JP2946761B2
JP2946761B2 JP2416300A JP41630090A JP2946761B2 JP 2946761 B2 JP2946761 B2 JP 2946761B2 JP 2416300 A JP2416300 A JP 2416300A JP 41630090 A JP41630090 A JP 41630090A JP 2946761 B2 JP2946761 B2 JP 2946761B2
Authority
JP
Japan
Prior art keywords
processing
sound source
tone
data
sound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2416300A
Other languages
Japanese (ja)
Other versions
JPH04234796A (en
Inventor
和夫 小倉
隆二 宇佐美
康祐 斯波
広一郎 太期
潤 細田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KASHIO KEISANKI KK
Original Assignee
KASHIO KEISANKI KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KASHIO KEISANKI KK filed Critical KASHIO KEISANKI KK
Priority to JP2416300A priority Critical patent/JP2946761B2/en
Publication of JPH04234796A publication Critical patent/JPH04234796A/en
Application granted granted Critical
Publication of JP2946761B2 publication Critical patent/JP2946761B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】[Industrial applications]

【0002】本発明は、楽音波形発生装置における音源
処理方式に関し、更に詳しくは、音源処理を所定時間毎
にソフトウエアで実行する楽音波形発生装置に関する。
[0002] The present invention relates to a sound source processing method in a musical sound waveform generator, and more particularly, to a musical sound waveform generator that executes sound source processing by software at predetermined time intervals.

【0003】[0003]

【従来の技術】[Prior art]

【0004】ディジタル信号処理技術とLSI処理技術
の発達により性能の良い様々な電子楽器が実現されてい
る。
[0004] With the development of digital signal processing technology and LSI processing technology, various electronic musical instruments with high performance have been realized.

【0005】電子楽器の楽音波形発生装置は、大量かつ
高速のディジタル演算が必要なため、従来は、必要とす
る音源方式に基づく楽音発生アルゴリズムと等価なアー
キテクチャをハードウエアで実現した専用の音源回路に
よって構成されていた。そのため、ハードウエア規模が
大きくなってしまい、また、音源方式の自由な変更が困
難であり、更に、このような楽音波形発生装置を電子楽
器として実現するような場合に、演奏情報に対する処理
と音源に対する処理の両方を同期させて行うための制御
が複雑となり、その開発において多大なコストアップを
招いていた。
[0005] Since a musical sound waveform generator for an electronic musical instrument requires a large amount of high-speed digital operation, a dedicated tone generator circuit has conventionally been realized by hardware which implements an architecture equivalent to a tone generating algorithm based on a required tone generator. Was composed by. For this reason, the hardware scale becomes large, and it is difficult to freely change the sound source system. Further, when such a musical tone waveform generator is realized as an electronic musical instrument, processing of the performance information and sound source However, the control for synchronizing both of the processes is complicated, resulting in a great increase in cost in the development thereof.

【0006】その一方、近年においては、汎用のデータ
処理を行うための高性能なマイクロプロセッサが多く実
現されており、このようなマイクロプロセッサを使用し
て音源処理をソフト的に行う楽音波形発生装置を実現さ
せることも考えられる。
On the other hand, in recent years, many high-performance microprocessors for performing general-purpose data processing have been realized, and a musical tone waveform generator that performs sound source processing in a software manner using such a microprocessor. It is also possible to realize.

【0007】このような方式では、例えばプロセッサ
が、通常、演奏情報処理プログラムを実行して演奏操作
に基づいて鍵盤等から発生する演奏情報を処理し、所定
の時間間隔で割り込みがかかることによって、音源処理
プログラムに処理を移して楽音生成を行う。その後、音
源処理プログラムの実行が終了すると、マスタープロセ
ッサは、割り込みを解除して演奏情報処理プログラムの
実行を再開する。
In such a system, for example, a processor usually executes a performance information processing program to process performance information generated from a keyboard or the like based on a performance operation, and interrupts at predetermined time intervals. The processing is shifted to a sound source processing program to generate a musical sound. Thereafter, when the execution of the sound source processing program ends, the master processor releases the interrupt and restarts the execution of the performance information processing program.

【0008】音源処理においては、複数の楽音の同時発
音すなわちポリフォニック動作を可能とするため、発音
チャネルという概念を設け、例えば16チャネル設定さ
れた発音チャネルの各発音チャネル毎に時分割処理を実
行することによって、例えば最大16音の楽音を聴感上
同時に発音させることを可能としている。この場合、各
発音チャネル毎に楽音を生成するための各種楽音生成デ
ータがメモリ等に記憶され、演奏情報が発生すると、演
奏情報処理プログラムの実行時に、空いている発音チャ
ネルに対応するメモリ領域に演奏情報に対応するピッチ
データ等が設定(アサイン)されることにより、その後
の音源処理によってその発音チャネルでの楽音の生成が
開始される。
In the sound source processing, a concept of a sounding channel is provided in order to enable simultaneous sounding of a plurality of musical tones, that is, a polyphonic operation. This makes it possible to simultaneously generate, for example, a maximum of 16 musical tones in terms of audibility. In this case, various musical sound generation data for generating musical sounds for each sounding channel are stored in a memory or the like, and when performance information is generated, when the performance information processing program is executed, a memory area corresponding to an empty sounding channel is stored. When pitch data or the like corresponding to the performance information is set (assigned), generation of a musical tone in the sounding channel is started by subsequent sound source processing.

【0009】[0009]

【発明が解決しようとする課題】[Problems to be solved by the invention]

【0010】しかし、前述の割り込み処理として実行さ
れる音源処理においては、従来、毎回例えば16チャネ
ルの全ての発音チャネルに対して時分割で音源処理が実
行されていた。そのため、実際にはアサインが行われて
いない発音チャネルに対しても音源処理が実行されてし
まって無駄な処理となり、発音数が少ない状態でも割り
込み処理として実行される音源処理に多くの時間を要し
てしまい、演奏情報処理プログラムを実行する時間が少
なくなってしまっていた。演奏情報処理プログラムで
は、鍵盤の走査等に十分な処理時間を割り当てる必要が
あるため、例えば速いテンポのメロディプレイのよう
に、同時に発音される数は少ないが押鍵される鍵が激し
く変化するような場合に、演奏情報処理が追い付かず、
応答性能の悪い楽器になってしまうという問題点を有し
ていた。
However, in the sound source processing executed as the above-described interrupt processing, the sound source processing has conventionally been executed in a time-division manner, for example, every time, for example, for all of the 16 sound generation channels. For this reason, sound source processing is executed even for sound channels that are not actually assigned, resulting in useless processing, and even when the number of sounds is small, sound processing that is executed as interrupt processing requires a lot of time. As a result, the time for executing the performance information processing program is reduced. In the performance information processing program, it is necessary to allocate a sufficient processing time for the keyboard scanning and the like. Performance information processing cannot catch up,
There was a problem that the instrument would have poor response performance.

【0011】この一方、本出願人は、割り込み処理とし
て実行される音源処理に要する時間をできる限り短く
し、演奏情報処理に多くの時間を割り振ることを可能と
すべく、1回の割り込み処理で1サンプリングタイミン
グ分の楽音データを生成するのではなく、音源処理を複
数の処理単位で構成し、それらを何回かの割り込み処理
に分割して順次実行し、例えば2回に1回の割り込み処
理毎に1サンプリングタイミング分ずつの楽音データを
生成するようにした楽音波形発生装置を提案している
(特願平P2-171218 号)。具体的には、音源処理方式と
してFM変調方式、TM変調方式などを採用した場合
に、オペレータ処理とアルゴリズム処理とを、それぞれ
連続する異なる割り込み周期で実行するようにした方式
である。
[0011] On the other hand, the present applicant has made the time required for the sound source processing executed as the interrupt processing as short as possible and allocated a large amount of time to the performance information processing by one interrupt processing. Rather than generating musical tone data for one sampling timing, a tone generator process is composed of a plurality of processing units, which are divided into several interrupt processes and sequentially executed. For example, an interrupt process is performed once every two times. A musical tone waveform generator for generating musical tone data for one sampling timing every time has been proposed (Japanese Patent Application No. P2-171218). Specifically, in a case where the FM modulation method, the TM modulation method, or the like is employed as the sound source processing method, the operator processing and the algorithm processing are executed at successive interrupt cycles different from each other.

【0012】この場合も、演奏情報が発生すると、演奏
情報処理プログラムの実行時に、空いている発音チャネ
ルに対応するメモリ領域に演奏情報に対応するピッチデ
ータ等が設定(アサイン)されることにより、その後の
音源処理によってその発音チャネルでの楽音の生成が開
始される。
Also in this case, when performance information is generated, pitch data and the like corresponding to the performance information are set (assigned) in a memory area corresponding to an empty sounding channel when the performance information processing program is executed. Generation of a musical tone in the sound channel is started by the subsequent sound source processing.

【0013】しかし、アサインが行われた直後に割り込
み処理として実行される音源処理が、上記一連の処理単
位の先頭の処理単位でない場合には、そのまま音源処理
が実行されてしまうと、実際には楽音生成データが有効
に設定されていないにも拘らず無駄な音源処理が実行さ
れてしまうことになり、割り込み処理として実行される
音源処理に要する時間を短くし演奏情報処理に多くの時
間を割り振るというこの方式本来の機能が減殺されてし
まうという問題点を有していた。
However, if the sound source processing executed as the interrupt processing immediately after the assignment is performed is not the first processing unit of the above series of processing units, if the sound source processing is executed as it is, actually, Useless sound source processing is executed even though the tone generation data is not set to be valid, so that the time required for the sound source processing executed as the interrupt processing is shortened, and more time is allocated to the performance information processing. This has the problem that the original function of this system is diminished.

【0014】本発明の課題は、音源処理を所定時間毎に
割り込み処理等で実行する場合に、無駄な音源処理を行
わないようにすることにある。
An object of the present invention is to prevent unnecessary sound source processing from being performed when the sound source processing is executed at predetermined time intervals by interrupt processing or the like.

【0015】[0015]

【課題を解決するための手段】[Means for Solving the Problems]

【0016】本発明の第1の態様として以下の構成を有
する。
The first aspect of the present invention has the following configuration.

【0017】まず、複数の発音チャネル毎に、各発音チ
ャネルが発音状態であるか否かを示す状態フラグを含む
楽音制御データを記憶するデータ記憶手段を有する。
First, there is provided data storage means for storing musical tone control data including a state flag indicating whether or not each sounding channel is in a sounding state for each of the plurality of sounding channels.

【0018】また、次のようなプログラム実行手段を有
する。即ち、同手段は、通常時は演奏情報を処理するた
めの演奏情報処理プログラムを実行してデータ記憶手段
上の対応する楽音制御データを制御する。ここで、いず
れかの発音チャネルに対して発音指示又は消音指示を行
う場合に、その発音チャネルに対応するデータ記憶手段
上の状態フラグを発音状態又は消音状態とする制御を行
う。また、プログラム実行手段は、所定時間間隔で楽音
信号を得るための音源処理プログラムを実行する。この
場合、データ記憶手段上の状態フラグが発音状態を示し
ている発音チャネルに対してのみデータ記憶手段上の対
応する楽音制御データに基づいて楽音信号を生成する。
Further, it has the following program executing means. That is, the means normally executes a performance information processing program for processing the performance information and controls the corresponding tone control data in the data storage means. Here, when a sounding instruction or a mute instruction is given to any sounding channel, control is performed to set a state flag on the data storage means corresponding to the sounding channel to a sounding state or a mute state. The program executing means executes a sound source processing program for obtaining a tone signal at predetermined time intervals. In this case, the tone signal is generated only for the tone generation channel whose status flag indicates the tone generation status on the data storage means based on the corresponding tone control data on the data storage means.

【0019】本発明の第2の態様として以下の構成を有
する。
The second embodiment of the present invention has the following configuration.

【0020】まず、発音状態であるか否かを示す状態フ
ラグを含む楽音制御データを記憶するデータ記憶手段を
有する。
First, there is provided data storage means for storing musical tone control data including a status flag indicating whether or not a tone is being emitted.

【0021】また、次のようなプログラム実行手段を有
する。即ち、同手段は、通常時は演奏情報を処理するた
めの演奏情報処理プログラムを実行してデータ記憶手段
上の対応する楽音制御データを制御する。ここで、発音
指示又は消音指示を行う場合、データ記憶手段上の状態
フラグを発音状態又は消音状態とする制御を行う。
Further, it has the following program executing means. That is, the means normally executes a performance information processing program for processing the performance information and controls the corresponding tone control data in the data storage means. Here, when issuing a sounding instruction or a mute instruction, control is performed to set the state flag on the data storage means to a sounding state or a mute state.

【0022】また、プログラム実行手段は、所定時間間
隔で楽音信号を得るための音源処理プログラムを実行
し、データ記憶手段上の状態フラグが発音状態を示して
いる場合のみデータ記憶手段上の対応する楽音制御デー
タに基づいて楽音信号を生成する。その場合、一連の音
源処理プログラムを複数の処理単位で構成し、その各々
を前述の所定時間間隔を単位とする複数の一連の実行周
期で順次実行して、複数の実行周期毎に楽音信号を生成
する。即ち、音源処理プログラムは、例えば変調方式に
よるものであって、変調処理単位である少なくとも1つ
のオペレータ処理と各オペレータ処理間の各入出力処理
であるアルゴリズム処理とで構成される。そして、プロ
グラム実行手段は、オペレータ処理とアルゴリズム処理
の各々を2つの連続する実行周期で順次実行して2実行
周期毎に楽音信号を生成する。
Further, the program executing means executes a sound source processing program for obtaining a tone signal at predetermined time intervals, and only when the status flag on the data storing means indicates a sound emitting state, the corresponding program on the data storing means is executed. A tone signal is generated based on the tone control data. In this case, a series of sound source processing programs are constituted by a plurality of processing units, each of which is sequentially executed in a plurality of series of execution cycles in units of the aforementioned predetermined time intervals, and a tone signal is generated in each of the plurality of execution cycles. Generate. That is, the sound source processing program is based on, for example, a modulation method, and includes at least one operator process which is a modulation processing unit and an algorithm process which is each input / output process between the operator processes. Then, the program execution means sequentially executes each of the operator processing and the algorithm processing in two consecutive execution cycles, and generates a tone signal every two execution cycles.

【0023】ここで、プログラム実行手段は、演奏情報
処理プログラムの実行によって楽音信号の発音指示を行
う場合に、直後の実行周期で一連の処理単位のうち先頭
の処理単位、上述の例ではオペレータ処理に対応する音
源処理プログラムが実行されるタイミングまで、状態フ
ラグを発音状態にするのを待つ制御を行う。この場合、
プログラム手段は、各実行周期毎にインクリメントされ
るカウンタ手段を有し、そのカウンタ値を参照すること
により、先頭の処理単位に対応する音源処理プログラム
が実行される実行周期の判定を行う。
Here, the program execution means, when giving an instruction to generate a tone signal by executing the performance information processing program, executes the first processing unit of a series of processing units in the immediately following execution cycle, in the above example, the operator processing. Until the time when the sound source processing program corresponding to is executed, control is performed to wait until the state flag is set to the sound emitting state. in this case,
The program means has counter means that is incremented for each execution cycle, and determines the execution cycle in which the sound source processing program corresponding to the first processing unit is executed by referring to the counter value.

【0024】上述の第2の態様において、データ記憶手
段上の状態フラグは複数の発音チャネル毎に設けられ、
プログラム実行手段は、複数の発音チャネル毎に演奏情
報処理プログラム及び音源処理プログラムを時分割で実
行するように構成することができる。
In the second aspect, the status flag on the data storage means is provided for each of a plurality of sound channels.
The program executing means can be configured to execute the performance information processing program and the sound source processing program in a time-division manner for each of a plurality of sounding channels.

【0025】[0025]

【作用】[Action]

【0026】本発明の第1の態様では、プログラム実行
手段が、演奏情報処理に対する割り込み処理などによっ
て、複数の発音チャネルに対する音源処理をソフトウエ
アで実行する場合、発音チャネル毎にデータ記憶手段に
記憶されている状態フラグによって、発音状態となって
いない発音チャネルに対しては楽音生成処理を実行しな
いように制御する。なお、発音チャネル毎の状態フラグ
は、演奏情報処理においてセットされる。これにより、
発音数が少ない状態では、割り込み処理などとして実行
される音源処理の短縮化を図ることができ、演奏情報処
理プログラムを実行する時間を増加させることができる
ため、例えば速いテンポのメロディプレイのように、同
時に発音される数は少ないが押鍵される鍵が激しく変化
するような場合に演奏情報処理が十分追従でき、応答性
能の良い楽器を実現できる。
In the first aspect of the present invention, when the program execution means executes sound source processing for a plurality of tone generation channels by software by interrupt processing for performance information processing or the like, the program execution means stores the tone generation processing for each tone generation channel in the data storage means. Based on the status flag, the tone generation process is controlled so as not to be executed for a sound channel that is not in a sound emitting state. The status flag for each sounding channel is set in the performance information processing. This allows
In the state where the number of sounds is small, it is possible to shorten the sound source processing executed as the interrupt processing and the like, and it is possible to increase the time for executing the performance information processing program. In the case where the number of keys to be simultaneously pronounced is small, but the key to be pressed changes drastically, the performance information can sufficiently follow, and a musical instrument with good response performance can be realized.

【0027】本発明の第2の態様では、音源処理を複数
の処理単位で構成し、それらを何回かの実行周期に分割
して順次実行し、例えば2回に1回の実行周期毎に1サ
ンプリングタイミング分ずつの楽音データを生成するよ
うな楽音波形発生装置において、プログラム実行手段が
演奏情報処理において楽音信号の発音指示を行う場合
に、直後の実行周期で一連の処理単位のうち先頭の処理
単位に対応する音源処理プログラムが実行されるタイミ
ングまで状態フラグを発音状態にするのを待つ制御を行
う。そして、プログラム実行手段は、音源処理プログラ
ムを実行する場合に、状態フラグが発音状態を示してい
る場合のみ楽音生成処理を行う。
According to the second aspect of the present invention, the sound source processing is constituted by a plurality of processing units, which are divided into several execution cycles and executed sequentially, for example, every two execution cycles. In a musical tone waveform generating apparatus that generates musical tone data for each sampling timing, when the program execution means instructs the generation of a musical tone signal in performance information processing, the leading part of a series of processing units is executed immediately after the execution cycle. Control is performed to wait until the state flag is set to the sound emission state until the timing at which the sound source processing program corresponding to the processing unit is executed. Then, when executing the sound source processing program, the program executing means performs the musical sound generation processing only when the state flag indicates the sound generation state.

【0028】従って、実際に楽音生成データが有効に設
定されていない実行周期で無駄な音源処理が実行されて
しまうのを防ぐことができ、割り込み処理などとして実
行される音源処理に要する時間を短くし、演奏情報処理
に多くの時間を割り振ることができる。
Therefore, it is possible to prevent unnecessary tone generation processing from being executed in an execution cycle in which the musical tone generation data is not set to be valid, thereby shortening the time required for tone generation processing executed as interrupt processing or the like. In addition, much time can be allocated to performance information processing.

【0029】[0029]

【実施例】【Example】

【0030】以下、図面を参照しながら本発明の実施例
につき説明する。 <本実施例の構成>
Hereinafter, embodiments of the present invention will be described with reference to the drawings. <Configuration of the present embodiment>

【0031】図1は、本実施例の全体構成図であり、外
部メモリ116以外は1チップで構成され、その中のマ
スターとスレーブの2つのCPU(中央演算制御装置)
が互いに情報を交換しつつ、楽音作成のための音源処理
を分担して行う。
FIG. 1 is an overall configuration diagram of the present embodiment, which is constituted by one chip except for the external memory 116, and has two CPUs (central processing control unit) of a master and a slave therein.
Perform sound source processing for musical tone creation while exchanging information with each other.

【0032】図1において、まず、外部メモリ116に
は、エンベロープ値の目標値等の楽音制御パラメータ
と、PCM(パルス符号変調)方式における楽音波形又
はDPCM(差分パルス符号変調)方式における楽音差
分波形等が記憶されている。
In FIG. 1, a tone control parameter such as a target value of an envelope value and a tone waveform in a PCM (pulse code modulation) system or a tone difference waveform in a DPCM (differential pulse code modulation) system are first stored in an external memory 116. Etc. are stored.

【0033】一方、マスタCPU(以下、MCPU と略称
する)101とスレーブCPU(以下、SCPU と略称す
る)102は、外部メモリ116上の上記各データをア
クセスして、分担して音源処理を行う。これらのCPU
は、ともに外部メモリ116の波形データ等を共用する
ので、このままでは、外部メモリ116からデータを読
み込むときに、競合が発生する恐れがある。そのため、
MCPU 101とSCPU 102のそれぞれは、MCPU外部
メモリアクセス用アドレスラッチ部103及びSCPU 外
部メモリアクセス用アドレスラッチ部104を介して、
アクセス用アドレス競合回避回路105から外部メモリ
アクセス用のアドレス信号と外部メモリ制御データを出
力端子111、112から出力することにより、MCPU
101からのアドレスとSCPU 102からのアドレスの
競合を回避することができる。
On the other hand, a master CPU (hereinafter abbreviated as MCPU) 101 and a slave CPU (hereinafter abbreviated as SCPU) 102 access the above data on the external memory 116 and perform sound source processing in a shared manner. . These CPUs
Since both share the waveform data and the like in the external memory 116, conflicts may occur when data is read from the external memory 116 as it is. for that reason,
The MCPU 101 and the SCPU 102 are connected via an MCPU external memory access address latch unit 103 and an SCPU external memory access address latch unit 104, respectively.
By outputting an address signal for external memory access and external memory control data from the output terminals 111 and 112 from the access address conflict avoiding circuit 105, the MCPU
The conflict between the address from the address 101 and the address from the SCPU 102 can be avoided.

【0034】上記アドレス指定に基づいて外部メモリ1
16から読み出されたデータは、外部メモリデータイン
端子115から外部メモリセレクタ部106に入力され
る。外部メモリセレクタ部106は、アクセス用アドレ
ス競合回避回路105からの制御信号に基づき、上記読
み出されたデータを、データバスMDを通ってMCPU 1
01に入力されるデータと、データバスSDを通ってS
CPU 102に入力されるデータに分離し、それぞれMCP
U 101とSCPU 102に入力させる。これにより、デ
ータの競合も回避することができる。
The external memory 1 based on the above address designation
The data read from 16 is input from the external memory data-in terminal 115 to the external memory selector 106. The external memory selector 106 transfers the read data to the MCPU 1 through the data bus MD based on a control signal from the access address conflict avoidance circuit 105.
01 through the data bus SD and S
Separated into data input to CPU 102,
U 101 and SCPU 102 are input. Thus, data conflict can be avoided.

【0035】その後、それぞれのデータに対し、MCPU
101及びSCPU 102で、ソフトウエアによって音源
処理が施された後、発音チャネル分全部が累算され、Le
ftD/A変換器部107のレフト出力端子113及びRi
ght D/A変換器部108のライト出力端子114か
ら、それぞれ楽音信号として、左チャネルのレフト・ア
ナログ出力と右チャネルのライト・アナログ出力が出力
される。
Then, for each data, MCPU
After the sound source processing is performed by software in 101 and the SCPU 102, all of the sound channels are accumulated, and Le
ft Left output terminal 113 of D / A converter unit 107 and Ri
From the right output terminal 114 of the ght D / A converter unit 108, a left channel left analog output and a right channel right analog output are output as tone signals, respectively.

【0036】次に、図2はMCPU 101の内部構成を示
すブロック図である。
FIG. 2 is a block diagram showing the internal configuration of the MCPU 101.

【0037】同図において、制御用ROM201には、
後述する楽音制御用のプログラムが記憶されており、R
OMアドレス制御部205からROMアドレスデコーダ
202を介して指定されたアドレスのプログラム語(命
令)を順次出力する。具体的には、各プログラム語の語
長は例えば28ビットであり、プログラム語の一部が次
に読み出されるべきアドレスの下位部(ページ内アドレ
ス)としてROMアドレス制御部205に入力されるネ
クストアドレス方式となっている。
In FIG. 3, a control ROM 201 includes:
A tone control program described later is stored therein.
The OM address control unit 205 sequentially outputs the program word (instruction) at the designated address via the ROM address decoder 202. Specifically, the word length of each program word is, for example, 28 bits, and the next address in which a part of the program word is input to the ROM address control unit 205 as the lower part (intra-page address) of the address to be read next System.

【0038】コマンド解析部207は、制御用ROM2
01から出力される命令のオペコードを解析し、指定さ
れたオペレーションを実行するために、回路の各部に制
御信号を送る。
The command analysis unit 207 includes a control ROM 2
It analyzes the operation code of the instruction output from 01 and sends a control signal to each part of the circuit to execute the specified operation.

【0039】RAMアドレス制御部204は、制御用R
OM201からの命令のオペランドがレジスタを指定し
ている場合に、RAM206内の対応するレジスタのア
ドレスを指定する。RAM206には、図19、図20
等として後述する各種楽音制御データが8発音チャネル
分記憶されるほか、図16、図21等として後述する各
種バッファ等が記憶され、後述する音源処理に使用され
る。
The RAM address control unit 204 includes a control R
When the operand of the instruction from the OM 201 specifies a register, the address of the corresponding register in the RAM 206 is specified. 19 and 20 are stored in the RAM 206.
In addition to storing various musical tone control data described later for eight tone generation channels, various buffers and the like described later as FIGS. 16 and 21 are stored and used for sound source processing described later.

【0040】ALU部208及び乗算器209は、制御
ROM31からの命令が演算命令の場合に、コマンド解
析部207からの指示に基づいて、前者は加減算と論理
演算、後者は乗算を実行する。
When the instruction from the control ROM 31 is an arithmetic instruction, the ALU unit 208 and the multiplier 209 execute addition / subtraction and logical operation, and the latter execute multiplication based on an instruction from the command analysis unit 207.

【0041】インタラプト制御部203は、内部の特に
は図示しないハードタイマに基づいて、一定時間毎に、
図1のSCPU 102にリセット解除信号A、ROMアド
レス制御部205及び図1の各D/A変換器部107、
108にインタラプト信号を供給する。
The interrupt control unit 203, based on an internal hard timer (not shown), performs
A reset release signal A, a ROM address control unit 205 and each D / A converter unit 107 in FIG.
An interrupt signal is supplied to 108.

【0042】上述の構成のほかに、図2のMCPU 101
には、次の各種のバスに関するインタフェースが設けら
れている。
In addition to the above configuration, the MCPU 101 shown in FIG.
Are provided with interfaces for the following various buses.

【0043】すなわち、外部メモリ116をアクセスす
べく、そのメモリのアドレスを指定するためのアドレス
バスMAのインタフェース215、アクセスされたデー
タを外部メモリセレクタ部106を介してMCPU 101
との間で授受するためのデータバスMDのインタフェー
ス216、SCPU 102とのデータの授受を実行すべく
SCPU 102内部のRAMのアドレスを指定するバスM
aのインタフェース212、MCPU 101がSCPU10
2へデータを書き込むためのデータバスDout のインタ
フェース213、MCPU 101がSCPU 102からデー
タを読み込むためのデータバスDinのインタフェース2
14、Left D/A変換器部107、Right D/A変換
器部108に最終出力波形を転送するためのD/Aデー
タ転送バスのインタフェース217、及び外部のスイッ
チ部又は鍵盤部(図7、図8参照)等との間でデータの
授受を行う入出力ポート210、211がある。
That is, in order to access the external memory 116, an interface 215 of the address bus MA for designating an address of the memory, and the accessed data is transferred to the MCPU 101 via the external memory selector 106.
An interface 216 of a data bus MD for transmitting and receiving data to and from the bus M which specifies an address of a RAM inside the SCPU 102 in order to transmit and receive data to and from the SCPU 102.
a, the MCPU 101 is the SCPU 10
Interface 213 of the data bus Dout for writing data to the data bus 2 and interface 2 of the data bus Din for the MCPU 101 to read data from the SCPU 102.
14, a D / A data transfer bus interface 217 for transferring the final output waveform to the Left D / A converter unit 107, the Right D / A converter unit 108, and an external switch unit or keyboard unit (FIG. 7, There are input / output ports 210 and 211 for exchanging data with the like (see FIG. 8).

【0044】次に、SCPU 102の内部構成を図3に示
す。
Next, the internal configuration of the SCPU 102 is shown in FIG.

【0045】SCPU 102は、MCPU 101からの処理
開始信号を受けて音源処理を行うのみなので、図2の2
23に対応するインタラプト制御部、図2の210及び
211に対応する外部回路とのデータの授受を行う入出
力ポート及び図2の217に対応するLeft D/A変換
器部107とRight D/A変換器部108に楽音信号を
出力するためのインタフェースはない。それ以外の30
1、302、304〜309の各回路は、図2の20
1、202、204〜209の各回路と同じ機能を有す
る。また、各インタフェース303、310〜313
は、図2の212〜216のそれぞれに対向して設けら
れる。なお、MCPU 101からバスMaを介して指定さ
れたSCPU 102内部RAMアドレスは、RAMアドレ
ス制御部304に入力し、対応するアドレスがRAM3
06に対して指定される。これによって、例えばSCPU
102で生成されRAM306内部に保持されている最
大8発音チャネル分の累算波形データが、データバスD
INを介してMCPU 101に出力される。これについては
後述する。
Since the SCPU 102 only performs the sound source processing upon receiving the processing start signal from the MCPU 101, the SCPU 102 shown in FIG.
2, an input / output port for exchanging data with external circuits corresponding to 210 and 211 in FIG. 2, a Left D / A converter 107 corresponding to 217 in FIG. 2, and a Right D / A There is no interface for outputting a tone signal to the converter unit 108. Other 30
The circuits 1, 302, 304 to 309 correspond to 20 in FIG.
1, 202, and 204 to 209 have the same functions. Also, each interface 303, 310 to 313
Are provided to face each of 212 to 216 in FIG. The internal RAM address of the SCPU 102 specified from the MCPU 101 via the bus Ma is input to the RAM address control unit 304, and the corresponding address is stored in the RAM3.
06. By this, for example, SCPU
The accumulated waveform data for up to eight sounding channels generated at 102 and held in the RAM 306 is stored in the data bus D.
It is output to MCPU 101 via IN. This will be described later.

【0046】以上に示される構成のほか、本実施例で
は、MCPU 101の入力ポート210に、図7及び図8
に示されるような機能キー701及び鍵盤キー702等
が接続される。これらの部分が、実質的な楽器操作部を
構成する。
In addition to the configuration shown above, in this embodiment, the input port 210 of the MCPU 101 is
Are connected to a function key 701 and a keyboard key 702 as shown in FIG. These parts constitute a substantial musical instrument operation unit.

【0047】次に、図5は、図1のLeftとRight のD/
A変換器部107、108(両変換部の内容は同じ)の
内部構成を示すもので、データバスを介して、音源処理
で作成された楽音の1サンプルデータがラッチ401に
入力される。そして、ラッチ401のクロック入力にM
CPU 101のコマンド解析部207(図2)から音源処
理終了信号が入力されると、データバス上の1サンプル
分の楽音データがラッチ401にラッチされる。
Next, FIG. 5 shows the D / D of Left and Right in FIG.
This shows the internal configuration of A-converters 107 and 108 (the contents of both converters are the same). One sample data of a musical tone created by tone generator processing is input to a latch 401 via a data bus. Then, M is input to the clock input of the latch 401.
When a sound source processing end signal is input from the command analysis unit 207 (FIG. 2) of the CPU 101, the tone data for one sample on the data bus is latched by the latch 401.

【0048】ここで、前述の音源処理に要する時間は、
音源処理用のソフトウエアにより変化する。そのため、
音源方式が異なる場合は、各音源処理が終了し、ラッチ
401に楽音データがラッチされるタイミングは一定で
ない。そのため、図4のように、ラッチ401の出力を
そのままD/A変換器402に入力させることはできな
い。
Here, the time required for the sound source processing is as follows.
It depends on the software for sound source processing. for that reason,
When the sound source systems are different, the sound source processing ends, and the timing at which the tone data is latched in the latch 401 is not constant. Therefore, as shown in FIG. 4, the output of the latch 401 cannot be directly input to the D / A converter 402.

【0049】そこで、本実施例では図5の如く、ラッチ
401の出力を更にラッチ501でラッチし、インタラ
プト制御部203から出力されるサンプリングクロック
間隔に等しい図6に示されるインタラプト信号により、
楽音信号をラッチ501にラッチさせ、図6のように一
定間隔でD/A変換器402に出力させるようにしてい
る。
Therefore, in this embodiment, as shown in FIG. 5, the output of the latch 401 is further latched by the latch 501, and the interrupt signal shown in FIG.
The tone signal is latched by the latch 501 and is output to the D / A converter 402 at regular intervals as shown in FIG.

【0050】このようにラッチを2つ用いて、音源方式
による処理時間の変化を吸収したので、楽音データをD
/A変換器へ出力させるための複雑なタイミング制御プ
ログラムが不用になった。 <本実施例の全体動作>
As described above, since two latches are used to absorb a change in processing time due to the sound source system, the musical sound data is stored in D
A complicated timing control program for outputting to the / A converter is no longer necessary. <Overall operation of this embodiment>

【0051】次に、本実施例の全体動作を説明する。Next, the overall operation of this embodiment will be described.

【0052】本実施例は、基本的にはMCPU 101が中
心となって動作し、図9のメインフローチャートに示す
ように、S902 〜S910 の一連の処理を繰り返し行って
いる。そして実際の音源処理は割り込み(インタラプ
ト)処理で行っている。具体的には、ある一定時間毎
に、MCPU 101とSCPU 102に割り込みが掛かり、
それに基づいてそれぞれのCPUが最大8チャンネルず
つの音を作る音源処理を行う。この場合、それぞれのC
PUに均等な数の発音チャネルが割り当てられ、これに
よりインタラプト処理に要する時間を短縮させているこ
とが特徴となっている。その処理が終わると、それぞれ
のCPUの最大8チャネル、計最大16チャネル分の楽
音波形が加算され、Left D/A変換器部107、Righ
t D/A変換器部108から出力される。その後、割り
込み状態からメインフローに戻る。なお、上述の割り込
みは、図2のインタラプト制御部203内のハードタイ
マに基づき周期的に行われる。この周期は楽音出力時の
サンプリング周期に等しい。
In this embodiment, basically, the MCPU 101 operates mainly, and as shown in the main flowchart of FIG. 9, a series of processes of S902 to S910 are repeatedly performed. The actual sound source processing is performed by interrupt processing. Specifically, the MCPU 101 and the SCPU 102 are interrupted at certain intervals,
Based on this, each CPU performs sound source processing for generating a maximum of eight channels of sound. In this case, each C
A characteristic feature is that an equal number of tone generation channels are allocated to PUs, thereby shortening the time required for interrupt processing. When the processing is completed, musical tone waveforms for a maximum of 16 channels in total, ie, up to 8 channels of each CPU, are added, and the left D / A converter unit 107 and Righ
t Output from the D / A converter unit 108. Thereafter, the process returns from the interrupt state to the main flow. Note that the above-described interrupt is periodically performed based on a hard timer in the interrupt control unit 203 in FIG. This period is equal to the sampling period at the time of outputting the musical sound.

【0053】以上が、本実施例の概略の全体動作であ
る。次に、本実施例の全体動作の詳細について、図9〜
図11を用いて説明する。
The above is the general overall operation of the present embodiment. Next, details of the overall operation of the present embodiment will be described with reference to FIGS.
This will be described with reference to FIG.

【0054】図9のメインフローチャートのS902 〜S
910 の処理が繰り返し実行されている間に、インタラプ
ト制御部203から割り込みが掛かると、図10のMCP
U インタラプト処理と図11のSCPU インタラプト処理
の2つの処理が同時に起動する。そして、図10と図1
1の「音源処理」は後述する図15に示される。
S902 to S in the main flowchart of FIG.
When an interrupt is received from the interrupt control unit 203 while the process of 910 is repeatedly executed, the MCP of FIG.
The two processes of the U interrupt process and the SCPU interrupt process of FIG. 11 are activated at the same time. 10 and FIG.
No. 1 “sound source processing” is shown in FIG. 15 described later.

【0055】図9のメインフローチャートは、インタラ
プト制御部203から割り込みが掛からない状態におい
てMCPU 101において実行される、音源処理以外の処
理の流れを示している。
The main flowchart of FIG. 9 shows the flow of processing other than the sound source processing, which is executed by the MCPU 101 in a state where no interrupt is issued from the interrupt control unit 203.

【0056】まず、電源がONされ、MCPU 101のR
AM206の内容等の初期設定が行われる(S901 )。
ここでは、本発明に特に関連するRAM206上のME
C、SEC、HSS1 〜HSS8 及びS等の各データ
が、それぞれ、MEC=8、SEC=8、HSS1 〜H
SS8 =0、S=1に初期設定される。
First, the power is turned on, and the R
Initial settings such as the contents of the AM 206 are performed (S901).
Here, the ME on the RAM 206 particularly relevant to the present invention is described.
Data of C, SEC, HSS1 to HSS8 and S are respectively MEC = 8, SEC = 8, HSS1 to H
SS8 = 0 and S = 1 are initialized.

【0057】次に、MCPU 101の外部に接続される機
能キー、例えば図47に示される音色スイッチ等が走査
され(S902 )、各スイッチの状態が入力ポート210
からRAM206内のキーバッファエリアに取り込まれ
る。その走査の結果、状態の変化した機能キーが識別さ
れ、対応する機能の処理がなされる(S903 )。例え
ば、楽音番号のセット、エンベロープ番号のセット、ま
た、付加機能にリズム演奏がついていれば、リズム番号
のセット等が行われる。
Next, a function key connected to the outside of the MCPU 101, for example, a tone switch shown in FIG. 47 is scanned (S902), and the state of each switch is input to the input port 210.
From the key buffer area in the RAM 206. As a result of the scanning, the function key whose state has changed is identified, and the processing of the corresponding function is performed (S903). For example, setting of a musical tone number, setting of an envelope number, and setting of a rhythm number if the additional function has rhythm performance.

【0058】その後、押鍵されている鍵盤キーの状態が
上述の機能キーの場合と同様に取り込まれ(S904 )、
変化した鍵(押鍵又は離鍵された鍵)が識別されること
によりキーアサイン処理が行われる(S905 )。この処
理は、押鍵された鍵に基づいて発音されるべき楽音のデ
ータを発音チャネルに割り当てたり、逆に、離鍵された
鍵に対応する発音チャネルを解放したりする処理であ
る。そして、この部分の処理が本実施例の特徴とする処
理であり、図13及び図14において後述する。なお、
ここで実行される処理の一部であるキーオン時のアサイ
ン処理は、押鍵キーを発音チャネルへ割り当てる処理の
みであり、実際に押鍵キーに基づくピッチデータをアサ
インされた発音チャネルに設定して発音指示を行う動作
は、後述する発音処理(S909 )において実行される。
Thereafter, the state of the keyboard key being depressed is fetched in the same manner as in the case of the above-mentioned function key (S904).
A key assignment process is performed by identifying the changed key (key pressed or released) (S905). In this process, data of a musical tone to be generated based on a depressed key is assigned to a tone generation channel, and conversely, a tone generation channel corresponding to a released key is released. The processing of this part is a characteristic of the present embodiment, and will be described later with reference to FIGS. In addition,
The assignment process at the time of key-on, which is a part of the process executed here, is only a process of assigning a key pressed key to a sounding channel, and actually sets pitch data based on a key pressed key to an assigned sounding channel. The operation of issuing a sounding instruction is executed in a sounding process (S909) described later.

【0059】次に、機能キー701(図7参照)でデモ
演奏キーが押されたときは、外部メモリ部116からデ
モ演奏データ(シーケンサデータ)が順次読み出され、
S905 と同様のキーアサイン処理(後述する図13及び
図14参照)などが行われる(S906 )。また、リズム
スタートキーが押されたときは、リズムデータが外部メ
モリ116から順次読み出され、S905と同様のキーア
サイン処理(後述する図13及び図14参照)などが行
われる(S907 )。
Next, when a demonstration performance key is pressed with the function key 701 (see FIG. 7), demonstration performance data (sequencer data) is sequentially read from the external memory unit 116, and
Key assignment processing similar to that in S905 (see FIGS. 13 and 14 described later) and the like are performed (S906). When the rhythm start key is pressed, the rhythm data is sequentially read from the external memory 116, and a key assignment process similar to S905 (see FIGS. 13 and 14 described later) and the like are performed (S907).

【0060】その後に、以下に述べるタイマー処理が行
われる(S908)。すなわち、後述するインタラプトタ
イマー処理(S1012)でインクリメントされている時間
データの時間値が判別され、デモ演奏制御用に順次読み
出される時間制御用のシーケンサデータ又はリズム演奏
制御用に読み出される時間制御用のリズムデータと比較
されることにより、S906 のデモ演奏又はS907 のリズ
ム演奏を行う場合の時間制御が行われる。
Thereafter, a timer process described below is performed (S908). That is, the time value of the time data that has been incremented is determined in an interrupt timer process (S1012) described later, and the sequencer data for time control that is sequentially read for demonstration performance control or the time control for time control that is read for rhythm performance control are determined. By comparing the rhythm data with the rhythm data, time control for performing the demonstration performance of S906 or the rhythm performance of S907 is performed.

【0061】更に、発音処理S909 では、上記各ステッ
プS905 〜S907 でアサインされ発音開始されるべき発
音チャネルにピッチデータを設定し、また、発音中の発
音チャネルのピッチデータを予め設定されたエンベロー
プに従って時間的に変化させ発音中の楽音のピッチに変
化を付加するというピッチエンベロープ処理等が行われ
る。
Further, in the sound generation process S909, pitch data is set in the sound channel to be assigned and started to sound in each of the above steps S905 to S907, and the pitch data of the sound channel being sounded is set according to the preset envelope. Pitch envelope processing or the like is performed in which the pitch is changed over time to add a change to the pitch of the tone being generated.

【0062】更に、フロー1周準備処理が実行される
(S910 )。ここでは、上述のステップS909 で新たに
ピッチデータが設定された発音チャネルの状態を発音中
に変えたり、逆にステップS905 〜S907 で解放された
発音チャネルの状態を消音中に変える等の処理が行われ
る。なお、各発音チャネルが発音中であるか消音中であ
るかは、RAM206(図2)に記憶される各発音チャ
ネル対応の変数HSS1 〜HSS8 が1か0かによって
判断される。
Further, one round preparation processing of the flow is executed (S910). Here, the process of changing the state of the sound channel to which the pitch data is newly set in step S909 during sound generation, and changing the state of the sound channel released in steps S905 to S907 to mute, etc., are performed. Done. Whether each sounding channel is sounding or mute is determined by whether the variables HSS1 to HSS8 corresponding to each sounding channel stored in the RAM 206 (FIG. 2) are 1 or 0.

【0063】次に、図10のMCPU インタラプト処理に
つき説明する。
Next, the MCPU interrupt processing of FIG. 10 will be described.

【0064】MCPU 101のインタラプト制御部203
によりMCPU 101に割り込みが掛かると、図9のメイ
ンフローチャートの処理が中断され、図10のMCPU イ
ンタラプト処理の実行が開始される。この場合、MCPU
インタラプト処理のプログラムにおいて、図9のメイン
フローのプログラムで書き込みが行われるレジスタ等に
ついては、内容の書き換えが行われないように制御され
る。これにより、通常のインタラプト処理の開始時と終
了時に行われるレジスタの退避と復帰の処理は不要とな
り、図9のメインフローチャートの処理とMCPU インタ
ラプト処理との間の移行が迅速に行われる。
The interrupt control unit 203 of the MCPU 101
Therefore, when the MCPU 101 is interrupted, the processing of the main flowchart of FIG. 9 is interrupted, and the execution of the MCPU interrupt processing of FIG. 10 is started. In this case, MCPU
In the interrupt processing program, a register or the like to which data is written in the main flow program of FIG. 9 is controlled so that the contents are not rewritten. This eliminates the need to save and restore the registers at the start and end of the normal interrupt processing, and the transition between the processing in the main flowchart of FIG. 9 and the MCPU interrupt processing is performed quickly.

【0065】まず、MCPUインタラプト処理においてMC
PU 101のRAM206上に記憶されている変数Sの
内容が+1される(S1010)。この変数Sは、図43の
アルゴリズムに関連して使用される変数であるため、そ
のアルゴリズムの説明において後述する。
First, in the MCPU interrupt processing, MC
The content of the variable S stored on the RAM 206 of the PU 101 is incremented by 1 (S1010). Since this variable S is a variable used in connection with the algorithm of FIG. 43, it will be described later in the description of the algorithm.

【0066】続いて、MCPU インタラプト処理において
音源処理が開始される(S1011)。この音源処理は後述
する図15に示される。
Subsequently, the sound source processing is started in the MCPU interrupt processing (S1011). This sound source processing is shown in FIG. 15 described later.

【0067】上述の動作と同時に、MCPU 101のイン
タラプト制御部203からSCPU 102のROMアドレ
ス制御部305に対してSCPU リセット解除信号A(図
1参照)が出力され、SCPU 102において、図11の
SCPU インタラプト処理の実行が開始される。
At the same time as the above operation, the SCPU reset release signal A (see FIG. 1) is output from the interrupt control unit 203 of the MCPU 101 to the ROM address control unit 305 of the SCPU 102. Execution of the interrupt processing is started.

【0068】そして、MCPU インタラプト処理における
音源処理(S1011)とほぼ同時に、SCPU インタラプト
処理において音源処理が開始される(S1101)。このよ
うに、MCPU 101とSCPU 102の両者が並行して音
源処理を実行することによって、1つのCPUで音源処
理を実行する場合に較べて音源処理の処理速度が約2倍
になる。
At approximately the same time as the sound source processing in the MCPU interrupt processing (S1011), the sound source processing is started in the SCPU interrupt processing (S1101). As described above, when the MCPU 101 and the SCPU 102 execute the sound source processing in parallel, the processing speed of the sound source processing is approximately doubled as compared with the case where the sound source processing is executed by one CPU.

【0069】続いて、MCPU 101では、S1012のイン
タラプトタイマー処理の後、SCPU 102からSCPU イ
ンタラプト処理の終了信号が来るのを待っている(S10
13)。なお、インタラプトタイマー処理では、図10の
インタラプト処理が一定のサンプリング周期毎に実行さ
れることを利用して、RAM206(図2)上の特には
図示しない時間データの値がインクリメントされる。す
なわち、この時間データの値を見れば時間経過がわか
る。このようにして得られる時間データは、前述したよ
うに、図9のメインフローのタイマー処理S908 におけ
る時間制御に用いられる。
Subsequently, the MCPU 101 waits for an end signal of the SCPU interrupt processing from the SCPU 102 after the interrupt timer processing of S1012 (S10).
13). In the interrupt timer process, the value of time data (not shown) on the RAM 206 (FIG. 2) is incremented by utilizing the fact that the interrupt process of FIG. 10 is executed at a constant sampling cycle. That is, the value of the time data indicates the passage of time. The time data thus obtained is used for time control in the timer processing S908 of the main flow of FIG. 9 as described above.

【0070】図11のSCPU インタラプト処理における
ステップS1101の音源処理が終了すると、SCPU 102
のコマンド解析部307からMCPU 101のROMアド
レス制御部205に、SCPU処理終了信号B(図1参
照)が入力する。これにより、図10のMCPU インタラ
プト処理でのステップS1013の判定がYESになる。
When the sound source processing of step S1101 in the SCPU interrupt processing of FIG.
The SCPU processing end signal B (see FIG. 1) is input from the command analysis unit 307 to the ROM address control unit 205 of the MCPU 101. Thus, the determination in step S1013 in the MCPU interrupt processing in FIG. 10 becomes YES.

【0071】この結果、図1のデータバスDinを介して
SCPU 102で作られた波形データがMCPU 101のR
AM206に読み込まれる(S1014)。この場合、波形
データはSCPU 102のRAM306上の所定のバッフ
ァ領域(図21で後述するバッファB)に格納されてい
るため、MCPU 101のコマンド解析部207は、SCP
U 内部アドレス指定バスMaを介して、RAMアドレス
制御部304に対して上記バッファアドレスを指定する
ことにより、波形データの読み込みを行う。
As a result, the waveform data generated by the SCPU 102 via the data bus Din of FIG.
The data is read into the AM 206 (S1014). In this case, since the waveform data is stored in a predetermined buffer area (buffer B described later in FIG. 21) on the RAM 306 of the SCPU 102, the command analysis unit 207 of the MCPU 101
U The waveform data is read by designating the buffer address to the RAM address control unit 304 via the internal address designation bus Ma.

【0072】そして、S1014' において、上記バッファ
領域の内容がLeft D/A変換器部107及びRight D
/A変換器部108のラッチ401(図5参照)にラッ
チされる。
At S1014 ', the contents of the buffer area are stored in the Left D / A converter 107 and Right D / A converter 107.
It is latched by the latch 401 (see FIG. 5) of the / A converter section 108.

【0073】次に、図12は、前述の図9と図10のフ
ローチャートの処理の関係を概念的に示した流れ図であ
り、MCPU 101とSCPU 102が、音源処理をそれぞ
れ分担して行う様子を示している。
Next, FIG. 12 is a flow chart conceptually showing the relationship between the processes of the flowcharts of FIGS. 9 and 10 described above, and shows how the MCPU 101 and the SCPU 102 share the sound source processing respectively. Is shown.

【0074】まず、ある処理A(以下、処理B、C、・
・・、Fも同じ)が実行される(S1201)。この処理
は、図9のメインフローチャートの例えば「機能キー処
理」、や「鍵盤キー処理」などに対応する。その後、M
CPU インタラプト処理とSCPU インタラプト処理に入
り、同時にMCPU 101とSCPU 102による音源処理
が開始される(S1202、S1203)。そして、SCPU 10
2でのSCPU インタラプト処理の終了時に、SCPU 処理
終了信号BがMCPU 101に入力する。MCPU インタラ
プト処理では、SCPU インタラプト処理より早く音源処
理が終了し、SCPU インタラプト処理の終了を待ってい
る。そして、MCPU インタラプト処理においてSCPU 処
理終了信号Bが識別されると、SCPU 102で生成され
た波形データがMCPU 101に送られてMCPU 101で
生成された波形データとまとめられ、Left D/A変換
器部107及びRight D/A変換器部108に出力され
る。その後、メインフローチャートの処理Aの次の処理
Bに戻る。
First, a certain process A (hereinafter, processes B, C,...)
.. And F are the same) (S1201). This processing corresponds to, for example, "function key processing" or "keyboard key processing" in the main flowchart of FIG. Then M
CPU interrupt processing and SCPU interrupt processing are entered, and at the same time, sound source processing by the MCPU 101 and the SCPU 102 is started (S1202, S1203). And SCPU 10
At the end of the SCPU interrupt processing in 2, an SCPU processing end signal B is input to the MCPU 101. In the MCPU interrupt processing, the sound source processing ends earlier than the SCPU interrupt processing, and waits for the end of the SCPU interrupt processing. When the SCPU processing end signal B is identified in the MCPU interrupt processing, the waveform data generated by the SCPU 102 is sent to the MCPU 101 and combined with the waveform data generated by the MCPU 101, and the Left D / A converter The signal is output to the unit 107 and the Right D / A converter unit 108. Then, the process returns to the process B following the process A in the main flowchart.

【0075】以上のような動作が、全ての発音チャネル
(MCPU 101とSCPU 102で実行中の発音チャネ
ル)に対する音源処理が行われながら繰り返される(S
1204〜S1216)。そして、この繰り返し処理は、楽音の
発音中続けられる。 <キーアサイン処理、音源処理の詳細動作>
The above-described operation is repeated while sound source processing is performed for all sounding channels (sounding channels being executed by the MCPU 101 and the SCPU 102) (S
1204 to S1216). This repetition processing is continued while the musical sound is being generated. <Detailed operation of key assignment processing and sound source processing>

【0076】次に、図9のメインフローチャートのステ
ップS905 、S906 とS907 において実行される図1
3、図14のキーアサイン処理と、それに関連して、M
CPU インタラプト処理のステップS1011又はSCPU イン
タラプト処理のステップS1101で実行される図15の音
源処理の動作の詳細につき説明する。これらの処理は、
本発明に特に関連する処理である。
Next, FIG. 1 executed in steps S905, S906 and S907 of the main flowchart of FIG.
3. The key assignment process of FIG.
The operation of the sound source processing of FIG. 15 executed in step S1011 of the CPU interrupt processing or step S1101 of the SCPU interrupt processing will be described in detail. These processes are
This is a process particularly related to the present invention.

【0077】前述したように、MCPU 101とSCPU 1
02は、図10及び図11のインタラプト処理に基づい
て音源処理をそれぞれ最大8発音チャネルずつ並行して
実行することによって、音源処理の処理速度を高速化し
ている。この高速化を徹底するため、本実施例では、音
源処理が実行されるべき発音チャネルがMCPU 101又
はSCPU 102のいずれか一方に片寄らないように両C
PUへの発音チャネルのアサインを均等に行い、また、
各インタラプト処理で実行される音源処理において、ア
サインが行われていない発音チャネルについては音源処
理を実行しないように制御することにより、インタラプ
ト処理時間の短縮化を可能としている。これにより、図
9のメインフローチャートのステップS902 〜S910 の
ループ処理が高速に実行されるようになり、各種キー走
査の処理を高速に行えるようになるため、楽器としての
応答性能を向上させることができる。
As described above, the MCPU 101 and the SCPU 1
In No. 02, the processing speed of the sound source processing is increased by executing the sound source processing in parallel with a maximum of eight sounding channels each based on the interrupt processing of FIGS. 10 and 11. In order to thoroughly increase the speed, in the present embodiment, both C and C channels are set so that the tone generation channel on which the sound source processing is to be performed is not biased toward either the MCPU 101 or the SCPU 102.
Assign sound channels to PUs equally,
In the sound source processing executed in each interrupt processing, control is performed so that sound source processing is not executed for sound channels to which no assignment has been made, thereby making it possible to shorten the interrupt processing time. As a result, the loop processing of steps S902 to S910 in the main flowchart of FIG. 9 is performed at high speed, and various key scanning processes can be performed at high speed, so that the response performance as a musical instrument can be improved. it can.

【0078】まず、図13、図14は、図9のメインフ
ローチャートのステップS905 、S906 及びS907 で実
行されるキーアサイン処理の動作フローチャートであ
る。
First, FIGS. 13 and 14 are operation flowcharts of the key assignment process executed in steps S905, S906 and S907 of the main flowchart of FIG.

【0079】始めに、これから行われるキーアサイン処
理が発音のための処理であるか消音のための処理である
かが判定される(S1301)。これは、キーオンが指示さ
れたかキーオフが指示されたかを判定する処理である。
First, it is determined whether the key assignment process to be performed is a process for sound generation or a process for silencing (S1301). This is a process for determining whether a key-on or a key-off has been instructed.

【0080】発音処理である場合、次に、変数MEC及
びSECの内容が両方とも0であるか否かが判定される
(S1302)。MCPU 101内のRAM206(図2)に
は、図16に示されるように変数MEC及びSECが記
憶されている。そして、変数MECは、MCPU 101で
発音処理が可能な空チャネル数を表し、変数SECは、
SCPU 102で発音処理が可能な空きチャネル数を表
す。ここで、MCPU 101及びSCPU 102が発音処理
可能な最大チャネル数は、ともに8チャネルずつであ
る。そのために、変数MEC及びSECの値は、電源オ
ン直後に実行される図9のメインフローチャートのステ
ップS901 において、ともに最大チャネル数の8に初期
設定される。そして、図13のステップS1302の判別に
より、変数MEC及びSECの内容が両方とも0である
場合は、これ以上発音を行えないので、キーアサインは
行われずにキーアサイン処理をそのまま終了し、図9の
ステップS902 〜S910 が繰り返し実行されて、いずれ
かの発音チャネルが解放されるのを待つ。
In the case of sound generation processing, it is next determined whether or not both the contents of the variables MEC and SEC are 0 (S1302). Variables MEC and SEC are stored in the RAM 206 (FIG. 2) in the MCPU 101 as shown in FIG. The variable MEC indicates the number of empty channels available for sound generation processing by the MCPU 101, and the variable SEC indicates
It indicates the number of free channels available for sound processing in the SCPU 102. Here, the maximum number of channels that can be processed by the MCPU 101 and the SCPU 102 is eight each. For this purpose, the values of the variables MEC and SEC are both initially set to 8 as the maximum number of channels in step S901 of the main flowchart of FIG. 9 executed immediately after the power is turned on. If it is determined in step S1302 in FIG. 13 that the contents of the variables MEC and SEC are both 0, no more sound can be generated, and the key assignment process is terminated without performing key assignment. Steps S902 to S910 are repeatedly executed until any sounding channel is released.

【0081】ステップS1302の判定がNOの場合、変数
MECの値がSECの値以上であるか否かが判定される
(S1303)。この判定がYESなら、MCPU 101の空
チャネル数の方が多いため、MCPU 101の空チャネル
が確保される(S1304)。そして、変数MECの内容が
−1されて(S1305)、キーアサイン処理を終了する。
If the determination in step S1302 is NO, it is determined whether the value of the variable MEC is equal to or greater than the value of SEC (S1303). If this determination is YES, the number of empty channels of the MCPU 101 is larger, so that an empty channel of the MCPU 101 is secured (S1304). Then, the content of the variable MEC is decremented by 1 (S1305), and the key assignment process ends.

【0082】一方、ステップS1303の判定がNOなら、
SCPU 102の空チャネル数の方が多いため、SCPU 1
02の空チャネルが確保される(S1306)。そして、変
数SECの内容が−1されて(S1307)、キーアサイン
処理を終了する。
On the other hand, if the determination in step S1303 is NO,
Since the number of empty channels of the SCPU 102 is larger, the SCPU 1
02 is reserved (S1306). Then, the content of the variable SEC is decremented by 1 (S1307), and the key assignment process ends.

【0083】以上のようにして、MCPU 101及びSCP
U 102での発音チャネルのアサインが均等に行われ
る。
As described above, the MCPU 101 and the SCP
Assignment of sound channels in U 102 is performed equally.

【0084】一方、ステップS1301において、これから
行われるキーアサイン処理が消音のための処理であると
判定された場合、消音すべき楽音がMCPU 101の発音
チャネルにアサインされているか否かが判定される(S
1308)。この情報は、RAM206(図2)に記憶され
ている。
On the other hand, if it is determined in step S1301 that the key assignment process to be performed is a process for silencing, it is determined whether a tone to be silenced is assigned to the tone generation channel of the MCPU 101. (S
1308). This information is stored in the RAM 206 (FIG. 2).

【0085】消音すべき楽音がMCPU 101にアサイン
されておりステップS1308の判定がYESの場合、その
楽音がアサインされているMCPU 101の発音チャネル
がキャンセルされ空チャネルにされる(S1309)。そし
て、変数MECの内容が+1され(S1310)、キーアサ
イン処理を終了する。
If the tone to be muted has been assigned to the MCPU 101 and the determination in step S1308 is YES, the tone generation channel of the MCPU 101 to which the tone is assigned is canceled and made an empty channel (S1309). Then, the content of the variable MEC is incremented by 1 (S1310), and the key assignment process ends.

【0086】逆に、消音すべき楽音がSCPU 102にア
サインされておりステップS1308の判定がNOの場合、
その楽音がアサインされているSCPU 102の発音チャ
ネルがキャンセルされ空チャネルにされる(S1311)。
そして、変数SECの内容が+1されて(S1312)、キ
ーアサイン処理を終了する。
Conversely, if the tone to be muted has been assigned to the SCPU 102 and the determination in step S1308 is NO,
The tone generation channel of the SCPU 102 to which the tone is assigned is canceled and made an empty channel (S1311).
Then, the content of the variable SEC is incremented by 1 (S1312), and the key assignment process ends.

【0087】なお、図49等で後述するように、2つの
発音チャネルに異なる音源方式をアサインして1音分の
楽音波形を生成する場合には、図13及び図14のキー
アサイン処理は、2発音チャネルずつ組で実行され、ス
テップS1305、S1307、S1310及びS1312での変数の変
化は、−2又は+2ずつとなる。同様に、nチャネルで
1音を生成する場合には、−n又は+nずつとなる。
As will be described later with reference to FIG. 49 and the like, when different sound source systems are assigned to two tone generation channels to generate a musical tone waveform for one sound, the key assignment process in FIGS. The process is executed in pairs of two sounding channels, and the change of the variables in steps S1305, S1307, S1310 and S1312 is -2 or +2 each. Similarly, when one sound is generated in n channels, the value is -n or + n each.

【0088】以上のようにしてMCPU 101又はSCPU
102で確保された発音チャネルに対して、実際にキー
オンされたノートナンバーに基づいてピッチデータが設
定される処理は、前述したように図9のメインフローチ
ャートのステップS909 において実行される。
As described above, the MCPU 101 or the SCPU
The process of setting pitch data for the tone generation channel secured at 102 based on the note number actually keyed on is executed in step S909 of the main flowchart of FIG. 9 as described above.

【0089】また、続くステップS910 のフロー1周準
備処理において、上述のキーアサイン処理で確保された
発音チャネルの状態が発音中に変えられ、逆に解放され
た発音チャネルの状態が消音中に変えられる。そのため
に、MCPU 101のRAM206及びSCPU 102のR
AM306には、それぞれ、1番〜8番の各発音チャネ
ルに対応した変数HSS1 〜HSS8 が格納されてお
り、それぞれの値が0か1かによって、対応する各発音
チャネルが消音中か発音中かを表す。これらの変数の値
は、電源オン直後に実行される図9のメインフローチャ
ートのステップS901 において、ともに消音中を示す値
0に初期設定されている。そして、MCPU 101又はS
CPU 102において、上述のキーアサイン処理により発
音チャネルが確保された場合には、その発音チャネルに
対応するRAM206又は306上の変数HSSi (1
≦i≦8)の値が0から1にされ、逆に、発音チャネル
が解放された場合には、1から0にされる。
Further, in the flow one round preparation processing of the subsequent step S910, the state of the sounding channel secured by the above-described key assignment processing is changed during sounding, and conversely, the state of the released sounding channel is changed to mute. Can be Therefore, the RAM 206 of the MCPU 101 and the R of the SCPU 102
The AM 306 stores variables HSS1 to HSS8 respectively corresponding to the first to eighth sounding channels, and determines whether the corresponding sounding channel is mute or sounding according to whether the value is 0 or 1. Represents The values of these variables are initially set to 0, which indicates that the sound is being muted, in step S901 of the main flowchart of FIG. 9 executed immediately after the power is turned on. And MCPU 101 or S
When the CPU 102 secures a sounding channel by the key assignment process described above, the variable HSSi (1) on the RAM 206 or 306 corresponding to the sounding channel is obtained.
≤ i ≤ 8) is changed from 0 to 1, and conversely, from 1 to 0 when the sound channel is released.

【0090】次に、図15は、MCPU インタラプト処理
のステップS1011又はSCPU インタラプト処理のステッ
プS1101で実行される音源処理の共通の動作フローチャ
ートである。
Next, FIG. 15 is a common operation flowchart of the sound source processing executed in step S1011 of the MCPU interrupt processing or step S1101 of the SCPU interrupt processing.

【0091】まず、RAM206又はRAM306の波
形データ加算用の領域(図21等で後述する)がクリア
される(S1501)。
First, an area for adding waveform data (described later in FIG. 21 and the like) in the RAM 206 or 306 is cleared (S1501).

【0092】次に、MCPU 101又はSCPU 102のそ
れぞれにおいて、1番目の発音チャネルにつき、その発
音チャネルに対応するRAM206又は306上の変数
HSS1 の値が0であるか1であるかが判定され(S15
02)、1である場合のみ、その発音チャネルについて音
源処理が行われる(S1503)。
Next, each of the MCPU 101 and the SCPU 102 determines whether the value of the variable HSS1 on the RAM 206 or 306 corresponding to the first sounding channel is 0 or 1 for the first sounding channel ( S15
02) Only when the value is 1, sound source processing is performed for the sounding channel (S1503).

【0093】以下、ステップS1504とS1505、S1506と
S1507、S1508とS1509、S1510とS1511、S1512とS
1513、S1514とS1515及びS1516とS1517において、2
番目から8番目の各発音チャネルについて同様の処理が
行われる。
Hereinafter, steps S1504 and S1505, S1506 and S1507, S1508 and S1509, S1510 and S1511, S1512 and S
1513, S1514 and S1515 and S1516 and S1517, 2
Similar processing is performed for each of the eighth to eighth sounding channels.

【0094】そして、最後に8チャネル目の音源処理が
終了した時点で、所定のバッファ領域B(図21で後述
する)に8チャネル分が加算された波形データが得られ
る。これらの詳細な処理については後述する。 以上の
動作からわかるように、各インタラプト処理で実行され
る音源処理においては、アサインが行われていない消音
中の発音チャネルについては音源処理が実行されないた
め、前述の図13、図14の均等なキーアサイン処理と
合せて実行されることにより、インタラプト処理時間の
短縮化が実現される。 <音源処理におけるデータ構成>
When the sound source processing of the eighth channel is completed, waveform data obtained by adding eight channels to a predetermined buffer area B (described later with reference to FIG. 21) is obtained. Details of these processes will be described later. As can be seen from the above operation, in the sound source processing executed in each interrupt processing, the sound source processing is not executed for the sound-generating channel that is not assigned and is in the mute state. The execution in conjunction with the key assignment process realizes a reduction in the interrupt processing time. <Data structure in sound source processing>

【0095】次に、図10のS1011及び図11のS1101
で実行される音源処理の具体例について説明する。
Next, S1011 of FIG. 10 and S1101 of FIG.
A description will be given of a specific example of the sound source processing executed by the above.

【0096】本実施例では、MCPU 101とSCPU 10
2の両CPUが、最大8チャネルづつの音源処理を分担
することは前述した。この最大8チャネル分の音源処理
用のデータは、図17に示すように、MCPU 101、S
CPU 102のRAM206、306内の発音チャネル別
の領域に設定される。
In this embodiment, the MCPU 101 and the SCPU 10
As described above, the two CPUs 2 share the sound source processing for each of up to eight channels. As shown in FIG. 17, the MCPU 101, SCPU
It is set in an area for each sounding channel in the RAMs 206 and 306 of the CPU 102.

【0097】また、このRAMには、図21に示すよう
に、S、BF、BT、B、Mの各バッフアが確保されて
いる。
Further, as shown in FIG. 21, each buffer of S, BF, BT, B and M is secured in this RAM.

【0098】この場合、図17の各発音チャネル領域に
は、後に詳述するような操作によって、図18に概念的
に示すように、それぞれの音源方式が設定でき、その音
源方式が設定されたら、図19及び図20に示すような
各音源方式のデータフォーマットで、図17の各発音チ
ャネルの各領域にデータが設定される。なお、本実施例
では、後述するように、各発音チャネルに異なる音源方
式を割り当てることが可能である。
In this case, each sound source system can be set in each sound channel region of FIG. 17 by an operation described later in detail, as conceptually shown in FIG. 18, and when the sound source system is set, Data is set in each area of each sounding channel in FIG. 17 in a data format of each sound source system as shown in FIG. 19 and FIG. In this embodiment, as will be described later, it is possible to assign a different sound source system to each sounding channel.

【0099】図19及び図20の各音源方式のデータフ
ォーマットを示すテーブル1において、HSSは前述し
たように各発音チャネルが消音中か発音中かを示す変数
である。Gは音源方式を識別する番号である音源方式No
である。次のAは、音源処理時に波形データが読み出さ
れる場合に指定されるアドレスを表し、AI 、A1 及び
A2 が現在アドレスの整数部で、外部メモリ116(図
1)の波形データが格納されているアドレスに直接対応
する。また、AF は現在アドレスの小数部であり、外部
メモリ116から読み出された波形データの補間に用い
られる。
In Table 1 showing the data format of each sound source system shown in FIGS. 19 and 20, HSS is a variable indicating whether each sound channel is muting or sounding as described above. G is a sound source system number which is a number for identifying the sound source system.
It is. The next A indicates an address designated when waveform data is read during sound source processing. AI, A1 and A2 are integer parts of the current address, and the waveform data of the external memory 116 (FIG. 1) is stored. Corresponds directly to the address. A F is a decimal part of the current address, and is used for interpolation of the waveform data read from the external memory 116.

【0100】次のAE はエンドアドレス、AL はループ
アドレスをそれぞれ表す。また、つぎのPI 、P1 及び
P2 はピッチデータの整数部、PF はピッチデータの小
数部を表す。例を示すと、PI =1、PF =0は原音の
ピッチを、PI =2、PF =0は1オクターブ上のピッ
チを、また、PI =0、PF =0.5は、1オクターブ
下のピッチをそれぞれ表す。
The next AE indicates an end address, and AL indicates a loop address. Further, PI, P1 and P2 represent integer parts of the pitch data, and PF represents a decimal part of the pitch data. For example, PI = 1, PF = 0 is the pitch of the original sound, PI = 2, PF = 0 is the pitch one octave higher, and PI = 0, PF = 0.5 is the pitch of one octave lower. Represents the pitch, respectively.

【0101】次のXP は前回のサンプルデータを、XN
は次回のサンプルデータの格納を表す(後述する)。ま
た、Dは隣接する2つのサンプルデータ間の大きさの差
分値を表し、Eはエンベロープ値である。更に、Oは出
力値で、また、Cは、後述するが、演奏情報によって発
音チャネルに割り当てる音源方式を変更する時に用いる
フラグを表す。
The next XP uses the previous sample data as XN
Represents the storage of the next sample data (described later). Further, D represents a difference value of magnitude between two adjacent sample data, and E is an envelope value. Further, O is an output value, and C represents a flag used when changing a sound source system to be assigned to a sounding channel according to performance information, as described later.

【0102】その他の種々の制御データについては、後
述の各音源方式の説明の際に説明する。
[0102] Other various control data will be described later in the description of each tone generator system.

【0103】このように、図19、図20に示すような
データがMCPU 101、SCPU 102のそれぞれのRA
M206、306に確保され、後述する音源方式が決ま
ると、図17に示す各チャネル毎に図19、図20のフ
ォーマットで、データが設定される。
As described above, the data as shown in FIGS. 19 and 20 is stored in each RA of the MCPU 101 and the SCPU 102.
When the sound source system described later is determined in M206 and M306, data is set in the format of FIGS. 19 and 20 for each channel shown in FIG.

【0104】以下、このようなデータ構成を用いて実行
される各音源方式の音源処理について順次説明する。な
お、これらの音源処理は、MCPU 101又はSCPU 10
2のコマンド解析部207又は307が、制御用ROM
201又は301に格納されている音源処理用のプログ
ラムを解釈・実行することにより実現される。以下、特
に言及しないかぎり、この前提のもとで処理が行われる
とする。
The sound source processing of each sound source system executed using such a data structure will be sequentially described below. Note that these sound source processes are performed by the MCPU 101 or the SCPU 10
The second command analysis unit 207 or 307 is a control ROM
This is realized by interpreting and executing a sound source processing program stored in 201 or 301. Hereinafter, it is assumed that processing is performed on this premise unless otherwise specified.

【0105】まず、図15のフローチャートにおいて、
1チャネル毎の各音源処理(S1502等)に入ると、RA
M206、306の対応する発音チャネルに記憶されて
いる図19、図20に示すデータフォーマット(テーブ
ル1)のデータのうちの音源方式Noが判別され、これに
より以下に説明するどの音源方式の音源処理が実行され
るかが決定される。 <PCM方式による音源処理>
First, in the flowchart of FIG.
Upon entering each sound source processing for each channel (S1502 etc.), RA
The sound source system No. of the data of the data format (Table 1) shown in FIGS. 19 and 20 stored in the corresponding sound generation channels of M206 and 306 is determined, whereby the sound source process of any of the sound source systems described below is determined. Is performed. <Sound source processing by PCM method>

【0106】上記音源方式NoがPCM方式を指示してい
る場合、以下の図22の動作フローチャートで示される
PCM方式による音源処理が実行される。フロー中の各
変数は、MCPU 101又はSCPU 102のRAM20
6、306上の図17のいずれかの発音チャネル領域に
記憶される図19、図20のテーブル1のPCMフォー
マットの各データである。
When the sound source system number indicates the PCM system, the sound source process according to the PCM system shown in the operation flowchart of FIG. 22 is executed. Each variable in the flow is stored in the RAM 20 of the MCPU 101 or the SCPU 102.
6 and 306 stored in any one of the tone generation channel areas in FIG. 17 in the PCM format of Table 1 in FIGS. 19 and 20.

【0107】外部メモリ116(図1)上のPCM波形
データが記憶されているアドレスのうち、現在の処理の
対象とされる波形データが記憶されているアドレスを図
25に示す(AI,AF )とする。
FIG. 25 shows addresses (AI, AF) at which the waveform data to be processed at present is stored among the addresses at which the PCM waveform data is stored in the external memory 116 (FIG. 1). And

【0108】まず、現在のアドレスにピッチデータ(P
I,PF) が加算される(S2201)。このピッチデータ
は、図7の鍵盤キー702等において押鍵操作された鍵
の種類に対応している。
First, the pitch data (P
(I, PF) is added (S2201). The pitch data corresponds to the type of the key pressed by the keyboard key 702 or the like in FIG.

【0109】そして、加算されたアドレスの整数部AI
が変わったか否かが判定される(S2202)。判定がNO
ならば、図25のアドレス(AI +1)及びAI におけ
るそれぞれのサンプルデータXN とXP との差である差
分値Dを用いて、D×AF なる演算処理により、アドレ
スの小数部AF に対応する補間データ値Oが計算される
(S2207)。なお、差分値Dは、今回以前のインタラプ
トタイミングにおける音源処理により求まっている(後
述するS2206参照)。
Then, the integer part AI of the added address
It is determined whether or not has changed (S2202). Judgment is NO
Then, using the difference value D, which is the difference between the respective sample data XN and XP at the address (AI + 1) and AI in FIG. 25, an interpolation process corresponding to the decimal part AF of the address is performed by an arithmetic operation of D.times.AF. The data value O is calculated (S2207). The difference value D has been obtained by the sound source processing at the interrupt timing before this time (see S2206 described later).

【0110】そして、上記補間データ値Oにアドレスの
整数部AI に対応するサンプルデータXP が加算され、
現在のアドレス(AI,AF)に対応する新しいサンプル
データO(図25のXQ に相当する)が得られる(S22
08)。
Then, the sample data XP corresponding to the integer part AI of the address is added to the interpolation data value O,
New sample data O (corresponding to XQ in FIG. 25) corresponding to the current address (AI, AF) is obtained (S22).
08).

【0111】この後、このサンプルデータにエンベロー
プ値Eが乗算され(S2209)、得られたOの内容がMCP
U 101又はSCPU 102のRAM206又は306内
の波形データバッフアB(図21参照)に加算される
(S2210)。
Thereafter, the sample data is multiplied by an envelope value E (S2209), and the contents of the obtained O are stored in the MCP.
It is added to the waveform data buffer B (see FIG. 21) in the RAM 206 or 306 of the U 101 or the SCPU 102 (S2210).

【0112】その後、図9のメインフローに戻り、次の
サンプリング周期でインタラプトが掛かって、図22の
音源処理の動作フローチャートがふたたび実行され、現
在アドレス(AI,AF )にピッチデータ(PI,PF)が
加算される(S2201)。
Thereafter, returning to the main flow of FIG. 9, an interrupt is applied in the next sampling period, and the operation flowchart of the sound source processing of FIG. 22 is executed again, and the pitch data (PI, PF) is stored in the current address (AI, AF). ) Is added (S2201).

【0113】以上の動作がアドレスの整数部AI が変わ
る(S2202)まで繰り返される。
The above operation is repeated until the integer part AI of the address changes (S2202).

【0114】この間、サンプルデータXP 及び差分値D
は更新されず、補間データOのみがアドレスAF に応じ
て更新され、その都度サンプルデータXQ が得られる。
During this time, the sample data XP and the difference value D
Is not updated, only the interpolation data O is updated according to the address AF, and the sample data XQ is obtained each time.

【0115】次に、S2201で現在アドレス(AI,AF )
にピッチデータ(PI,PF )が加算された結果、現在ア
ドレスの整数部AI が変化したら(S2202)、アドレス
AI がエンドアドレスAE に達しているか又は越えてい
るか否かが判定される(S2203)。
Next, in S2201, the current address (AI, AF)
When the integer part AI of the current address changes as a result of adding the pitch data (PI, PF) to the address (S2202), it is determined whether or not the address AI has reached or exceeded the end address AE (S2203). .

【0116】判定がYESならば、次のループ処理が行
われる。すなわち、エンドアドレスAE を越えた分のア
ドレス(AI −AE )がループアドレスAL に加算さ
れ、それにより得られた新しい現在アドレスの整数部A
I からループ再生が開始される(S2204)。エンドアド
レスAE とは、PCM波形データの最後の波形サンプル
データが記憶されている外部メモリ116(図1)上の
アドレスである。また、ループアドレスAL とは、演奏
者が波形の出力を繰り返したい位置のアドレスであり、
上記動作により、PCM方式で周知のループ処理が実現
される。
If the determination is YES, the next loop processing is performed. That is, the address exceeding the end address AE (AI-AE) is added to the loop address AL, and the resulting integer part A of the new current address is obtained.
Loop playback is started from I (S2204). The end address AE is an address on the external memory 116 (FIG. 1) where the last waveform sample data of the PCM waveform data is stored. The loop address AL is the address of the position where the player wants to repeat the output of the waveform.
By the above operation, a well-known loop process is realized by the PCM method.

【0117】S2203の判定がNOならば、上記ステップ
S2204の処理は実行されない。 次に、サンプルデータ
の更新が行われる。ここでは、外部メモリ116(図1
参照)から、新しく更新された現在アドレスAI と1つ
手前のアドレス(AI −1)に対応する各サンプルデー
タが、それぞれXN 及びXP として読み出される(S22
05)。
If the determination in S2203 is NO, the processing in step S2204 is not executed. Next, the sample data is updated. Here, the external memory 116 (FIG. 1)
), The sample data corresponding to the newly updated current address AI and the immediately preceding address (AI-1) are read out as XN and XP, respectively (S22).
05).

【0118】更に、今までの差分値が、更新した上記X
N とXP との差分値Dに更新される(S2206)。
Further, the difference value up to now is the same as the updated X
The difference value D between N and XP is updated (S2206).

【0119】これ以後の動作は前述した通りである。The operation thereafter is as described above.

【0120】以上のようにして、1発音チャネル分のP
CM方式による波形データが生成される。 <DPCM方式による音源処理>
As described above, P for one sounding channel is obtained.
Waveform data according to the CM method is generated. <Sound source processing by DPCM method>

【0121】次に、DPCM方式による音源処理につい
て説明する。
Next, the sound source processing based on the DPCM method will be described.

【0122】まず、図26を用いて、DPCM方式の動
作原理の概略を説明する。
First, an outline of the operation principle of the DPCM method will be described with reference to FIG.

【0123】同図において、外部メモリ116(図1)
のアドレスAI に対応するサンプルデータXP は、アド
レスAI の1つ前の特には図示しないアドレス(AI −
1)に対応するサンプルデータとの差分値から求めた値
である。 外部メモリ116(図1)のアドレスAI に
は、次の差分値Dが書き込まれているので、次のアドレ
スのサンプルデータはXP +Dで求まり、これが新たな
サンプルデータXP としておきかわる。
In the figure, external memory 116 (FIG. 1)
Of the sample data XP corresponding to the address AI of the address (AI-
This is a value obtained from a difference value from the sample data corresponding to 1). Since the next difference value D is written in the address AI of the external memory 116 (FIG. 1), the sample data of the next address is obtained by XP + D, and this is replaced with new sample data XP.

【0124】この場合、現在アドレスを、図26のよう
にAF とすれば、現在アドレスAF に対応するサンプル
データは、XP +D×AFで求まる。
In this case, if the current address is assumed to be AF as shown in FIG. 26, the sample data corresponding to the current address AF is obtained by XP + D × AF.

【0125】このように、DPCM方式では、現在のア
ドレスと、次のアドレスに対応するサンプルデータ間の
差分値Dが外部メモリ116(図1)から読み出され、
現在のサンプルデータに加算されて、次のサンプルデー
タが求められることにより、順次波形データが作成され
る。
As described above, in the DPCM system, the difference value D between the current address and the sample data corresponding to the next address is read from the external memory 116 (FIG. 1).
The waveform data is sequentially created by adding the current sample data to obtain the next sample data.

【0126】このようなDPCM方式を採用すると、隣
接する標本間の差分値が一般に小さい音声や楽音等のよ
うな波形を量子化する場合、通常のPCM方式に比較し
て、はるかに少ないビット数で量子化を行える。
When such a DPCM system is employed, when quantizing a waveform such as a sound or a musical tone in which a difference value between adjacent samples is generally small, the number of bits is much smaller than that of a normal PCM system. Can be used to perform quantization.

【0127】以上のDPCM方式の動作を、図23、図
24の動作フローチャートを用いて説明する。フロー中
の各変数は、MCPU 101のRAM206又はSCPU 1
02のRAM306上の図17のいずれかの発音チャネ
ル領域に記憶される図19のテーブル1のDPCMフォ
ーマットの各データである。
The operation of the DPCM system will be described with reference to the operation flowcharts of FIGS. Each variable in the flow is stored in the RAM 206 of the MCPU 101 or the SCPU 1
19 in the DPCM format of Table 1 in FIG. 19 stored in any one of the tone generation channel areas in FIG.

【0128】外部メモリ116(図1)上のDPCM差
分波形データが記憶されているアドレスのうち、現在の
処理の対象とされるデータが記憶されているアドレス
を、図26に示す(AI,AF )とする。
FIG. 26 shows addresses (AI, AF) of the addresses on the external memory 116 (FIG. 1) where the DPCM difference waveform data are stored, where the data to be processed at present is stored. ).

【0129】まず、現在アドレス(AI,AF )に、ピッ
チデータ(PI,PF )が加算される(S2301)。
First, pitch data (PI, PF) is added to the current address (AI, AF) (S2301).

【0130】そして、加算されたアドレスの整数部AI
が変化したか否かが判定される(S2302)。判定がNO
ならば、図26のアドレスAIにおける差分値Dを用い
て、D×AF なる演算処理により、アドレスの小数部A
F に対応する補間データ値Oが演算される(S2314)。
なお、差分値Dは、今回以前のインタラプトタイミング
における音源処理により求まっている(後述するS2306
とS2310参照)。
Then, the integer part AI of the added address
It is determined whether or not has changed (S2302). Judgment is NO
Then, using the difference value D at the address AI in FIG.
An interpolation data value O corresponding to F is calculated (S2314).
The difference value D is obtained by the sound source processing at the interrupt timing before this time (S2306 described later).
And S2310).

【0131】次に、上記補間データ値Oにアドレスの整
数部AI に対応するサンプルデータXP が加算され、現
在アドレス(AI,AF)に対応する新しいサンプルデー
タO(図26のXQ に対応)が得られる(S2315)。
Next, sample data XP corresponding to the integer part AI of the address is added to the interpolation data value O, and new sample data O (corresponding to XQ in FIG. 26) corresponding to the current address (AI, AF) is obtained. Obtained (S2315).

【0132】この後、このサンプルデータにエンベロー
プ値Eが乗算され(S2316)、得られたOの内容がMCP
U 101のRAM206又はSCPU 102のRAM30
6内の波形データバッフアB(図21参照)に加算され
る(S2317)。
Thereafter, the sample data is multiplied by the envelope value E (S2316), and the contents of the obtained O are stored in the MCP.
RAM 206 of U 101 or RAM 30 of SCPU 102
6 is added to the waveform data buffer B (see FIG. 21) (S2317).

【0133】その後、図9のメインフローに戻り、次の
サンプリング周期でインタラプトが掛かり、図23、図
24の音源処理の動作フローチャートが再び実行され、
現在アドレス(AI,AF )にピッチデータ(PI,PF )
が加算される(S2301)。
Thereafter, returning to the main flow of FIG. 9, an interrupt is applied in the next sampling period, and the operation flowchart of the sound source processing of FIGS. 23 and 24 is executed again.
Pitch data (PI, PF) at current address (AI, AF)
Is added (S2301).

【0134】以上の動作が、アドレスの整数部AI に変
化が生ずるまで繰り返される。 この間、サンプルデー
タXP 及び差分値Dは更新されず、補間データOのみが
アドレスAF に応じて更新されて、その都度新たなサン
プルデータXQ が得られる。
The above operation is repeated until a change occurs in the integer part AI of the address. During this time, the sample data XP and the difference value D are not updated, only the interpolation data O is updated according to the address AF, and new sample data XQ is obtained each time.

【0135】次に、S2301で現在アドレス(AI,AF )
にピッチデータ(PI,PF )が加算された結果、現在ア
ドレスの整数部AI が変化したら(S2302)、アドレス
AI がエンドアドレスAE に達しているか或いは越えて
いるか否かが判定される(S2303)。
Next, in S2301, the current address (AI, AF)
If the integer part AI of the current address changes as a result of adding the pitch data (PI, PF) to the current address (S2302), it is determined whether the address AI has reached or exceeded the end address AE (S2303). .

【0136】判定がNOの場合、以下のS2304〜S2307
のループ処理により、現在アドレスの整数部AI に対応
するサンプルデータが計算される。すなわち、まず、旧
AI という変数(図19のテーブル1のDPCMの欄参
照)には、現在アドレスの整数部AI が変化する前の値
が格納されている。この値の格納は、後述するS2306又
はS2313の処理の繰り返しにより実現される。この旧A
I の値がS2306で順次インクリメントされながら、S23
07で旧AI により指示される外部メモリ116(図1)
上の差分波形データがDとして読み出され、S2305にお
いて順次サンプルデータXP に累算される。そして、旧
AIの値が変化後の現在アドレスの整数部AI に等しく
なった時点で、サンプルデータXP の値は変化後の現在
アドレスの整数部AI に対応する値となる。
If the judgment is NO, the following S2304 to S2307
, The sample data corresponding to the integer part AI of the current address is calculated. That is, first, the value before the change of the integer part AI of the current address is stored in a variable called old AI (see the column of DPCM in Table 1 in FIG. 19). This value is stored by repeating the processing of S2306 or S2313 described later. This old A
While the value of I is successively incremented in S2306,
External memory 116 indicated by old AI at 07 (FIG. 1)
The above difference waveform data is read out as D, and is sequentially accumulated in step S2305 to sample data XP. Then, when the value of the old AI becomes equal to the integer part AI of the changed current address, the value of the sample data XP becomes a value corresponding to the integer part AI of the changed current address.

【0137】このようにして、現在アドレスの整数部A
I に対応するサンプルデータXP が求まると、S2304の
判定がYESとなり、前述の補間値の演算処理(S231
4)に移る。
Thus, the integer part A of the current address
When the sample data XP corresponding to I is obtained, the determination in S2304 is YES, and the above-described interpolation value calculation processing (S231)
Go to 4).

【0138】上述の音源処理が各インタラプトタイミン
グ毎に繰り返され、S2303の判定がYESに変化した
ら、次のループ処理に入る。
The above sound source processing is repeated at each interrupt timing, and if the determination in S2303 changes to YES, the next loop processing is started.

【0139】まず、エンドアドレスAE を越えた分のア
ドレス(AI −AE )がループアドレスAL に加算さ
れ、得られたアドレスが新たな現在アドレスの整数部A
I とされる(S2308)。
First, an address (AI-AE) exceeding the end address AE is added to the loop address AL, and the obtained address is added to the integer part A of the new current address.
I is set (S2308).

【0140】以下、ループアドレスAL からどれだけア
ドレスが進んだかによって、何回か差分値Dを累算する
操作が繰り返されることにより、新たな現在アドレスの
整数部AI に対応するサンプルデータXP が計算され
る。すなわち、まず、初期設定としてサンプルデータX
P が予め設定されているループアドレスAL におけるサ
ンプルデータXPL(図19のテーブル1のDPCMの欄
参照)の値とされ、また、旧AI がループアドレスAL
の値とされる(S2309)。そして、以下のS2310〜S23
13の処理が繰り返される。すなわち、旧AI の値がS23
13で順次インクリメントされながら、S2310で旧AI に
より指示される外部メモリ116(図1)上の差分波形
データがDとして読み出され、S2312において順次サン
プルデータXP に累算される。そして、旧AI の値が新
たな現在アドレスの整数部AI に等しくなった時点で、
サンプルデータXP の値はループ処理後の新たな現在ア
ドレスの整数部AI に対応する値となる。
Hereinafter, the operation of accumulating the difference value D is repeated several times depending on how much the address has advanced from the loop address AL, and the sample data XP corresponding to the integer part AI of the new current address is calculated. Is done. That is, first, as an initial setting, the sample data X
P is the value of the sample data XPL at the preset loop address AL (see the DPCM column in Table 1 of FIG. 19), and the old AI is the loop address AL.
(S2309). Then, the following S2310 to S23
The process of 13 is repeated. That is, the value of the old AI is S23
While being sequentially incremented at 13, the difference waveform data on the external memory 116 (FIG. 1) designated by the old AI is read as D at S2310, and is sequentially accumulated at S2312 to the sample data XP. Then, when the value of the old AI becomes equal to the integer part AI of the new current address,
The value of the sample data XP becomes a value corresponding to the integer part AI of the new current address after the loop processing.

【0141】このようにして、新たな現在アドレスの整
数部AI に対応するサンプルデータXP が求まると、S
2311の判定がYESとなって、前述の補間値の演算処理
(S2314)に移る。
As described above, when the sample data XP corresponding to the new integer part AI of the current address is obtained, S
When the determination at 2311 is YES, the process proceeds to the above-described interpolation value calculation process (S2314).

【0142】以上のようにして、1発音チャネル分のD
PCM方式による波形データが生成される。 <FM変調方式による第1の音源処理>
As described above, D for one sounding channel is obtained.
Waveform data according to the PCM method is generated. <First sound source processing by FM modulation method>

【0143】次に、FM変調方式による第1の音源処理
について説明する。
Next, the first sound source processing by the FM modulation method will be described.

【0144】FM変調方式では、通常、図31のOP1 〜
OP4 で示されるような、オペレータと呼ばれる同一機能
を有するハードウエア又はソフトウエアのモジュールが
用いられ、それらが図31(a) 〜(d) ののアルゴリズム
1〜4として示されるような接続規則で相互に接続され
ることにより、楽音の生成が行われる。本実施例では、
ソフトウエア処理によりFM変調方式を実現するもので
ある。
In the FM modulation system, OP1 to OP1 in FIG.
As shown in OP4, hardware or software modules having the same function called operators are used, and they are connected according to the connection rules shown as algorithms 1 to 4 in FIGS. 31 (a) to 31 (d). By being connected to each other, a musical sound is generated. In this embodiment,
The FM modulation method is realized by software processing.

【0145】次に、図27の動作フローチャートを用い
て、2オペレータで音源処理を行う場合の第1の実施例
の動作を説明する。処理のアルゴリズムは図28で示さ
れる。また、フロー中の各変数は、MCPU 101又はS
CPU 102のRAM206、306上の図17のいずれ
かの発音チャネル領域に記憶される、図20のテーブル
1のFMフォーマットの各データである。
Next, the operation of the first embodiment in the case where the sound source processing is performed by two operators will be described with reference to the operation flowchart of FIG. The processing algorithm is shown in FIG. Each variable in the flow is the MCPU 101 or SCPU
Each of the data in the FM format of Table 1 in FIG. 20 is stored in one of the sound channel areas in FIG. 17 on the RAMs 206 and 306 of the CPU 102.

【0146】最初に、モジュレータであるオペレータ2
(OP2) の処理が行われる。ピッチ処理については、PC
M方式のように補間が行われないので、整数アドレスA
2 のみである。すなわち、外部メモリ116(図1)に
は変調用の波形データが十分に細かい歩進間隔で記憶さ
れているものとする。
First, the operator 2 which is a modulator
The processing of (OP2) is performed. For pitch processing, PC
Since interpolation is not performed unlike the M method, the integer address A
There are only two. That is, it is assumed that the waveform data for modulation is stored in the external memory 116 (FIG. 1) at sufficiently small step intervals.

【0147】まず、現在アドレスA2 にピッチデータP
2 が加算される(S2701)。 次に、このアドレスA2
にフィードバック出力FO2が変調入力として加算され、
新たなアドレスAM2が得られる(S2702)。フィードバ
ック出力FO2は、前回のインタラプトタイミングにおい
て後述するS2705の処理が実行されることにより得られ
ている。
First, the pitch data P is stored in the current address A2.
2 is added (S2701). Next, this address A2
And the feedback output FO2 is added as the modulation input,
A new address AM2 is obtained (S2702). The feedback output FO2 is obtained by executing the process of S2705 described later at the previous interrupt timing.

【0148】更に、アドレスAM2(位相)に対応する正
弦波の値が計算される。実際には、外部メモリ116
(図1)に正弦波データが記憶されており、上記アドレ
スAM2でその正弦波データをテーブル引きすることによ
り得られる(S2703)。
Further, a sine wave value corresponding to the address AM2 (phase) is calculated. In practice, the external memory 116
The sine wave data is stored in FIG. 1 (FIG. 1), and is obtained by looking up the sine wave data at the address AM2 (S2703).

【0149】続いて、上記正弦波データにエンベロープ
値E2 が乗算され出力O2 が得られる(S2704)。
Subsequently, the sine wave data is multiplied by an envelope value E2 to obtain an output O2 (S2704).

【0150】この後、この出力O2 にフィードバック・
レベルFL2が乗算されフィードバック出力FO2が得られ
る(S2705)。この出力FO2は、本実施例の場合、次回
のインタラプトタイミングにおけるオペレータ2(OP2)
への入力とされる。
Thereafter, a feedback signal is output to this output O2.
The level FL2 is multiplied to obtain a feedback output FO2 (S2705). In the case of the present embodiment, the output FO2 is used by the operator 2 (OP2) at the next interrupt timing.
Input to

【0151】また、O2 にモジュレーション・レベルM
L2が乗算されて、モジュレーション出力MO2が得られる
(S2706)。このモジュレーション出力M02は、オペレ
ータ1(OP1) への変調入力になる。
The modulation level M is set to O2.
L2 is multiplied to obtain a modulation output MO2 (S2706). This modulation output M02 becomes a modulation input to the operator 1 (OP1).

【0152】次に、オペレータ1(OP1) の処理に移る。
この処理は、フィードバック出力による変調入力が無い
他は、殆ど上述のオペレータ2の場合と同じである。
Next, the operation shifts to the processing of the operator 1 (OP1).
This processing is almost the same as that of the above-described operator 2 except that there is no modulation input by the feedback output.

【0153】まず、オペレータ1の現在アドレスA1 に
ピッチデータP1 が加算され(S2707)、この値に上述
のモジュレーション出力MO2が加算されて新たなアドレ
スAM1が得られる(S2708)。
First, the pitch data P1 is added to the current address A1 of the operator 1 (S2707), and the above-mentioned modulation output MO2 is added to this value to obtain a new address AM1 (S2708).

【0154】次に、このアドレスAM1(位相)に対応す
る正弦波の値が外部メモリ116(図1)から読み出さ
れ(S2709)、これにエンベロープ値E1 が乗算され楽
音波形出力O1 が得られる(S2710)。
Next, the value of the sine wave corresponding to the address AM1 (phase) is read from the external memory 116 (FIG. 1) (S2709), and is multiplied by the envelope value E1 to obtain a musical sound waveform output O1. (S2710).

【0155】そして、これがRAM206(図2)又は
306(図3)内のバッファB(図21参照)に加算さ
れて(S2711)、1発音チャネル分のFM変調処理を終
了する。 <TM変調方式による第1の音源処理>
This is added to the buffer B (see FIG. 21) in the RAM 206 (FIG. 2) or 306 (FIG. 3) (S2711), and the FM modulation processing for one tone generation channel is completed. <First sound source processing by TM modulation method>

【0156】次に、TM変調方式による第1の音源処理
について説明する。
Next, the first sound source processing by the TM modulation method will be described.

【0157】まず、TM変調方式の原理について説明す
る。
First, the principle of the TM modulation method will be described.

【0158】前述のFM変調方式は、 e=A・sin{ωct+I(t)・sinωmt} なる演算式を基本とする。ここで、ωctは搬送波位相角
(搬送信号)、sin ωmtは変調波位相角(変調信号)、
及びI(t)は変調指数である。
The above-described FM modulation method is based on an arithmetic expression of e = A · sin {ωct + I (t) · sinωmt}. Here, ωct is the carrier wave phase angle (carrier signal), sin ωmt is the modulation wave phase angle (modulation signal),
And I (t) are the modulation indices.

【0159】これに対し、本実施例でTM変調方式と呼
ぶ位相変調方式は、 e =A・fT{ fc(t)+I(t)・sinωmt} なる演算式を基本とする。ここで、fT(t) は三角波関数
であり、各位相角の領域毎に次のような関数で定義され
る(ただし、ωは入力)。
On the other hand, the phase modulation method referred to as the TM modulation method in this embodiment is based on an arithmetic expression of e = A · fT {fc (t) + I (t) · sinωmt}. Here, fT (t) is a triangular wave function, and is defined by the following function for each phase angle region (however, ω is input).

【0160】 fT(ω)=2/π・ω ・・・( 領域:0≦ω≦π/2) fT(ω)=−1+2/π(3π/2−ω) ・・・( 領域:π/2≦ω≦3π/2) fT(ω)=−1+2/π( ω−3π/2) ・・・( 領域:3π/2≦ω≦ 2π) F T (ω) = 2 / π · ω (region: 0 ≦ ω ≦ π / 2) f T (ω) = − 1 + 2 / π (3π / 2−ω) (region : π / 2 ≦ ω ≦ 3π / 2) f T (ω) = − 1 + 2 / π (ω−3π / 2) ・ ・ ・ (Area: 3π / 2 ≦ ω ≦ 2π)

【0161】また、fcは変形サイン波と呼ばれ、各位相
角の領域毎に、異なるサイン波形データの記憶されてい
る外部メモリ116(図1)を、搬送位相角ωct でア
クセスして得られる搬送信号生成関数である。各位相角
の領域毎のfcは、次のように定義される。
Further, fc is called a modified sine wave, and is obtained by accessing the external memory 116 (FIG. 1) in which different sine waveform data is stored for each region of each phase angle with the carrier phase angle ωct. This is a carrier signal generation function. Fc for each phase angle region is defined as follows.

【0162】 fc(t)=(π/2)sinωct ・・・(領域:0≦ωct≦π/2) fc(t)=π−(π/2)sinωct ・・・(領域:π≦ωct≦3π/2) fc(t)=2π+(π/2)sinωct ・・・(領域:3π/2≦ωct≦2π) Fc (t) = (π / 2) sinωct (region: 0 ≦ ωct ≦ π / 2) fc (t) = π− (π / 2) sinωct (region: π ≦ ωct) ≦ 3π / 2) fc (t) = 2π + (π / 2) sinωct (region: 3π / 2 ≦ ωct ≦ 2π)

【0163】TM変調方式では、上述の如き関数fc(t)
で生成される搬送信号に、変調信号sin ωmtを変調指数
I(t)で示される割合で加算して得た加算信号により、前
述の三角波関数が変調される。これにより、変調指数I
(t)の値が0であれば正弦波を生成することができ、I
(t)の値を大きくしてゆけば非常に深く変調された波形
を生成することができる。ここで、変調信号sin ωmtの
代わりに様々な信号を用いることができ、以下に述べる
ように、前回演算時の自分のオペレータ出力を一定のフ
ィードバックレベルでフィードバックさせたり、他のオ
ペレータの出力を入力させたりすることができる。
In the TM modulation method, the function fc (t) as described above is used.
The modulation signal sin ωmt to the carrier signal generated by
The above-described triangular wave function is modulated by an addition signal obtained by addition at a ratio indicated by I (t). This gives the modulation index I
If the value of (t) is 0, a sine wave can be generated, and I
By increasing the value of (t), a very deeply modulated waveform can be generated. Here, various signals can be used in place of the modulation signal sin ωmt, and as described below, the own operator output at the previous calculation is fed back at a constant feedback level, and the output of another operator is input. Or can be.

【0164】このような原理のTM変調方式による音源
処理を、図29の動作フローチャートを用いて説明す
る。この場合も、図27のFM変調方式の場合と同様、
2オペレータで音源処理を行う場合の例であり、処理の
アルゴリズムは図30で示される。また、フロー中の各
変数は、MCPU 101又はSCPU 102のRAM20
6、306上の図17のいずれかの発音チャネル領域に
記憶される、図20のテーブル1のTMフォーマットの
各データである。
The sound source processing based on the TM modulation method based on such a principle will be described with reference to the operation flowchart of FIG. Also in this case, similar to the case of the FM modulation scheme in FIG. 27,
This is an example in which the sound source processing is performed by two operators, and the processing algorithm is shown in FIG. Each variable in the flow is stored in the RAM 20 of the MCPU 101 or the SCPU 102.
The data in the TM format of Table 1 in FIG. 20 stored in any one of the sound channel areas in FIG.

【0165】最初に、モジュレータであるオペレータ2
(OP2) の処理が行われる。ピッチ処理については、PC
M方式のように補間が行われないので、整数アドレスA
2 のみである。
First, the operator 2 which is a modulator
The processing of (OP2) is performed. For pitch processing, PC
Since interpolation is not performed unlike the M method, the integer address A
There are only two.

【0166】まず、現在アドレスA2 にピッチデータP
2 が加算される(S2901)。
First, the pitch data P is stored in the current address A2.
2 is added (S2901).

【0167】次に、変形サイン変換fcにより、上記アド
レスA2 (位相)に対応する変形サイン波が外部メモリ
116(図1)から読み出され、搬送信号がO2 として
生成される(S2902)。
Next, the modified sine wave corresponding to the address A2 (phase) is read from the external memory 116 (FIG. 1) by the modified sine transform fc, and the carrier signal is generated as O2 (S2902).

【0168】続いて、搬送信号である上述のO2 に、変
調信号としてフィードバック出力FO2(S2906)が加算
され、新たなアドレスが得られてO2 とされる(S290
3)。フィードバック出力FO2は、前回のインタラプト
タイミングにおいて後述するS2906の処理が実行される
ことにより得られている。
Subsequently, the feedback output FO2 (S2906) is added as a modulation signal to the above-mentioned O2 which is a carrier signal, and a new address is obtained and made O2 (S290).
3). The feedback output FO2 is obtained by executing the process of S2906 described later at the previous interrupt timing.

【0169】そして、上述の加算アドレスO2 に対応す
る三角波の値が計算される。実際には、外部メモリ11
6(図1)に前述した三角波データが記憶されており、
上記アドレスO2 でその三角波データをテーブル引きす
ることにより得られる(S2904)。
Then, the value of the triangular wave corresponding to the above-mentioned addition address O2 is calculated. Actually, the external memory 11
6 (FIG. 1) stores the above-described triangular wave data,
The triangular wave data is obtained by table lookup at the address O2 (S2904).

【0170】続いて、上記三角波データにエンベロープ
値E2 が乗算され出力O2 が得られる(S2905)。
Subsequently, the triangular wave data is multiplied by an envelope value E2 to obtain an output O2 (S2905).

【0171】この後、この出力O2 にフィードバック・
レベルFL2が乗算されフィードバック出力FO2が得られ
る(S2907)。この出力FO2は、本実施例の場合、次回
のインタラプトタイミングにおけるオペレータ2(OP2)
への入力とされる。
Thereafter, a feedback signal is output to this output O2.
The level FL2 is multiplied to obtain a feedback output FO2 (S2907). In the case of the present embodiment, the output FO2 is used by the operator 2 (OP2) at the next interrupt timing.
Input to

【0172】また、O2 にモジュレーション・レベルM
L2が乗算されて、モジュレーション出力MO2が得られる
(S2907)。このモジュレーション出力M02は、オペレ
ータ1(OP1) への変調入力になる。
The modulation level M is set to O2.
L2 is multiplied to obtain a modulation output MO2 (S2907). This modulation output M02 becomes a modulation input to the operator 1 (OP1).

【0173】次に、オペレータ1(OP1) の処理に移る。
この処理は、フィードバック出力による変調入力が無い
他は、殆ど上述のオペレータ2の場合と同じである。
Next, the processing shifts to the processing of the operator 1 (OP1).
This processing is almost the same as that of the above-described operator 2 except that there is no modulation input by the feedback output.

【0174】まず、オペレータ1の現在アドレスA1 に
ピッチデータP1 が加算され(S2908)、得られた値に
対して前述の変形サイン変換が行われて搬送信号がO1
として得られる(S2909)。
First, the pitch data P1 is added to the current address A1 of the operator 1 (S2908), and the obtained value is subjected to the above-mentioned modified sine transform to change the carrier signal to O1.
(S2909).

【0175】次に、このO1 に上述のモジュレーション
出力MO2が加算されて新たなO1 とされ(S2910)、こ
の値O1 が三角波変換され(S2911)、更にエンベロー
プ値E1 が乗算されて楽音波形出力O1 が得られる(S
2912)。
Next, the above-mentioned modulation output MO2 is added to this O1 to obtain a new O1 (S2910). This value O1 is converted into a triangular wave (S2911) and further multiplied by an envelope value E1 to obtain a musical sound waveform output O1. Is obtained (S
2912).

【0176】これがRAM206(図2)又は306
(図3)内のバッファB(図21参照)に加算され(S
2913)、1発音チャネル分のTM変調処理を終了する。
This is the RAM 206 (FIG. 2) or 306
It is added to the buffer B (see FIG. 21) in FIG.
2913) The TM modulation processing for one sounding channel is ended.

【0177】以上、PCM、DPCM、FM、TMとい
う4つの方式による音源処理を説明した。この中でFM
とTMの2方式は変調方式であり、上述の例ではいずれ
も、図28、図30に示すアルゴリズムに基づく2オペ
レータによる処理であるが、実際に演奏時の音源処理
は、オペレータの数がもっと多く、アルゴリズムはより
複雑である。その例が図31に示されている。同図のア
ルゴリズム1では、フィードバック入力も含めて4重の
変調が行われ、複雑な波形が得られる。またアルゴリズ
ム2では、フィードバック入力を有する2組のアルゴリ
ズムが並列しており、例えばアタックからサステインに
移行する際の音色変化を表現するのに適している。また
アルゴリズム4は、サイン波合成法に近い特徴を有す
る。
The sound source processing by the four methods of PCM, DPCM, FM, and TM has been described above. FM in this
And TM are modulation methods. In the above-described examples, the processing is performed by two operators based on the algorithms shown in FIGS. 28 and 30. Many are more complex algorithms. An example is shown in FIG. In the algorithm 1 shown in the figure, quadruple modulation including feedback input is performed, and a complicated waveform is obtained. In Algorithm 2, two sets of algorithms having a feedback input are arranged in parallel, and are suitable for expressing, for example, a timbre change when shifting from attack to sustain. Algorithm 4 has characteristics similar to the sine wave synthesis method.

【0178】図31の4オペレータによるFM方式とT
M方式の通常考えられる音源処理の例を、図32、図3
3及び図34、図35を用いて順次説明する。 <FM変調方式による第2の音源処理>
The FM system and T by four operators in FIG.
FIGS. 32 and 3 show examples of normally considered sound source processing of the M system.
3 and FIG. 34 and FIG. <Second sound source processing by FM modulation method>

【0179】図32、図33は、図31(a) のアルゴリ
ズム1に対応するFM変調方式に基づく通常考えられる
音源処理の動作フローチャートである。フロー中の各変
数は、MCPU 101又はSCPU 102のRAM206、
306上のいずれかの発音チャネル領域(図17)に記
憶される。なお、図20のテーブル1のFMフォーマッ
トの各データには対応していないが、そのデータフォー
マットを拡張すれば容易に実現できることは明らかであ
る。
FIGS. 32 and 33 are operation flowcharts of sound source processing that can be normally considered based on the FM modulation method corresponding to the algorithm 1 of FIG. 31 (a). Each variable in the flow is stored in the RAM 206 of the MCPU 101 or the SCPU 102,
306 is stored in any of the sound channel areas (FIG. 17). Although the data does not correspond to each data of the FM format in the table 1 of FIG. 20, it is obvious that the data format can be easily realized by extending the data format.

【0180】始めに、オペレータ4(OP4) の現在アドレ
スA4 にピッチデータP4 が加算される(S3201)。次
に、このアドレスA4 にフィードバック出力FO4(S32
05)が変調入力として加算され、新たなアドレスAM4が
得られる(S3202)。更に、アドレスAM4(位相)に対
応する正弦波の値が、外部メモリ116(図1参照)か
ら読み出され(S3203)、これにエンベロープ値E4 が
乗算されて出力O4 が得られる(S3204)。この後、上
記出力O4 にフィードバック・レベルFL4が乗算されフ
ィードバック出力FO4が得られる(S3205)。また、出
力O4 にモジュレーション・レベルML4が乗算されてモ
ジュレーション出力MO4が得られる(S3206)。このモ
ジュレーション出力MO4は、次のオペレータ3(OP3) へ
の変調入力になる。
First, the pitch data P4 is added to the current address A4 of the operator 4 (OP4) (S3201). Next, the feedback output FO4 (S32
05) is added as a modulation input, and a new address AM4 is obtained (S3202). Further, the value of the sine wave corresponding to the address AM4 (phase) is read from the external memory 116 (see FIG. 1) (S3203), and is multiplied by the envelope value E4 to obtain the output O4 (S3204). Thereafter, the output O4 is multiplied by the feedback level FL4 to obtain a feedback output FO4 (S3205). The output O4 is multiplied by the modulation level ML4 to obtain a modulation output MO4 (S3206). This modulation output MO4 becomes a modulation input to the next operator 3 (OP3).

【0181】次に、オペレータ3(OP3) の処理に移る。
この処理は、フィードバック出力による変調入力が無い
他は、殆ど上述のオペレータ4の場合と同じである。ま
ず、オペレータ3(OP3) の現在アドレスA3にピッチデ
ータP3 が加算される(S3207)。次に、アドレスA3
にモジュレーション出力MO4が変調入力として加算さ
れ、新たなアドレスAM3が得られる(S3208)。更にこ
のアドレスAM3(位相)に対応する正弦波の値が、外部
メモリ116(図1)から読み出され(S3209)、これ
にエンベロープ値E3 が乗算されて出力O3 が得られる
(S3210)。この後、この出力O3 にモジュレーション
・レベルML3が乗算されてモジュレーション出力O3が得
られる(S3211)。このモジュレーション出力MO3は、
次のオペレータ2(OP2) への変調入力になる。
Next, the processing shifts to the processing of the operator 3 (OP3).
This processing is almost the same as that of the above-described operator 4 except that there is no modulation input by the feedback output. First, the pitch data P3 is added to the current address A3 of the operator 3 (OP3) (S3207). Next, address A3
Is added as a modulation input to obtain a new address AM3 (S3208). Further, the value of the sine wave corresponding to the address AM3 (phase) is read from the external memory 116 (FIG. 1) (S3209), and is multiplied by the envelope value E3 to obtain the output O3 (S3210). Thereafter, the output O3 is multiplied by the modulation level ML3 to obtain a modulation output O3 (S3211). This modulation output MO3 is
Modulation input to the next operator 2 (OP2).

【0182】次に、オペレータ2(OP2) の処理が実行さ
れるが、この処理は変調入力が異なるのみで上述のオペ
レータ3の場合と同じであるので、説明を省略する。
Next, the processing of the operator 2 (OP2) is executed. This processing is the same as that of the above-described operator 3 except that the modulation input is different, so that the description is omitted.

【0183】最後に、オペレータ1(OP1) の処理に入る
が、これもステップS3220までは、これまでと同様な処
理が行われる。そして、S3220で得られた楽音波形出力
O1 は、キャリアとしてバッファB(図21参照)に累
算される(S3221)。 〈TM変調方式による第2の音源処理〉
Finally, the process of the operator 1 (OP1) is started, and the same process as before is performed up to step S3220. Then, the tone waveform output O1 obtained in S3220 is accumulated in the buffer B (see FIG. 21) as a carrier (S3221). <Second sound source processing by TM modulation method>

【0184】図34、図35は、図31のアルゴリズム
1に対応するTM変調方式に基づく通常考えられる音源
処理の動作フローチャートである。フロー中の各変数
は、MCPU 101又はSCPU 102のRAM206、3
06上の図17のいずれかの発音チャネル領域に記憶さ
れる。なお、図20のテーブル1のTMフォーマットの
各データには対応していないが、図20のデータフォー
マットを拡張すれば容易に実現できることは明らかであ
る。
FIG. 34 and FIG. 35 are operation flow charts of the sound source processing which can be normally considered based on the TM modulation method corresponding to the algorithm 1 of FIG. The variables in the flow are stored in the RAMs 206 and 3 of the MCPU 101 or the SCPU 102.
06 is stored in any of the sound channel areas of FIG. Although it does not correspond to each data of the TM format of the table 1 of FIG. 20, it is obvious that it can be easily realized by extending the data format of FIG.

【0185】まず、オペレータ4(OP4) の現在アドレス
A4 にピッチデータP4 が加算される(S3401)。次
に、変形サイン変換fcによって、上述のアドレスA4
(位相)に対応する変形サイン波が外部メモリ116
(図1)から読み出され、搬送信号がO4 として生成さ
れる(S3402)。そして、出力O4 に変調信号としてフ
ィードバック出力FO4(S3407参照)が加算され、新た
なアドレスO4 が得られる(S3403) 。次に、このアド
レスO4 (位相)に対応する三角波の値が、外部メモリ
116(図1)から読み出され(S3404)、これにエン
ベロープ値E4 が乗算されて出力O4 が得られる(S34
05)。この後、この出力O4 にモジュレーション・レベ
ルML4が乗算されてモジュレーション出力MO4が得られ
(S3406)、また、出力O4 にフィードバック・レベル
FL4が乗算されてフィードバック出力FO4が得られる
(S3407)。上記モジュレーション出力MO4は次のオペ
レータ3(OP3) への変調入力になる。
First, the pitch data P4 is added to the current address A4 of the operator 4 (OP4) (S3401). Next, by the modified signature conversion fc, the above address A4
The modified sine wave corresponding to (phase) is stored in the external memory 116.
(FIG. 1) and a carrier signal is generated as O4 (S3402). Then, the feedback output FO4 (see S3407) is added to the output O4 as a modulation signal, and a new address O4 is obtained (S3403). Next, the value of the triangular wave corresponding to the address O4 (phase) is read from the external memory 116 (FIG. 1) (S3404), and is multiplied by the envelope value E4 to obtain the output O4 (S34).
05). Thereafter, the output O4 is multiplied by the modulation level ML4 to obtain a modulation output MO4 (S3406), and the output O4 is multiplied by the feedback level FL4 to obtain a feedback output FO4 (S3407). The modulation output MO4 serves as a modulation input to the next operator 3 (OP3).

【0186】次に、オペレータ3(OP3) の処理に入る。
この処理は、フィードバック出力による変調入力が無い
他は、殆ど上述のオペレータ4の場合と同じである。ま
ず、オペレータ3の現在アドレスA3 にピッチデータP
3 が加算され(S3408)、得られた値に対して変形サイ
ン変換が行われて搬送信号がO3 として得られる(S34
09)。次に、このO3 に上述のモジュレーション出力M
O4が加算されて新たなO3 とされ(S3410)、この値O
3 が三角波変換され(S3411)、更にエンベロープ値E
3 が乗算されて出力O3 が得られる(S3412)。更に、
これにモジュレーション・レベルML3が乗算されてモジ
ュレーション出力MO3が得られる(S3413)。このモジ
ュレーション出力MO3は、次のオペレータ2(OP2) への
変調入力になる。
Next, the processing of the operator 3 (OP3) is started.
This processing is almost the same as that of the above-described operator 4 except that there is no modulation input by the feedback output. First, the pitch data P is stored in the current address A3 of the operator 3.
3 is added (S3408), and the resulting value is subjected to a modified sine transform to obtain a carrier signal as O3 (S34).
09). Next, the above-mentioned modulation output M is applied to O3.
O4 is added to obtain a new O3 (S3410), and this value O
3 is converted into a triangular wave (S3411), and the envelope value E is further converted.
The output O3 is obtained by multiplying by 3 (S3412). Furthermore,
This is multiplied by the modulation level ML3 to obtain a modulation output MO3 (S3413). This modulation output MO3 becomes a modulation input to the next operator 2 (OP2).

【0187】次に、オペレータ2(OP2) の処理が実行さ
れるが、この処理は変調入力が異なるのみで上述のオペ
レータ3の場合と同じであるので、説明を省略する。
Next, the processing of the operator 2 (OP2) is executed. This processing is the same as that of the above-described operator 3 except that the modulation input is different, so that the description is omitted.

【0188】最後に、オペレータ1(OP1) の処理に入る
が、これもステップS3424までは、これまでと同様な処
理が行われる。そして、S3424で得られた楽音波形出力
O1 は、キャリアとしてバッファB(図21参照)に累
算される(S3425)。
Finally, the process of the operator 1 (OP1) is started, and the same process as before is performed up to step S3424. The tone waveform output O1 obtained in S3424 is accumulated as a carrier in the buffer B (see FIG. 21) (S3425).

【0189】以上、変調方式による通常の音源処理の実
施例を説明したが、この処理は、前述したように1発音
チャネル分の処理で、実際にはMCPU 101とSCPU 1
02の各1CPU当たり、8発音チャネル分処理される
(図15参照)。そして、ある発音チャネルに変調方式
が指定されていれば、上述の変調方式による音源処理が
働く。 <変調方式の第1の改良例>
The embodiment of the ordinary sound source processing by the modulation method has been described above. However, this processing is processing for one sounding channel as described above, and is actually the processing of the MCPU 101 and the SCPU 1.
For each CPU 02, eight sounding channels are processed (see FIG. 15). If the modulation method is specified for a certain sound channel, the sound source processing by the above-described modulation method operates. <First Modification Example of Modulation System>

【0190】次に、変調方式による音源処理の第1の改
良例を説明する。
Next, a first improved example of the sound source processing by the modulation method will be described.

【0191】その基本概念は、図36のフローチャート
に示されている。
The basic concept is shown in the flowchart of FIG.

【0192】同図において、オペレータ1、2、3、4
処理は、用いられる変数名が異なるだけでプログラム構
造は同じである
In the figure, operators 1, 2, 3, 4
The processing is the same, except that the variable names used are the same.

【0193】ここで、各オペレータ処理は、変調入力を
決めなければ、オペレータ処理を行うことはできない。
というのは、図31に示されるようにアルゴリズムによ
って各オペレータ処理への変調入力が異なるからであ
る。つまり、どのオペレータ処理の出力を変調入力とす
るのか、あるいは他のオペレータ処理でなく自分のオペ
レータ処理の出力をフィードバックして、自分の変調入
力とするのかを決める必要がある。そこで、図36の動
作フローでは、このような接続関係がアルゴリズム処理
(S3605)としてまとめて行われ、これにより得られる
接続関係が次のインタラプトタイミングにおける各オペ
レータ処理(S3602〜S3604)における変調入力を決定
するように動作する。なお、発音開始時の(すなわち一
番始めの)各オペレータ処理への入力としては、或る初
期値が与えられる。
Here, in each operator process, the operator process cannot be performed unless the modulation input is determined.
This is because the modulation input to each operator process differs depending on the algorithm as shown in FIG. In other words, it is necessary to determine which output of the operator process is to be used as the modulation input, or whether to output the own modulation process by feeding back the output of the own operator process instead of the other operator processes. Therefore, in the operation flow of FIG. 36, such a connection relationship is collectively performed as an algorithm process (S3605), and the connection relationship obtained by this process is used for the modulation input in each operator process (S3602 to S3604) at the next interrupt timing. Act to determine. It should be noted that an initial value is given as an input to each operator process at the start of sound generation (that is, at the beginning).

【0194】このように、オペレータ処理とアルゴリズ
ム処理を分離すれば、いかなるアルゴリズムの場合で
も、オペレータ処理のプログラムは同一でよく、アルゴ
リズム処理のみ変更すればよい。従って、変調方式によ
る音源処理全体のプログラム容量を大幅に減少させるこ
とが可能となる。
As described above, if the operator processing and the algorithm processing are separated, the program of the operator processing may be the same for any algorithm, and only the algorithm processing may be changed. Therefore, it is possible to greatly reduce the program capacity of the entire sound source processing by the modulation method.

【0195】次に、上述の基本概念に基づくFM変調方
式の改良例について説明する。図36のオペレータ処理
のFM変調方式による動作フローチャートを、オペレー
タ1処理を例にとって図37に示し、1オペレータあた
りの演算アルゴリズムを図38に示す。他のオペレータ
2〜4処理も変数の添字番号が異なるだけで全く同様で
ある。なお、フロー中の各変数は、MCPU 101又はS
CPU 102のRAM206、306上の図17のいずれ
かの発音チャネルに記憶される。
Next, an improved example of the FM modulation system based on the above basic concept will be described. FIG. 37 shows an operation flowchart of the operator process in FIG. 36 according to the FM modulation method, taking the operator 1 process as an example, and FIG. 38 shows an arithmetic algorithm per operator. The other operators 2 to 4 are completely the same except that the subscript numbers of the variables are different. Each variable in the flow is the MCPU 101 or SCPU
It is stored in any of the sound channels in FIG. 17 on the RAMs 206 and 306 of the CPU 102.

【0196】図37において、まず、位相角に対応する
アドレスA1 にピッチデータP1 が加算され、新たなア
ドレスA1 とされる(S3701)。
In FIG. 37, first, pitch data P1 is added to the address A1 corresponding to the phase angle, and a new address A1 is obtained (S3701).

【0197】次に、このアドレスA1 に変調入力MI1が
加算され、アドレスAM1が得られる(S3702)。変調入
力MI1は、前回のインタラプトタイミングでのアルゴリ
ズム処理S3605(図36)によって決定され、アルゴリ
ズムによって、そのオペレータ自身のフィードバック出
力FO1であったり、あるいは他のオペレータ、例えばオ
ペレータ2の出力MO2であったりする。
Next, the modulation input MI1 is added to the address A1, and an address AM1 is obtained (S3702). The modulation input MI1 is determined by the algorithm processing S3605 (FIG. 36) at the previous interrupt timing, and depending on the algorithm, is the feedback output FO1 of the operator itself, or the output MO2 of another operator, for example, the operator 2 I do.

【0198】次に、このアドレス(位相)AM1に対応す
る正弦波の値が外部メモリ116(図1)から読み出さ
れ、出力O1 が得られる(S3703)。
Next, the value of the sine wave corresponding to the address (phase) AM1 is read from the external memory 116 (FIG. 1), and the output O1 is obtained (S3703).

【0199】その後、これにエンベロープデータE1 が
乗算された値が、オペレータ1の出力O1 になる(S37
04)。
Thereafter, the value obtained by multiplying this by the envelope data E1 becomes the output O1 of the operator 1 (S37).
04).

【0200】また、この出力O1 にフィードバック・レ
ベルFL1が乗算されてフィードバック出力FO1が得られ
(S3705)、出力O1 にモジュレーション・レベルML1
が乗算されて、モジュレーション出力MO1が得られる
(S3706)。
The output O1 is multiplied by the feedback level FL1 to obtain a feedback output FO1 (S3705), and the modulation level ML1 is applied to the output O1.
Is multiplied to obtain a modulation output MO1 (S3706).

【0201】次に、前述の基本概念に基づくTM変調方
式の改良例について説明する。図36のオペレータ処理
のTM変調方式による動作フローチャートを、オペレー
タ1処理を例にとって図39に示し、1オペレータあた
りの演算アルゴリズムを図40に示す。他のオペレータ
2〜4処理も変数の添字番号が異なるだけで全く同様で
ある。なお、フロー中の各変数は、MCPU 101又はS
CPU 102のRAM206、306上の図17のいずれ
かの発音チャネルに記憶される。
Next, an improved example of the TM modulation system based on the above-described basic concept will be described. FIG. 39 shows an operation flowchart of the operator process of FIG. 36 according to the TM modulation method, taking the operator 1 process as an example, and FIG. 40 shows an arithmetic algorithm per operator. The other operators 2 to 4 are completely the same except that the subscript numbers of the variables are different. Each variable in the flow is the MCPU 101 or SCPU
It is stored in any of the sound channels in FIG. 17 on the RAMs 206 and 306 of the CPU 102.

【0202】図39において、まず、現在アドレスA1
にピッチデータP1 が加算される(S3901)。
In FIG. 39, first, the current address A1
Is added to the pitch data P1 (S3901).

【0203】次に、変形サイン変換fcによって、上述の
アドレスA1 (位相)に対応する変形サイン波が外部メ
モリ116(図1)から読み出され、搬送信号がO1 と
して生成される(S3902)。
Next, the modified sine wave corresponding to the address A1 (phase) is read from the external memory 116 (FIG. 1) by the modified sine transform fc, and the carrier signal is generated as O1 (S3902).

【0204】そして、出力O1 に変調信号として変調入
力MI1が加算され、新たなアドレスO1 が得られる(S
3903)。
Then, the modulation input MI1 is added as a modulation signal to the output O1 to obtain a new address O1 (S1).
3903).

【0205】次に、このアドレスO1 (位相)に対応す
る三角波の値が、外部メモリ116から読み出され(S
3904)、これにエンベロープ値E1 が乗算され出力O1
とされる(S3905)。
Next, the value of the triangular wave corresponding to the address O1 (phase) is read from the external memory 116 (S
3904), which is multiplied by the envelope value E1 and the output O1
(S3905).

【0206】この後、この出力O1 にフィードバック・
レベルFL1が乗算されてフィードバック出力FO1が得ら
れ(S3906)、また、出力O1 にモジュレーション・レ
ベルML1が乗算されてモジュレーション出力MO1が得ら
れる(S3907)。
Thereafter, a feedback signal is output to this output O1.
The level FL1 is multiplied to obtain a feedback output FO1 (S3906), and the output O1 is multiplied by the modulation level ML1 to obtain a modulation output MO1 (S3907).

【0207】次に、上述のFM方式とTM方式の両変調
方式でのオペレータ処理における変調入力を決定するた
めの図36のアルゴリズム処理S3605の具体例を図41
及び図42の動作フローチャートで説明する。同図のフ
ローは、FM方式とTM方式共通であり、図31のアル
ゴリズムの1〜4を切り替えて処理する例である。この
場合のアルゴリズム1〜4の選択枝は、演奏者による特
には図示しない指示に基づいて選択される(S4100)。
Next, a specific example of the algorithm processing S3605 in FIG. 36 for determining the modulation input in the operator processing in the above-described FM and TM modulation schemes is shown in FIG.
And the operation flowchart of FIG. The flow of FIG. 13 is common to the FM system and the TM system, and is an example in which processing is performed by switching the algorithms 1 to 4 in FIG. In this case, the selections of the algorithms 1 to 4 are selected based on an instruction (not shown) by the player (S4100).

【0208】まず、アルゴリズム1は、図31(a) のよ
うに4オペレータ(OPと略称する)直列型で、OP4 のみ
フィードバック入力を有する。すなわち、OP4 のフィー
ドバック出力FO4がOP4 の変調入力MI4とされ(S410
1)、OP4のモジュレーション出力MO4がOP3 の変調入
力MI3とされ(S4102)、OP3 のモジュレーション出力
MO3がOP2 の変調入力MI2とされ(S4103)、OP2 のモ
ジュレーション出力MO2がOP1 の変調入力MI1とされ
(S4104)、OP1 の出力O1 がキャリア出力としてバッ
ファB(図21参照)に加算される(S4105)、という
アルゴリズムである。
First, Algorithm 1 is a 4-operator (abbreviated as OP) serial type as shown in FIG. 31A, and only OP4 has a feedback input. That is, the feedback output FO4 of OP4 is set as the modulation input MI4 of OP4 (S410).
1) The modulation output MO4 of OP4 is set as the modulation input MI3 of OP3 (S4102), the modulation output MO3 of OP3 is set as the modulation input MI2 of OP2 (S4103), and the modulation output MO2 of OP2 is set as the modulation input MI1 of OP1. (S4104) The algorithm is that the output O1 of OP1 is added to the buffer B (see FIG. 21) as a carrier output (S4105).

【0209】アルゴリズム2は、図31(b) のように、
OP2 とOP4 がフィードバック入力を有する。すなわち、
OP4 のフィードバック出力FO4がOP4 の変調入力MI4と
され(S4106)、OP4 のモジュレーション出力MO4がOP
3 の変調入力MI3とされ(S4107)、OP2 のフィードバ
ック出力FO2がOP2 の変調入力MI2とされ(S4108)、
OP2 とOP3 のモジュレーション出力MO2, MO3がOP1 の
変調入力MI1とされ(S4109)、OP1 の出力O1 がキャ
リア出力としてバッファBに加算される(S4110)、と
いうアルゴリズムである。
The algorithm 2 is as shown in FIG.
OP2 and OP4 have feedback inputs. That is,
The feedback output FO4 of OP4 is set as the modulation input MI4 of OP4 (S4106), and the modulation output MO4 of OP4 is set to OP4.
3 (S4107), and the feedback output FO2 of OP2 is set as the modulation input MI2 of OP2 (S4108).
The algorithm is such that the modulation outputs MO2 and MO3 of OP2 and OP3 are used as the modulation input MI1 of OP1 (S4109), and the output O1 of OP1 is added to the buffer B as a carrier output (S4110).

【0210】アルゴリズム3は、OP2 とOP4 がフィード
バック入力を有し、2オペレータ直列型が2つ並列に構
成される。すなわち、OP4 のフィードバック出力FO4が
OP4 の変調入力MI4とされ(S4111)、OP4 のモジュレ
ーション出力MO4がOP3 の変調入力MI3とされ(S411
2)、OP2 のフィードバック出力FO2がOP2 の変調入力
MI2とされ(S4113)、OP2 のモジュレーション出力M
O2がOP1 の変調入力MI1とされ(S4114)、OP1とOP3
の各出力O1 とO3 がキャリア出力としてバッフアBに
加算される(S4115)、というアルゴリズムである。
[0210] In Algorithm 3, OP2 and OP4 have feedback inputs, and two 2-operator serial types are configured in parallel. That is, the feedback output FO4 of OP4 is
The modulation output MI4 of OP4 is set as the modulation input MI4 of OP4 (S4111), and the modulation output MI4 of OP4 is set as the modulation input MI3 of OP3 (S411).
2) The feedback output FO2 of OP2 is used as the modulation input MI2 of OP2 (S4113), and the modulation output M of OP2 is
O2 is set as the modulation input MI1 of OP1 (S4114), and OP1 and OP3
Is added to the buffer B as a carrier output (S4115).

【0211】アルゴリズム4は、4オペレータ並列型
で、全オペレータがフィードバック入力を有する。すな
わち、OP4 のフィードバック出力FO4がOP4 の変調入力
MI4とされ(S4116)、OP3 のフィードバック出力FO3
がOP3 の変調入力MI3とされ(S4117)、OP2 のフィー
ドバック出力FO2がOP2 の変調入力MI2とされ(S411
8)、OP1 のフィードバック出力FO1がOP1 の変調入力
MI1とされ(S4119)、全オペレータの出力O1 、O2
、O3 及びO4がバッファBに加算される(S4120)、
というアルゴリズムである。
Algorithm 4 is a 4-operator parallel type, where all operators have feedback inputs. That is, the feedback output FO4 of OP4 is used as the modulation input MI4 of OP4 (S4116), and the feedback output FO3 of OP3 is output.
Is set as the modulation input MI3 of OP3 (S4117), and the feedback output FO2 of OP2 is set as the modulation input MI2 of OP2 (S411).
8) The feedback output FO1 of OP1 is used as the modulation input MI1 of OP1 (S4119), and the outputs O1 and O2 of all operators
, O3 and O4 are added to the buffer B (S4120),
This is the algorithm.

【0212】以上説明したオペレータ処理と、アルゴリ
ズム処理によって1チャネル分の音源処理が終了し、ア
ルゴリズムの変更が無ければ、このままの状態で発音
(音源処理)が続く。 <変調方式の第2の改良例>
The sound source processing for one channel is completed by the above-described operator processing and algorithm processing, and if there is no change in the algorithm, sound generation (sound source processing) continues as it is. <Second Modified Modulation Example>

【0213】次に、変調方式による音源処理の第2の改
良例について説明する。
Next, a description will be given of a second improved example of the sound source processing by the modulation method.

【0214】ここまで説明してきた種々の変調方式にお
いては、複雑なアルゴリズムを組むほど、また、発音チ
ャネル数(ポリフォニック数)が多いほど処理に時間が
かかる。
In the various modulation methods described above, the more complicated the algorithm is, and the more the number of sounding channels (the number of polyphonics), the longer the processing time.

【0215】そこで、以下に説明する第2の改良例で
は、オペレータ処理とアルゴリズム処理を分離した図3
6の第1の改良例を更に発展させて、あるインタラプト
タイミングではオペレータ処理のみを行い、次のインタ
ラプトタイミングではアルゴリズム処理のみを行うとい
うように、オペレータ処理とアルゴリズム処理を交互に
行う。これにより、1インタラプトタイミングあたりの
処理負荷を大幅に減少させることができる。その結果、
インタラプト2回に1つのサンプルデータが出力され
る。
Therefore, in a second improved example described below, in FIG.
By further developing the first improved example of No. 6, only the operator processing is performed at a certain interrupt timing, and only the algorithm processing is performed at the next interrupt timing, so that the operator processing and the algorithm processing are alternately performed. As a result, the processing load per one interrupt timing can be significantly reduced. as a result,
One sample data is output for every two interrupts.

【0216】この動作について、図43の動作フローチ
ャートを用いて説明する。
This operation will be described with reference to the operation flowchart of FIG.

【0217】まず、オペレータ処理とアルゴリズム処理
を交互に行うため、変数Sを用いてSmod 2("x mod
y" は、値xを値yで除算した剰余を示す演算)がゼロ
か否か、即ち、Sが偶数か否かが判定される(S430
1)。この変数Sは、各発音チャネル共通でMCPU 10
1のRAM206上に1つだけ設けられる(図21)。
First, in order to alternately perform the operator processing and the algorithm processing, Smod 2 (“x mod
It is determined whether y "is an operation indicating a remainder obtained by dividing the value x by the value y, that is, whether S is an even number (S430).
1). This variable S is common to each sounding channel,
Only one is provided on one RAM 206 (FIG. 21).

【0218】あるインタラプトタイミングにおいて、S
mod 2が0のときはオペレータ処理のルートに入り、オ
ペレータ1〜4処理が実行される(S4302〜S4305)。
この処理は、図37、図38又は図39、図40等と同
様である。
At a certain interrupt timing, S
When mod 2 is 0, the process enters the operator process route, and the processes of the operators 1 to 4 are executed (S4302 to S4305).
This processing is the same as in FIG. 37, FIG. 38 or FIG. 39, FIG.

【0219】次に、オペレータ処理のルートを抜け、バ
ッファBに、バッファBF(FM方式の場合)又はバッ
ファBT(TM方式の場合)の値が設定される出力処理
が実行される(S4310)。バッファBF又はBTは、各
発音チャネル毎に設けられ、MCPU 101又はSCPU 1
02のRAM206、306上の図17の各発音チャネ
ル領域毎に記憶される(図21参照)。バッファBF又
はBTには、アルゴリズム処理後の波形出力値が格納さ
れるが(図44、図45で後述する)、今回のインタラ
プトタイミングでは、アルゴリズム処理は実行されてお
らずバッファBF又はBTの内容は変更されていないた
め、前回のインタラプトタイミングと同じ波形出力値が
出力される。
Next, through the route of the operator processing, an output processing for setting the value of the buffer BF (in the case of the FM system) or the buffer BT (in the case of the TM system) in the buffer B is executed (S4310). The buffer BF or BT is provided for each sounding channel, and the MCPU 101 or the SCPU 1
This is stored for each sound channel area in FIG. 17 on the RAMs 206 and 306 (see FIG. 21). The buffer BF or BT stores the waveform output value after the algorithm processing (to be described later with reference to FIGS. 44 and 45), but at the current interrupt timing, the algorithm processing is not executed and the contents of the buffer BF or BT are stored. Is not changed, the same waveform output value as the previous interrupt timing is output.

【0220】以上の処理により、今回のインタラプトタ
イミングにおける1発音チャネル分の音源処理を終了す
る。この場合、今回のオペレータ1〜4処理で求まった
各データは、次のインタラプトタイミングまで、MCPU
101又はSCPU 102のRAM206、306上の図
17の各発音チャネル領域に保持される。
With the above processing, the sound source processing for one sounding channel at the current interrupt timing is completed. In this case, each data obtained in the current processing of the operators 1 to 4 is transferred to the MCPU until the next interrupt timing.
It is stored in each sound channel area of FIG.

【0221】次のインタラプトが発生すると、まず、図
10のMCPU インタラプト処理の先頭において変数Sの
内容が+1される(S1010)。従って、上述のように前
回のインタラプトタイミングでSmod 2が0なら、今回
のインタラプトタイミングではSmod 2は1となるの
で、アルゴリズム処理が実行される(S4306)。
When the next interrupt occurs, first, the content of the variable S is incremented by 1 at the beginning of the MCPU interrupt processing in FIG. 10 (S1010). Therefore, as described above, if Smod 2 is 0 at the previous interrupt timing, Smod 2 becomes 1 at the current interrupt timing, and the algorithm process is executed (S4306).

【0222】この処理においては、前回のインタラプト
タイミングにおいて、オペレータ1〜4処理で処理され
図17の各発音チャネル領域に保持されている各データ
が用いられ、次のオペレータ処理のための変調入力を決
める処理が行われる。そして、この処理においてバッフ
ァBF又はBTの内容が書き替えられ、そのインタラプ
トタイミングにおける波形出力値が求まる。アルゴリズ
ム処理の具体例を図44及び図45の動作フローチャー
トに示す。このフローにおいて、図41及び図42の場
合と同じ番号を付したステップでは図41及び図42の
場合と同じ処理が行われる。図41及び図42の場合と
異なるのは、S4401〜S4404の出力部分である。ここで
は、アルゴリズム1及びアルゴリズム2の場合は、オペ
レータ1処理の出力O1 の内容がそのままバッフアBF
又はBTに保持される(S4401、S4402)。また、アル
ゴリズム3の場合には、出力O1 に出力O3 が加算され
た値がバッフアBF又はBTに保持される(S4403)。
更に、アルゴリズム4の場合は、出力O1 に出力O2,O
3,O4 が加算された値がBF又はBTに保持される(S
4404)。
In this processing, at the previous interrupt timing, each data processed in the operators 1 to 4 and held in each sounding channel area shown in FIG. 17 is used, and the modulation input for the next operator processing is performed. A decision process is performed. In this process, the contents of the buffer BF or BT are rewritten, and the waveform output value at the interrupt timing is obtained. Specific examples of the algorithm processing are shown in the operation flowcharts of FIGS. 44 and 45. In this flow, the same processes as those in FIGS. 41 and 42 are performed in steps denoted by the same reference numerals as those in FIGS. 41 and 42. What differs from the cases of FIGS. 41 and 42 is the output portion of S4401 to S4404. Here, in the case of the algorithm 1 and the algorithm 2, the contents of the output O1 of the processing of the operator 1 are directly stored in the buffer BF.
Alternatively, it is held in the BT (S4401, S4402). In the case of the algorithm 3, the value obtained by adding the output O3 to the output O1 is held in the buffer BF or BT (S4403).
Further, in the case of Algorithm 4, the outputs O2 and O
3, the value obtained by adding O4 is held in BF or BT (S
4404).

【0223】以上のように、図10のステップS1010の
処理に基づいて1インタラプトタイミングおきに変数S
が偶数又は奇数となり、図43のステップS4301の判定
処理に基づいて1インタラプトタイミングおきにオペレ
ータ処理とアルゴリズム処理が交互に実行されるため、
1インタラプトタイミングあたりの音源処理プログラム
の処理負荷を著しく減少させることができる。この場
合、インタラプト周期を長くする必要がないため、イン
タラプトにより図9のメイン動作フローチャートが中断
する時間が増加することなく、そのプログラム動作に影
響を与えずに処理負荷を低減させることができる。従っ
て、例えば図9によって実行される鍵盤キー取り込みの
間隔が長くなることもなく、電子楽器としての応答性能
に影響を与えることもない。
As described above, based on the processing in step S1010 in FIG.
Becomes even or odd, and the operator process and the algorithm process are alternately executed at every other interrupt timing based on the determination process of step S4301 in FIG. 43.
The processing load of the sound source processing program per one interrupt timing can be significantly reduced. In this case, since it is not necessary to lengthen the interrupt cycle, the processing load can be reduced without affecting the program operation without increasing the interruption time of the main operation flowchart in FIG. 9 due to the interrupt. Therefore, for example, the interval of taking in a keyboard key executed according to FIG. 9 does not become long, and the response performance as an electronic musical instrument is not affected.

【0224】次に、音源処理として実行される複数ある
音源方式の1つとして上述の図43〜図45で示される
変調方式の第2の改良例が使用される場合に、図9のメ
インフローチャートにおけるステップS909 の処理とし
て実行される、発音チャネルにピッチデータを設定する
処理について説明する。
Next, in the case where the second improved example of the modulation system shown in FIGS. 43 to 45 is used as one of a plurality of sound source systems to be executed as the sound source processing, the main flow chart of FIG. The process of setting the pitch data to the tone generation channel, which is executed as the process of step S909 in step S909 will be described.

【0225】図9のメインフローチャートにおいては、
前述したように、ステップS905 〜S907 において、図
13のアルゴリズムに基づくキーアサイン処理が実行さ
れると、通常はそれに続くステップS909 において、ア
サインが行われた発音チャネルにピッチデータが設定さ
れ、更に、ステップS910 のフロー1周準備処理で、ピ
ッチデータが設定された発音チャネルに対応する変数H
SS1 〜HSS8 のいずれかが1にセットされる。これ
により、図15のアルゴリズムに基づいて、図10のM
CPU インタラプト処理又は図11のSCPU インタラプト
処理においてステップS1011又はS1101の音源処理が実
行され、発音動作が行われる。
In the main flowchart of FIG.
As described above, when the key assignment process based on the algorithm of FIG. 13 is executed in steps S905 to S907, normally in subsequent step S909, pitch data is set to the assigned sounding channel, and furthermore, The variable H corresponding to the tone generation channel for which the pitch data has been set in the flow one round preparation process of step S910.
One of SS1 to HSS8 is set to 1. As a result, based on the algorithm of FIG.
In the CPU interrupt processing or the SCPU interrupt processing of FIG. 11, the sound source processing of step S1011 or S1101 is executed, and a sound generation operation is performed.

【0226】ここで、その音源処理が図43〜図45で
示される変調方式の第2の改良例に基づく処理である場
合には、前述したように、インタラプトタイミング毎に
オペレータ処理とアルゴリズム処理が交互に実行され
る。
Here, when the sound source processing is processing based on the second improved example of the modulation method shown in FIGS. 43 to 45, as described above, the operator processing and the algorithm processing are performed for each interrupt timing. Executed alternately.

【0227】従って、もし、ある発音チャネルにピッチ
データが設定され、その直後のインタラプトタイミング
においてその発音チャネルに対してアルゴリズム処理が
実行されると、その発音チャネルについて発音開始後ま
だ1度もオペレータ処理が実行されていないのにアルゴ
リズム処理が実行されることになり、無駄な処理となっ
てしまう。
Therefore, if the pitch data is set for a certain sounding channel and the algorithm processing is executed on the sounding channel at the interrupt timing immediately after that, the operator processing is still performed once for the sounding channel after the sounding is started. Is not executed, the algorithm processing is executed, and the processing becomes useless.

【0228】そこで、変調方式の第2の改良例に係る上
記実施例においては、ある発音チャネルについて新たな
アサインが発生し、その発音チャネルで実行されるべき
音源処理が変調方式の場合であって、その直後のインタ
ラプトタイミングがアルゴリズム処理のタイミングであ
る場合には、その発音チャネルへのピッチデータの設定
は行わず、次にオペレータ処理が実行されるタイミング
まで待つように制御を行うようにする。これにより、そ
の発音チャネルについては、次にオペレータ処理が実行
されるタイミングまで、図9のステップS910 において
変数HSSがセットされないため、インタラプトが発生
しても、図15のアルゴリズムにより、その発音チャネ
ルの音源処理は実行されないように制御することがで
き、インタラプト処理の実行時間を短縮させることがで
きる。
In the above embodiment according to the second modification of the modulation method, a new assignment is generated for a certain sound channel, and the sound source processing to be executed in the sound channel is the modulation method. If the immediately following interrupt timing is the timing of the algorithm processing, the pitch data is not set to the sounding channel, and control is performed so as to wait until the next timing when the operator processing is executed. As a result, the variable HSS is not set in step S910 in FIG. 9 until the next time the operator process is executed for the sounding channel, so that even if an interrupt occurs, the algorithm in FIG. The sound source processing can be controlled so as not to be executed, and the execution time of the interrupt processing can be reduced.

【0229】図46に、上記機能を実現するために図9
のステップS909 で実行されるピッチデータのセット処
理の動作フローチャートを示す。
FIG. 46 shows an example in which FIG.
9 shows an operation flowchart of pitch data setting processing executed in step S909 of FIG.

【0230】まず、図9のステップS905 〜S907 での
図13のアルゴリズムに基づくキーアサイン処理によっ
て新たな発音チャネルへアサインが発生したか否かが判
定される(S4601)。
First, it is determined whether or not an assignment to a new tone generation channel has occurred by the key assignment process based on the algorithm of FIG. 13 in steps S905 to S907 of FIG. 9 (S4601).

【0231】この判定がYESの場合には、更に、その
発音チャネルで実行されるべき音源処理が変調(FM又
はTM)方式であるか否かが判定される(S4602)。こ
の判定は、図17のアサインが行われるべきチャネル領
域にロードされたデータの音源方式No.(図19、図2
0参照)を判定することにより行われる。
If this determination is YES, it is further determined whether or not the sound source processing to be executed in the sound channel is a modulation (FM or TM) method (S4602). This determination is based on the tone generator method No. of the data loaded in the channel area to be assigned in FIG. 17 (FIGS. 19 and 2).
0).

【0232】この判定がYESの場合には、続いて、変
数SについてSmod2が1であるか否かが判定される
(S4603)。その判定がNOで変数Sの値が現在偶数の
場合には、インタラプトが発生して図10のステップS
1010において変数Sが奇数とされS4603の判定がYES
となるまで待つ(S4603の繰り返し)。
If the determination is YES, it is determined whether Smod2 is 1 for the variable S (S4603). If the determination is NO and the value of the variable S is currently an even number, an interrupt is generated and step S in FIG.
In 1010, the variable S is set to an odd number, and the determination in S4603 is YES.
(Until S4603 is repeated).

【0233】そして、変数Sが奇数となってステップS
4603の判定がYESとなったタイミングで、RAM20
6又は306内の新たにアサインされた発音チャネルに
対応する領域(図17及び図20のP1 、P2 )に、キ
ーオンされたノートナンバー等に基づくピッチデータを
セットする(S4604)。
Then, when the variable S becomes an odd number, step S
At the timing when the determination of 4603 becomes YES, the RAM 20
The pitch data based on the key-on note number or the like is set in an area (P1, P2 in FIGS. 17 and 20) corresponding to the newly assigned sounding channel in No. 6 or 306 (S4604).

【0234】以上のようにして図9のステップS909 に
おいてピッチデータがセットされると、続く図9のステ
ップS910 において、その発音チャネルに対応する変数
HSSがセットされる。
When the pitch data is set in step S909 of FIG. 9 as described above, the variable HSS corresponding to the tone generation channel is set in step S910 of FIG.

【0235】これにより、その直後にインタラプトが発
生すると図10のステップS1010において変数Sが偶数
とされ、続く図10のステップS1011又は図11のステ
ップS1101の音源処理として図15のアルゴリズムが実
行され、例えば第1番目の発音チャネルであれば、図1
5のステップS1502の判定がYESとなり、ステップS
1503の音源処理として図43の変調方式の第2の改良例
の動作フローチャートが実行され、ステップS4301によ
って必ずオペレータ処理が実行されることになる。
As a result, if an interrupt occurs immediately after that, the variable S is set to an even number in step S1010 in FIG. 10, and the algorithm in FIG. 15 is executed as the sound source processing in step S1011 in FIG. 10 or step S1101 in FIG. For example, if it is the first sounding channel, FIG.
The determination in step S1502 of step 5 is YES, and the
The operation flowchart of the second modified example of the modulation method shown in FIG. 43 is executed as the sound source processing of 1503, and the operator processing is always executed in step S4301.

【0236】逆に、S4603の判定がNOとなった直後に
インタラプトが発生しても、その発音チャネルについて
はピッチデータがセットされていないため、図15のス
テップS1502等の判定はNOとなってその発音チャネル
についての音源処理はスキップされ、インタラプト処理
の実行時間を短縮することができる。
Conversely, even if an interrupt occurs immediately after the determination in S4603 is NO, since the pitch data has not been set for the sound generation channel, the determination in step S1502 in FIG. The sound source processing for the sound channel is skipped, and the execution time of the interrupt processing can be reduced.

【0237】以上、種々の音源方式に基づくソフトウエ
アの音源処理によって、発音チャネル毎に楽音データを
生成する動作について説明した。 <機能キー処理>
The operation of generating tone data for each sounding channel by sound source processing of software based on various sound source systems has been described above. <Function key processing>

【0238】次に、実際の電子楽器を演奏する場合にお
ける図9のメイン動作フローチャートの機能キー処理
(S903 )の具体的動作につき説明する。
Next, a specific operation of the function key processing (S903) in the main operation flowchart of FIG. 9 when an actual electronic musical instrument is played will be described.

【0239】上述の発音チャネル毎に行われる音源処理
においては、MCPU101の入力ポート210(図2参
照)を介して例えば電子楽器の操作パネル上に接続され
る図7の機能キー701により、MCPU 101又はSCP
U 102のRAM206又は306(図2及び図3参
照)上の各発音チャネル領域(図17参照)に、前述し
た各種音源方式のデータフォーマット(図19、図20
参照)が設定される。
In the sound source processing performed for each sounding channel described above, the MCPU 101 is connected to, for example, the operation panel of the electronic musical instrument via the input port 210 (see FIG. 2) of the MCPU 101 by the function key 701 shown in FIG. Or SCP
Each sound channel area (see FIG. 17) on the RAM 206 or 306 (see FIGS. 2 and 3) of the U 102 has a data format (see FIGS.
Reference) is set.

【0240】図47は、図7の機能キー701の一部の
配置例を示した図である。同図では、機能キー701の
一部が音色指定スイッチとして実現され、Aグループの
「ピアノ」、「ギター」、・・・、「琴」などのスイッ
チが押されると、それぞれの楽器音の音色が選択され、
ガイドランプが点灯する。そして、DPCM/TM方式
選択スイッチ4701で、これらの楽器音の音色をDP
CM方式とTM方式のいずれの音源方式で生成するかが
選択される。
FIG. 47 is a diagram showing an example of the arrangement of a part of the function keys 701 in FIG. In the figure, a part of the function key 701 is realized as a tone designation switch, and when a switch such as “piano”, “guitar”,. Is selected,
The guide lamp lights up. The DPCM / TM system selection switch 4701 changes the tone of these instrument sounds to DP
The sound source method of the CM method or the TM method is selected.

【0241】一方、Bグループの「チューバ」のスイッ
チが押されればFM方式により、「ベース」が押されれ
ばPCM/TM両方式により、また、「トランペット」
が押されればPCM方式により、それぞれの音色が指定
され、それらの音源方式に基づく楽音が生成されること
になる。
On the other hand, when the "Tuba" switch of the B group is pressed, the FM system is used. When the "Base" is pressed, the PCM / TM system is used.
Is pressed, the respective timbres are designated by the PCM method, and musical tones based on those sound source methods are generated.

【0242】図48及び図49に、上記「ピアノ」と
「ベース」のスイッチが押された場合の、RAM206
又は306上の図17で示される各発音チャネル領域へ
の音源方式の割り当て例が示されている。「ピアノ」の
場合、図48の如く、MCPU 101及びSCPU 102の
8音ポリフォニックの各発音チャネルのすべてに、DP
CM方式が割り当てられ、また、「ベース」の場合、図
49の如く、奇数番号の発音チャネルにPCM方式が、
偶数番号の発音チャネルにTM方式が、それぞれ割り当
てられる。これにより、PCM方式とTM方式による2
発音チャネルで生成される楽音波形が混合されたものと
して1音分の楽音波形が得られる。この場合には、各C
PUあたり4音ポリフォニック、2CPU合計で8音ポ
リフォニックとなる。
FIGS. 48 and 49 show the RAM 206 when the "piano" and "bass" switches are pressed.
Alternatively, an example of assigning a sound source system to each sounding channel area shown in FIG. In the case of “piano”, as shown in FIG. 48, all of the eight tone polyphonic sounding channels of the MCPU 101 and the SCPU 102 are assigned DP.
In the case where the CM system is assigned, and in the case of “base”, as shown in FIG.
The TM system is assigned to each even-numbered sounding channel. With this, 2 based on PCM system and TM system
A musical sound waveform for one sound is obtained as a mixture of musical sound waveforms generated in the sounding channel. In this case, each C
Four-tone polyphonic per PU, eight-tone polyphonic in total for two CPUs.

【0243】図50及び図51は、図9のメイン動作フ
ローチャートにおけるS903 の機能キー処理の動作フロ
ーチャートの一部であり、図47の音色指定スイッチ群
に対する処理の動作フローチャートである。
FIGS. 50 and 51 are a part of the operation flowchart of the function key processing in S903 in the main operation flowchart of FIG. 9, and are the operation flowcharts of the processing for the tone color designation switch group in FIG.

【0244】まず、演奏者によりDPCM/TMスイッ
チ4701が操作されたか否かが判定され(S5001)、
判定がYESの場合は、変数Mがゼロか否かが判定され
る(S5002)。変数Mは、MCPU 101のRAM206
(図2)上に全発音チャネル共通に1つ確保され(図2
1参照)、DPCM方式のときは値0、TM方式のとき
は値1をとる。
First, it is determined whether or not the player has operated the DPCM / TM switch 4701 (S5001).
If the determination is YES, it is determined whether the variable M is zero (S5002). The variable M is the RAM 206 of the MCPU 101
(FIG. 2) One common channel is reserved for all sound channels (FIG. 2).
1), the value 0 in the case of the DPCM system, and the value 1 in the case of the TM system.

【0245】S5002で変数Mの値が0でその判定がYE
Sの場合は、変数Mに値1がセットされる(S5003)。
これはDPCM方式が選択されていた状態で、DPCM
/TMスイッチ4701が押圧されてTM方式が選択さ
れる状態に変化したことを意味する。また、S5002で変
数Mの値が1で判定がNOの場合は、変数Mに値0がセ
ットされる(S5004)。これはTM方式が選択されてい
た状態で、DPCM/TMスイッチ4701が押圧され
てDPCM方式が選択される状態に変化したことを意味
する。
In step S5002, the value of the variable M is 0, and the determination is YE.
In the case of S, the value 1 is set to the variable M (S5003).
This is the state where the DPCM method has been selected.
This means that the / TM switch 4701 has been pressed and the TM system has been selected. If the value of the variable M is 1 in S5002 and the determination is NO, the value 0 is set to the variable M (S5004). This means that the DPCM / TM switch 4701 has been pressed and the DPCM system has been selected in the state where the TM system has been selected.

【0246】次に、現在、図47のAグループの音色が
指定されているか否かが判定される(S5005)。DPC
M/TMスイッチ4701はAグループの音色に対して
のみ有効であるため、Aグループの音色が指定されてS
5005の判定がYESの場合にのみ、S5006〜S5008のD
PCM/TMスイッチ4701に対応する動作が実行さ
れる。
Next, it is determined whether the tone color of the group A in FIG. 47 is currently designated (S5005). DPC
Since the M / TM switch 4701 is effective only for the tone color of the group A, the tone color of the group A
Only when the determination of 5005 is YES, D of S5006 to S5008
An operation corresponding to PCM / TM switch 4701 is executed.

【0247】S5006では、変数Mが値0であるか否かが
判定される。
In S5006, it is determined whether or not the variable M is 0.

【0248】S5006の判定がYESの場合は、DPCM
/TMスイッチ4701によりDPCM方式が選択され
たため、RAM206及び306(図2及び図3参照)
上の各発音チャネル領域に、図19のDPCMフォーマ
ットでデータが設定される。すなわち、各発音チャネル
領域の先頭領域G(図19のDPCMの欄参照)にDP
CM方式を示す音源方式Noが設定される。続いて、各発
音チャネル領域の第2番目以降の領域に現在指定されて
いる音色に対応する各種パラメータがそれぞれセットさ
れる(S5007)。
If the determination in S5006 is YES, the DPCM
Since the DPCM method is selected by the / TM switch 4701, the RAMs 206 and 306 (see FIGS. 2 and 3)
Data is set in each of the sounding channel regions in the DPCM format shown in FIG. That is, the DP is added to the head area G (see the column of DPCM in FIG. 19) of each sounding channel area.
A sound source method No. indicating the CM method is set. Subsequently, various parameters corresponding to the currently designated timbre are set in the second and subsequent areas of each sounding channel area (S5007).

【0249】また、S5006の判定がNOの場合は、DP
CM/TMスイッチ4701によりTM方式が選択され
たため、各発音チャネル領域に、図20のTMフォーマ
ットでデータが設定される。すなわち、まず、各発音チ
ャネル領域の先頭領域GにTM方式を示す音源方式Noが
設定される。続いて、各発音チャネル領域の第2番目以
降の領域に現在指定されている音色に対応する各種パラ
メータがそれぞれセットされる(S5008)。
If the determination in S5006 is NO, DP
Since the TM system is selected by the CM / TM switch 4701, data is set in each sounding channel area in the TM format shown in FIG. That is, first, a sound source system number indicating the TM system is set in the head region G of each sounding channel region. Subsequently, various parameters corresponding to the currently designated timbre are set in the second and subsequent areas of each sounding channel area (S5008).

【0250】以上は、図47のDPCM/TMスイッチ
4701が操作された場合であるが、同スイッチが操作
されずステップS5001の判定がNOとなった場合、又は
Aグループの音色が指定されておらずステップS5005の
判定がNOになった場合は、スイッチS5009以下の処理
が実行される。
The above is the case where the DPCM / TM switch 4701 shown in FIG. 47 is operated, but when the switch is not operated and the judgment in step S5001 is NO, or when the tone color of the A group is designated. If the determination in step S5005 is NO, the processing from switch S5009 is performed.

【0251】まず、ステップS5009で、図47の音色ス
イッチに変化があったか否かが判定される(S5009)。
First, in step S5009, it is determined whether or not the tone color switch shown in FIG. 47 has changed (S5009).

【0252】その判定がNOの場合は、音色スイッチに
対する処理を行う必要はないので、そのまま機能キー処
理(図9S903)を終了する。
If the determination is NO, there is no need to perform the processing for the timbre switch, and the function key processing (S903 in FIG. 9) is terminated.

【0253】音色スイッチに変化があってS5009の判定
がYESの場合には、次に、Bグループの音色が指定さ
れたか否かが判定される(S5010)。
If there is a change in the tone color switch and the determination in S5009 is YES, it is next determined whether or not the tone color of Group B has been designated (S5010).

【0254】Bグループの音色が指定されてS5010の判
定がYESならば、RAM206及び306(図2及び
図3参照)上の各発音チャネル領域に、指定された音色
に対応する音源方式のデータフォーマットでデータが設
定される。そして、各発音チャネル領域の先頭領域G
(図19、図20参照)に各音源方式を示す音源方式No
が設定される。また、各発音チャネル領域の第2番目以
降の領域に現在指定されている音色に対応する各種パラ
メータがそれぞれセットされる(S5011)。例えば、図
47のベーススイッチが選択されている場合には、奇数
番号の各発音チャネル領域にはPCM方式に対応するデ
ータが、偶数番号の各発音チャネル領域にはTM方式に
対応するデータが、それぞれセットされる。
If the tone of group B is designated and the judgment in S5010 is YES, the tone generator data format corresponding to the designated tone is stored in each sounding channel area on RAMs 206 and 306 (see FIGS. 2 and 3). Is used to set the data. Then, the leading area G of each sounding channel area
(Refer to FIG. 19 and FIG. 20).
Is set. Also, various parameters corresponding to the currently designated tone color are set in the second and subsequent areas of each sounding channel area (S5011). For example, when the base switch of FIG. 47 is selected, data corresponding to the PCM system is stored in each odd-numbered sound channel region, and data corresponding to the TM system is stored in each even-numbered sound channel region. Each is set.

【0255】また、Aグループの音色スイッチが指定さ
れてS5010の判定がNOならば、変数Mが1であるか否
かが判定される(S5012)。そして、現在TM方式が選
択されていてS5012の判定がYESならば、前述のステ
ップS5008の場合と同様にして、各発音チャネル領域
に、図20のTMフォーマットでデータが設定される
(S5013)。
If the tone switch of group A is designated and the judgment in S5010 is NO, it is judged whether or not the variable M is 1 (S5012). If the TM method is currently selected and the determination in S5012 is YES, data is set in each sounding channel area in the TM format of FIG. 20 in the same manner as in step S5008 (S5013).

【0256】また、DPCM方式が選択されていてS50
12の判定がNOならば、前述のステップS5007の場合と
同様にして、各発音チャネル領域には、図19のDPC
Mフォーマットでデータが設定される(S5014)。 <押鍵時の鍵盤キー処理の第1の実施例>
If the DPCM method is selected and S50
If the determination in step 12 is NO, the DPC of FIG. 19 is added to each sounding channel area in the same manner as in step S5007.
Data is set in the M format (S5014). <First Embodiment of Keyboard Key Processing at Key Depression>

【0257】次に、実際の電子楽器を演奏する場合にお
ける図9のメイン動作フローチャートの鍵盤キー処理
(S905 )の具体的動作につき説明する。
Next, the specific operation of the keyboard key processing (S905) in the main operation flowchart of FIG. 9 when playing an actual electronic musical instrument will be described.

【0258】まず、押鍵時の鍵盤キー処理の第1の実施
例につき説明する。
First, a first embodiment of the keyboard key processing at the time of key depression will be described.

【0259】押鍵時の鍵盤キー処理の第1の実施例にお
いては、図47のAグループの音色が指定されている場
合に、MCPU 101の入力ポート210(図2参照)を
介して接続される図7又は図8に示される鍵盤キー70
2が押鍵された場合の鍵盤のポジションすなわち楽音の
音域により、MCPU 101又はSCPU 102のRAM2
06又は306(図2及び図3参照)上の各発音チャネ
ル領域(図17参照)に設定される音源方式が自動的に
切り換えられる。この場合は、図8に示される鍵盤キー
701のキーコード番号31、32を境にして、押鍵さ
れた鍵のキーコードが31番以下の低音域の場合にDP
CM方式が、また、キーコードが32番以上の高音域の
場合にTM方式が割り当てられる。なお、図47のBグ
ループの音色が指定されている場合には、特別な鍵盤キ
ー処理は実行されない。
In the first embodiment of the key processing at the time of key depression, when the tone color of the group A in FIG. 47 is designated, the keyboard is connected via the input port 210 of the MCPU 101 (see FIG. 2). Key 70 shown in FIG. 7 or FIG.
RAM 2 of MCPU 101 or SCPU 102 depends on the position of the keyboard when key 2 is depressed, that is, the range of the musical tone.
The sound source method set in each sounding channel area (see FIG. 17) on 06 or 306 (see FIGS. 2 and 3) is automatically switched. In this case, if the key code of the depressed key is in the low tone range of 31 or less with respect to the key code numbers 31 and 32 of the keyboard key 701 shown in FIG.
The CM method is assigned to the CM method, and the TM method is assigned when the key code is in the high range of 32 or more. When the tone color of the group B in FIG. 47 is designated, no special keyboard key processing is executed.

【0260】図52は、図9のメイン動作フローチャー
トにおけるS905 の鍵盤キー処理の動作フローチャート
の一部であり、図7の鍵盤キー701の押鍵時の処理の
第1の実施例のフローである。
FIG. 52 is a part of the operation flowchart of the keyboard key processing of S905 in the main operation flowchart of FIG. 9, and is a flow of the first embodiment of the processing at the time of depressing the keyboard key 701 of FIG. .

【0261】まず、現在、図47のAグループの音色が
指定されているか否かが判定される(S5201)。
First, it is determined whether the tone color of the group A in FIG. 47 is currently designated (S5201).

【0262】この判定がNOで、現在、Bグループの音
色が指定されている場合には、図52の特別な処理は行
わない。
If this determination is NO and the tone color of group B is currently specified, the special processing shown in FIG. 52 is not performed.

【0263】S5201の判定がYESで、現在、Aグルー
プの音色が指定されている場合には、図9のメイン動作
フローチャートにおけるS904 の鍵盤キー取り込み処理
において「押鍵」と判別された鍵のキーコードが、31
番以下であるか否かが判定される(S5202)。
If the determination in S5201 is YES and the tone color of Group A is currently designated, the key of the key determined to be "key pressed" in the keyboard key loading process of S904 in the main operation flowchart of FIG. Code is 31
It is determined whether the number is less than or equal to the number (S5202).

【0264】31番以下の低音域が押鍵されてS5202の
判定がYESの場合は、変数Mが値1であるか否かが判
定される(S5203)。変数Mは、図9のメイン動作フロ
ーチャートにおけるS903 の機能キー処理の一部である
図50及び図51の動作フローチャートにおいて設定さ
れており、前述した如く、変数Mの値は、DPCM方式
のときは値0、TM方式のときは値1をとる。
If the low range below 31 is depressed and the determination in S5202 is YES, it is determined whether or not the variable M is the value 1 (S5203). The variable M is set in the operation flowcharts of FIGS. 50 and 51 which are a part of the function key processing of S903 in the main operation flowchart of FIG. 9. As described above, the value of the variable M is It takes a value of 0 and a value of 1 in the case of the TM system.

【0265】S5203の判定がYES(M=1)で、現
在、TM方式の音源方式が指定されている場合は、低音
域の音源方式であるDPCM方式に変更すべく、RAM
206又は306(図2及び図3参照)上の押鍵された
鍵がアサインされる発音チャネル領域に、図19のDP
CMフォーマットでデータが設定される。すなわち、各
発音チャネル領域の先頭領域G(図19のDPCMの欄
参照)にDPCM方式を示す音源方式Noが設定される。
続いて、各発音チャネル領域の第2番目以降の領域に現
在指定されている音色に対応する各種パラメータがそれ
ぞれセットされる(S5204)。その後、フラグCに値1
がセットされる(S5205)。フラグCは、MCPU 101
のRAM206(図2参照)上の各発音チャネル領域に
確保される変数であるが(図19、図20参照)、この
フラグCは図54で後述する離鍵時の処理に用いられ
る。
If the determination in S5203 is YES (M = 1) and the tone generator system of the TM system is currently specified, the RAM is changed to the DPCM system which is the tone generator system of the lower frequency range.
In the sound channel area to which the depressed key on 206 or 306 (see FIGS. 2 and 3) is assigned, the DP of FIG.
Data is set in the CM format. That is, the sound source system No. indicating the DPCM system is set in the head area G (see the column of DPCM in FIG. 19) of each sounding channel area.
Subsequently, various parameters corresponding to the currently designated timbre are set in the second and subsequent areas of each sounding channel area (S5204). Then, the value 1 is set to the flag C.
Is set (S5205). The flag C indicates that the MCPU 101
This flag C is used in a key release process described later with reference to FIG. 54, although it is a variable secured in each sounding channel area on the RAM 206 (see FIG. 2).

【0266】一方、S5202において、31番以上の高音
域が押鍵されてその判定がNOの場合は、更に、変数M
が値1であるか否かが判定される(S5206)。 S5206
の判定がNO(M=0)で、現在、DPCM方式の音源
方式が指定されている場合は、高音域の音源方式である
TM方式に変更すべく、RAM206又は306上の押
鍵された鍵がアサインされる発音チャネル領域に、図2
0のTMフォーマットでデータが設定される。すなわ
ち、各発音チャネル領域の先頭領域G(図20のTMの
欄参照)にTM方式を示す音源方式Noが設定される。続
いて、各発音チャネル領域の第2番目以降の領域に現在
指定されている音色に対応する各種パラメータがそれぞ
れセットされる(S5207)。その後、フラグCに値2が
セットされる(S5205)。
On the other hand, if it is determined in step S5202 that the treble range No. 31 or more has been depressed and the determination is NO, the variable M
Is determined to be the value 1 (S5206). S5206
Is NO (M = 0) and if the sound source system of the DPCM system is currently specified, the pressed key on the RAM 206 or 306 is changed in order to change to the TM system which is the sound source system of the high frequency range. Is assigned to the sound channel area to which
Data is set in a TM format of 0. That is, the tone generator method No. indicating the TM method is set in the head area G (see the column of TM in FIG. 20) of each sounding channel area. Subsequently, various parameters corresponding to the currently designated timbre are set in the second and subsequent areas of each sounding channel area (S5207). Thereafter, the value 2 is set in the flag C (S5205).

【0267】上述の処理において、ステップS5203の判
定がNOの場合及びステップS5206の判定がYESの場
合は、もともと所望の音源方式になっていので、特別な
処理は行われない。 <押鍵時の鍵盤キー処理の第2の実施例>
In the above-described processing, if the determination in step S5203 is NO and the determination in step S5206 is YES, the desired sound source method is used, and no special processing is performed. <Second embodiment of keyboard key processing at key depression>

【0268】次に、押鍵時の鍵盤キー処理の第2の実施
例につき説明する。
Next, a second embodiment of the keyboard key processing at the time of key depression will be described.

【0269】押鍵時の鍵盤キー処理の第2の実施例にお
いては、図47のAグループの音色が指定されている場
合に、MCPU 101の入力ポート210(図2参照)を
介して接続される図7又は図8に示される鍵盤キー70
2が押鍵された場合の押鍵速度すなわちベロシティによ
り、MCPU 101又はSCPU 102のRAM206又は
306(図2及び図3参照)上の各発音チャネル領域
(図17参照)に設定される音源方式が自動的に切り換
えられる。この場合、ベロシティの値としてMIDI
(Musical Instrument Didital Interface) 規格の最大
値の127の1/2の64を境にして、押鍵された鍵の
ベロシティの値が64以上の速い押鍵操作の場合にDP
CM方式が、また、ベロシティの値が64以下の遅い押
鍵操作の場合にTM方式が割り当てられる。なお、図4
7のBグループの音色が指定されている場合には、特別
な鍵盤キー処理は実行されない。
In the second embodiment of the keyboard key processing at the time of key depression, when the tone color of the group A in FIG. 47 is designated, the keyboard is connected via the input port 210 of the MCPU 101 (see FIG. 2). Key 70 shown in FIG. 7 or FIG.
The tone generation method set in each sound channel area (see FIG. 17) on the RAM 206 or 306 (see FIGS. 2 and 3) of the MCPU 101 or the SCPU 102 depends on the key pressing speed, that is, the velocity when the key 2 is pressed. It is switched automatically. In this case, the velocity value is MIDI
(Musical Instrument Digital Interface) If the velocity value of the key depressed is 64 or more at the time of a key depressing operation at 64, which is 1/2 of 127 of the maximum value of the standard, DP
The CM method is assigned to the CM method, and the TM method is assigned to a slow key press operation with a velocity value of 64 or less. FIG.
When the tone color of the B group 7 is designated, no special keyboard key processing is executed.

【0270】図53は、図9のメイン動作フローチャー
トにおけるS905 の鍵盤キー処理の動作フローチャート
の一部であり、図7の鍵盤キー701の押鍵時の処理の
第2の実施例のフローである。
FIG. 53 is a part of the operation flowchart of the keyboard key processing in S905 in the main operation flowchart of FIG. 9, and is a flow of the second embodiment of the processing at the time of depressing the keyboard key 701 in FIG. .

【0271】まず、現在、図47のAグループの音色が
指定されているか否かが判定される(S5301)。
First, it is determined whether or not the tone color of the group A in FIG. 47 is currently specified (S5301).

【0272】この判定がNOで、現在、Bグループの音
色が指定されている場合には、図53の特別な処理は行
わない。
If this determination is NO and the tone color of group B is currently specified, the special processing shown in FIG. 53 is not performed.

【0273】S5301の判定がYESで、現在、Aグルー
プの音色が指定されている場合には、図9のメイン動作
フローチャートにおけるS904 の鍵盤キー取り込み処理
において「押鍵」と判別された鍵のベロシティが、64
以上であるか否かが判定される(S5302)。なお、この
ベロシティの64はMIDI規格のmp(メゾピアノ)
に相当する。
If the determination in S5301 is YES and the tone color of Group A is currently specified, the velocity of the key determined to be "key pressed" in the keyboard key loading process in S904 in the main operation flowchart of FIG. But 64
It is determined whether this is the case (S5302). In addition, 64 of this velocity is mp (mezzo piano) of MIDI standard
Is equivalent to

【0274】ベロシティの値が64以上でS5302の判定
がYESの場合は、変数Mが値1であるか否かが判定さ
れる(S5303)。変数Mは、図9のメイン動作フローチ
ャートにおけるS903 の機能キー処理の一部である図5
0及び図51の動作フローチャートにおいて設定されて
おり、前述した如く、変数Mの値は、DPCM方式のと
きは値0、TM方式のときは値1をとる。
If the velocity value is 64 or more and the determination in S5302 is YES, it is determined whether or not the variable M is the value 1 (S5303). The variable M is a part of the function key processing of S903 in the main operation flowchart of FIG.
51, and is set in the operation flowchart of FIG. 51. As described above, the value of the variable M takes the value 0 in the DPCM system and the value 1 in the TM system.

【0275】S5303の判定がYES(M=1)で、現
在、TM方式の音源方式が指定されている場合は、速い
押鍵操作時の音源方式であるDPCM方式に変更すべ
く、図52の第1の実施例の場合のS5204の処理と同様
に、RAM206又は306(図2及び図3参照)上の
押鍵された鍵がアサインされる発音チャネル領域に、図
19のDPCMフォーマットでデータが設定され(S53
04)、フラグCに値1がセットされる(S5305)。
If the determination in S5303 is YES (M = 1) and the sound source system of the TM method is currently specified, the sound source system of FIG. As in the process of S5204 in the case of the first embodiment, data in the DPCM format of FIG. 19 is stored in the sound channel area on the RAM 206 or 306 (see FIGS. 2 and 3) to which the depressed key is assigned. Is set (S53
04), the value 1 is set to the flag C (S5305).

【0276】一方、S5302において、ベロシティの値が
64より小さくその判定がNOの場合は、更に、変数M
が値1であるか否かが判定される(S5306)。
On the other hand, in S5302, if the velocity value is smaller than 64 and the determination is NO, the variable M
Is determined to be 1 (S5306).

【0277】S5306の判定がNO(M=0)で、現在、
DPCM方式の音源方式が指定されている場合は、遅い
押鍵操作時の音源方式であるTM方式に変更すべく図5
2の第1の実施例の場合のS5207の処理の場合と同様に
して、RAM206又は306上の押鍵された鍵がアサ
インされる発音チャネル領域に、図20のTMフォーマ
ットでデータが設定され(S5307)、フラグCに値2が
セットされる(S5308)。
If the determination in S5306 is NO (M = 0),
When the sound source system of the DPCM system is specified, the sound source system is changed to the TM system which is the sound source system at the time of the slow key depression operation.
As in the case of the process of S5207 in the first embodiment of the second example, data is set in the TM format of FIG. 20 in the sounding channel area on the RAM 206 or 306 to which the depressed key is assigned ( (S5307), the value 2 is set to the flag C (S5308).

【0278】上述の処理において、ステップS5303の判
定がNOの場合及びステップS5306の判定がYESの場
合は、もともと所望の音源方式になっていので、特別な
処理は行われない。 <離鍵時の鍵盤キー処理の実施例>
In the above processing, if the determination in step S5303 is NO and if the determination in step S5306 is YES, the desired sound source method is used, and no special processing is performed. <Example of keyboard key processing at key release>

【0279】次に、離鍵時の鍵盤キー処理の実施例につ
き説明する。
Next, an embodiment of keyboard key processing at the time of key release will be described.

【0280】上述の押鍵時の鍵盤キー処理の第1又は第
2の実施例により、鍵域(音域)やベロシティによって
音源方式が自動的に変更され得るが、離鍵時にはそれら
の変更設定が元の状態に戻される必要がある。それを実
現するのが以下に説明する離鍵時の鍵盤キー処理の実施
例である。
According to the first or second embodiment of the keyboard key processing at the time of key depression, the tone generator system can be automatically changed according to the key range (tone range) or the velocity. It needs to be restored. This is realized by the embodiment of the keyboard key processing at the time of key release described below.

【0281】図54は、図9のメイン動作フローチャー
トにおけるS905 の鍵盤キー処理の動作フローチャート
の一部であり、図7の鍵盤キー701の離鍵時の処理の
フローである。
FIG. 54 is a part of the operation flowchart of the keyboard key processing of S905 in the main operation flowchart of FIG. 9, and is a flow of the processing when the key 701 of FIG. 7 is released.

【0282】まず、図9のメイン動作フローチャートに
おけるS904 の鍵盤キー取り込み処理で「離鍵」と判別
された鍵がアサインされているRAM206又は306
(図2及び図3参照)上の発音チャネル領域に設定され
ているフラグCの値が判別される。今、フラグCは、図
52のS5205及びS5208又は図53のS5305又はS5308
の処理において設定され、押鍵時の初期値は0であり、
押鍵時にTM方式からDPCM方式に音源方式が変更さ
れた場合には値1がセットされ、DPCM方式からTM
方式に音源方式が変更された場合には値2がセットされ
る。従って、押鍵時に変更が行われなかった場合には初
期値0のままである。
First, the RAM 206 or 306 to which a key determined to be "key released" in the keyboard key loading process of S904 in the main operation flowchart of FIG. 9 is assigned.
The value of the flag C set in the sounding channel area (see FIGS. 2 and 3) is determined. Now, the flag C is set to S5205 and S5208 in FIG. 52 or S5305 or S5308 in FIG.
The initial value at the time of key depression is 0,
When the sound source system is changed from the TM system to the DPCM system when the key is pressed, a value of 1 is set, and the DPCM system is changed to the TM system.
When the sound source system is changed to the system, the value 2 is set. Therefore, if no change is made at the time of key depression, the initial value remains at 0.

【0283】そして、図54の離鍵時の処理において、
ステップS5401での判定により、フラグCの値が0の場
合は、鍵域やベロシティによって音源方式が変更されて
いないので、特別な処理は行わずに通常の離鍵処理を行
う。
Then, in the key release process shown in FIG.
If the value of the flag C is 0 in the determination in step S5401, the sound source method has not been changed by the key range or velocity, so that normal key release processing is performed without performing any special processing.

【0284】S5401の判定により、フラグCの値が1と
判定せた場合は、押鍵時に音源方式がTM方式からDP
CM方式に変更されている。そこで、TM方式に戻すべ
く、RAM206又は306(図2又は図3参照)上の
押鍵された鍵がアサインされていた発音チャネル領域
に、図20のTMフォーマットでデータが設定される。
すなわち、各発音チャネル領域の先頭領域G(図20の
TMの欄参照)にTM方式を示す音源方式Noが設定され
る。続いて、各発音チャネル領域の第2番目以降の領域
に現在指定されている音色に対応する各種パラメータが
それぞれセットされる(S5402)。
If it is determined in step S5401 that the value of the flag C is 1, the sound source system is changed from the TM system to the DP system when the key is pressed.
It has been changed to the CM system. Therefore, in order to return to the TM system, data is set in the TM format of FIG. 20 in the tone generation channel area on the RAM 206 or 306 (see FIG. 2 or 3) to which the depressed key is assigned.
That is, the tone generator method No. indicating the TM method is set in the head area G (see the column of TM in FIG. 20) of each sounding channel area. Subsequently, various parameters corresponding to the currently designated timbre are set in the second and subsequent areas of each sounding channel area (S5402).

【0285】一方、S5401の判定により、フラグCの値
が2と判定された場合は、押鍵時に音源方式がDPCM
方式からTM方式に変更されている。そこで、DPCM
方式に戻すべく、RAM206又は306上の押鍵され
た鍵がアサインされていた発音チャネル領域に、図19
のDPCMフォーマットでデータが設定される。すなわ
ち、各発音チャネル領域の先頭領域G(図19のDPC
Mの欄参照)にDPCM方式を示す音源方式Noが設定さ
れる。続いて、各発音チャネル領域の第2番目以降の領
域に現在指定されている音色に対応する各種パラメータ
がそれぞれセットされる(S5403)。
On the other hand, if it is determined in step S5401 that the value of the flag C is 2, the sound source system is set to DPCM when the key is pressed.
The system has been changed from the TM system to the TM system. So, DPCM
In order to return to the system, the sounding channel area to which the depressed key is assigned on the RAM 206 or 306 is placed in FIG.
Is set in the DPCM format. That is, the head area G of each sounding channel area (DPC in FIG. 19)
The sound source method No. indicating the DPCM method is set in the M column). Subsequently, various parameters corresponding to the currently designated timbre are set in the second and subsequent areas of each sounding channel area (S5403).

【0286】以上の動作の後、フラグCの値が0に戻さ
れ、図54の処理を終了し、続いて特には図示しない通
常の離鍵処理が実行される。 <他の実施例の態様>
After the above operation, the value of the flag C is returned to 0, and the processing of FIG. 54 is terminated. Then, in particular, a normal key release processing (not shown) is executed. <An aspect of another embodiment>

【0287】以上説明してきた本発明の一連の実施例に
おいては、図1に示される如く、MCPU 101とSCPU
102という2つのCPUが異なる発音チャネルを分担
して処理するようにしたが、CPUの数は1つでも、ま
た、3つ以上でもよい。
In the above-described series of embodiments of the present invention, as shown in FIG.
Although the two CPUs 102 process different sounding channels, the number of CPUs may be one or three or more.

【0288】また、図2及び図3の制御用ROM201
及び301、ならびに外部メモリ116をROMカード
等で構成すれば、ROMカードによりユーザに様々な音
源方式を提供することができる。
In addition, the control ROM 201 shown in FIGS.
And 301 and the external memory 116 are constituted by a ROM card or the like, it is possible to provide various sound source systems to the user by the ROM card.

【0289】更に、図2のMCPU 101の入力ポート2
10には、図7及び図8のような楽器操作部のほかに様
々な操作部を接続することが可能であり、これにより種
々の形態の電子楽器を実現できる。また、他の電子楽器
からの演奏情報を入力して音源処理のみを行う音源モジ
ュールとして実現することも容易である。
Further, the input port 2 of the MCPU 101 shown in FIG.
Various operating units can be connected to the unit 10 in addition to the musical instrument operating units as shown in FIGS. 7 and 8, thereby realizing various types of electronic musical instruments. Further, it is easy to realize as a sound source module that inputs performance information from another electronic musical instrument and performs only sound source processing.

【0290】一方、図7の機能キー701又は図8の鍵
盤キー702により各発音チャネルに音源方式が割り当
てられる形態は、音色・音域、ベロシティによるもの以
外も含めて、様々な形態が考えられる。
On the other hand, various modes can be considered in which the tone generator system is assigned to each sounding channel by the function key 701 in FIG. 7 or the keyboard key 702 in FIG.

【0291】また、変調方式としては、FM、TM方式
によるもの以外に、様々なものが適用可能である。
As the modulation system, various systems other than the FM and TM systems can be applied.

【0292】変調方式においては、本実施例では、4オ
ペレータの場合につき説明したが、オペレータ数はこれ
に限られるものではない。
In the present embodiment, the modulation method has been described for the case of four operators, but the number of operators is not limited to this.

【0293】[0293]

【発明の効果】本発明の第1の態様によれば、発音数が
少ない状態では、割り込み処理などとして実行される音
源処理の短縮化を図ることができ、演奏情報処理プログ
ラムを実行する時間を増加させることができるため、例
えば速いテンポのメロディプレイのように、同時に発音
される数は少ないが押鍵される鍵が激しく変化するよう
な場合に演奏情報処理が十分追従でき、応答性能の良い
楽器を実現することが可能となる。
According to the first aspect of the present invention, when the number of sounds is small, the sound source processing executed as an interrupt processing can be shortened, and the time for executing the performance information processing program can be reduced. Since it can be increased, for example, in the case of a melody play with a fast tempo, when the number of keys that are simultaneously sounded is small but the key to be pressed changes drastically, the performance information processing can sufficiently follow, and the response performance is good. Musical instruments can be realized.

【0294】本発明の第2の態様によれば、音源処理を
複数の処理単位で構成し、それらを何回かの実行周期に
分割して順次実行するような楽音波形発生装置におい
て、実際に楽音生成データが有効に設定されていない実
行周期で無駄な音源処理が実行されてしまうのを防ぐこ
とができ、割り込み処理などとして実行される音源処理
に要する時間を短くし、演奏情報処理に多くの時間を割
り振ることが可能となる。このため、高度で複雑な演奏
情報処理等をリアルタイムで実行することが可能とな
る。
According to the second aspect of the present invention, in a musical tone waveform generating apparatus in which sound source processing is constituted by a plurality of processing units, divided into several execution cycles and sequentially executed, It is possible to prevent unnecessary sound source processing from being executed in an execution cycle in which the tone generation data is not set to be valid, shorten the time required for sound source processing to be executed as an interrupt processing, etc. Time can be allocated. This makes it possible to execute sophisticated and complex performance information processing in real time.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による実施例の全体構成図である。FIG. 1 is an overall configuration diagram of an embodiment according to the present invention.

【図2】マスターCPUの内部構成図である。FIG. 2 is an internal configuration diagram of a master CPU.

【図3】スレーブCPUの内部構成図である。FIG. 3 is an internal configuration diagram of a slave CPU.

【図4】従来のD/A変換器部の構成図である。FIG. 4 is a configuration diagram of a conventional D / A converter unit.

【図5】本実施例によるD/A変換器部の構成図であ
る。
FIG. 5 is a configuration diagram of a D / A converter unit according to the present embodiment.

【図6】D/A変換におけるタイミングチャートであ
る。
FIG. 6 is a timing chart in D / A conversion.

【図7】機能キーと鍵盤キーの配置図である。FIG. 7 is a layout diagram of function keys and keyboard keys.

【図8】鍵盤キーの説明図である。FIG. 8 is an explanatory diagram of a keyboard key.

【図9】メイン動作フローチャートである。FIG. 9 is a flowchart of a main operation.

【図10】MCPU インタラプト処理の動作フローチャー
トである。
FIG. 10 is an operation flowchart of an MCPU interrupt process.

【図11】SCPU インタラプト処理の動作フローチャー
トである。
FIG. 11 is an operation flowchart of an SCPU interrupt process.

【図12】メイン動作フローチャートとインタラプト処
理の関係を示す概念図である。
FIG. 12 is a conceptual diagram showing a relationship between a main operation flowchart and an interrupt process.

【図13】キーアサイン処理の動作フローチャート(そ
の1)である。
FIG. 13 is an operation flowchart (part 1) of a key assignment process.

【図14】キーアサイン処理の動作フローチャート(そ
の2)である。
FIG. 14 is an operation flowchart (part 2) of a key assignment process.

【図15】音源処理の動作フローチャートである。FIG. 15 is an operation flowchart of a sound source process.

【図16】RAM206上の変数MECとSECを表し
た図である。
FIG. 16 is a diagram showing variables MEC and SEC on a RAM 206.

【図17】RAM上の発音チャネル別の記憶領域を示す
図である。
FIG. 17 is a diagram showing a storage area for each sounding channel on a RAM.

【図18】各発音チャネルの音源処理方式を選択すると
きの概念図である。
FIG. 18 is a conceptual diagram when a sound source processing method of each sounding channel is selected.

【図19】RAM上の音源方式別のデータフォーマット
の構成図(その1)である。
FIG. 19 is a configuration diagram (part 1) of a data format for each sound source method on a RAM.

【図20】RAM上の音源方式別のデータフォーマット
の構成図(その2)である。
FIG. 20 is a configuration diagram (part 2) of a data format for each sound source method on a RAM.

【図21】RAM上のバッフア領域を示す図である。FIG. 21 is a diagram showing a buffer area on a RAM.

【図22】PCM方式による音源処理の動作フローチャ
ートである。
FIG. 22 is an operation flowchart of a sound source process according to the PCM method.

【図23】DPCM方式による音源処理の動作フローチ
ャート(その1)である。
FIG. 23 is an operation flowchart (part 1) of sound source processing by the DPCM method.

【図24】DPCM方式による音源処理の動作フローチ
ャート(その2)である。
FIG. 24 is an operation flowchart (part 2) of sound source processing by the DPCM method.

【図25】PCM方式で差分値Dと現在アドレスAF を
用いて補間値XQ を求める場合の原理説明図である。
FIG. 25 is an explanatory view of the principle in the case where an interpolated value XQ is obtained by using the difference value D and the current address AF in the PCM method.

【図26】DPCM方式で差分値Dと現在アドレスAF
を用いて補間値XQ を求める場合の原理説明図である。
FIG. 26 shows a difference value D and a current address AF in the DPCM method.
FIG. 4 is a diagram for explaining the principle in a case where an interpolation value XQ is obtained by using the following equation.

【図27】FM方式による第1の音源処理の動作フロー
チャートである。
FIG. 27 is an operation flowchart of a first sound source process by the FM method.

【図28】FM方式による第1の音源処理のアルゴリズ
ムを示す図である。
FIG. 28 is a diagram illustrating an algorithm of a first sound source process by the FM method.

【図29】TM方式による第1の音源処理の動作フロー
チャートである。
FIG. 29 is an operation flowchart of a first sound source process according to the TM method.

【図30】TM方式による第1の音源処理のアルゴリズ
ムを示す図である。
FIG. 30 is a diagram showing an algorithm of the first sound source processing by the TM method.

【図31】変調方式におけるアルゴリズムの例を示した
図である。
FIG. 31 is a diagram illustrating an example of an algorithm in a modulation scheme.

【図32】FM方式による第2の音源処理の動作フロー
チャート(その1)である。
FIG. 32 is an operation flowchart (part 1) of the second sound source processing by the FM method.

【図33】FM方式による第2の音源処理の動作フロー
チャート(その2)である。
FIG. 33 is an operation flowchart (part 2) of the second sound source processing by the FM method.

【図34】TM方式による第2の音源処理の動作フロー
チャート(その1)である。
FIG. 34 is an operation flowchart (part 1) of the second sound source processing by the TM method.

【図35】TM方式による第2の音源処理の動作フロー
チャート(その2)である。
FIG. 35 is an operation flowchart (part 2) of the second sound source processing by the TM method.

【図36】変調方式の第1の改良例の動作フローチャー
トである。
FIG. 36 is an operation flowchart of a first modification of the modulation method.

【図37】第1の改良例に係るFM方式によるオペレー
タ1処理の動作フローチャートである。
FIG. 37 is an operation flowchart of an operator 1 process by the FM method according to the first improved example.

【図38】第1の改良例に係るFM方式によるオペレー
タ1処理の1オペレータあたりの演算アルゴリズムを示
す図である。
FIG. 38 is a diagram illustrating a calculation algorithm per operator in an operator 1 process by the FM method according to the first improved example.

【図39】第1の改良例に係るTM方式によるオペレー
タ1処理の動作フローチャートである。
FIG. 39 is an operation flowchart of an operator 1 process by the TM method according to the first improved example.

【図40】第1の改良例に係るTM方式によるオペレー
タ1処理の1オペレータあたりの演算アルゴリズムを示
す図である。
FIG. 40 is a diagram showing a calculation algorithm per operator in an operator 1 process by the TM method according to the first improved example.

【図41】第1の改良例に係るアルゴリズム処理の動作
フローチャート(その1)である。
FIG. 41 is an operation flowchart (part 1) of an algorithm process according to the first improved example;

【図42】第1の改良例に係るアルゴリズム処理の動作
フローチャート(その2)である。
FIG. 42 is an operation flowchart (part 2) of the algorithm processing according to the first improved example;

【図43】変調方式の第2の改良例の動作フローチャー
トである。
FIG. 43 is an operation flowchart of a second modification of the modulation method.

【図44】第2の改良例に係るアルゴリズム処理の動作
フローチャート(その1)である。
FIG. 44 is an operation flowchart (part 1) of an algorithm process according to the second improved example.

【図45】第2の改良例に係るアルゴリズム処理の動作
フローチャート(その2)である。
FIG. 45 is an operation flowchart (part 2) of the algorithm processing according to the second improved example;

【図46】変調方式の第2の改良例に係るピッチデータ
のセット処理の動作フローチャートである。
FIG. 46 is an operation flowchart of pitch data setting processing according to a second modification of the modulation scheme.

【図47】機能キーの一部の配置図である。FIG. 47 is a layout view of a part of function keys.

【図48】DPCMのPIANO(Aグループ)におい
て、発音チャネルへの音源方式の割り当て例を示した図
である。
FIG. 48 is a diagram showing an example of assigning a sound source method to a sound channel in a PIANO (A group) of DPCM.

【図49】BASS(Bグループ)において、発音チャ
ネルへの音源方式の割り当て例を示した図である。
FIG. 49 is a diagram showing an example of assigning sound source systems to sounding channels in BASS (B group).

【図50】機能キー処理の動作フローチャート(その
1)である。
FIG. 50 is an operation flowchart (part 1) of a function key process.

【図51】機能キー処理の動作フローチャート(その
2)である。
FIG. 51 is an operation flowchart (part 2) of a function key process.

【図52】押鍵時の鍵盤キー処理の第1の実施例の動作
フローチャートである。
FIG. 52 is an operation flowchart of a first embodiment of keyboard key processing at the time of key depression.

【図53】押鍵時の鍵盤キー処理の第2の実施例の動作
フローチャートである。
FIG. 53 is an operation flowchart of a second embodiment of keyboard key processing at the time of key depression.

【図54】離鍵時の鍵盤キー処理の実施例の動作フロー
チャートである。
FIG. 54 is an operation flowchart of an embodiment of keyboard key processing at the time of key release.

【符号の説明】[Explanation of symbols]

101 マスターCPU 102 スレーブCPU 103 MCPU 外部メモリアクセス用アドレスラッ
チ部 104 SCPU 外部メモリアクセス用アドレスラッ
チ部 105 アクセス用アドレス競合回避回路 106 外部メモリセレクタ部 107 Left D/A変換器部 108 Right D/A変換器部 109 入力ポート 110 出力ポート 111、112 出力端子 113 レフト出力端子 114 ライト出力端子 115 外部メモリデータイン端子 116 外部メモリ 201、301 制御用ROM 202、302 ROMアドレスデコーダ 203 インタラプト制御部 204、304 RAMアドレス制御部 205、305 ROMアドレス制御部 206、306 RAM 207、307 コマンド解析部 208、308 ALU部 209、309 乗算器 210 入力ポート 211 出力ポート 212 SCPU 内部RAMアドレス指定バス・イン
タフェース 213 SCPU への書き込みデータバス・インタフ
ェース 214 SCPU からの読み込みデータバス・インタ
フェース 215 外部メモリアクセス用アドレスバス・イン
タフェース 216 外部メモリデータバス・インタフェース 217 D/Aデータ転送バス・インタフェース 303 MCPU によるSCPU 内部RAMアドレス指
定バス・インタフェース 310 MCPU よりの書き込みデータバス・インタ
フェース 311 MCPU への読み出しデータバス・インタフ
ェース 312 外部メモリアクセス用アドレスバス・イン
タフェース 313 外部メモリデータバス・インタフェース 401、501 ラッチ 402 D/A変換器 701 機能キー 702 鍵盤キー A SCPU リセット解除信号(処理開始信号) B SCPU 処理終了信号 Ma SCPU 内部RAMアドレス指定バス Dout MCPU がSCPU へ書き込むデータバス Din MCPU がSCPU へ読み込むデータバス MA MCPU が外部メモリを指定するアドレスバス SA SCPU が外部メモリを指定するアドレスバス MD MCPU が外部メモリから読み込むデータバス SD SCPU が外部メモリから読み込むデータバス
Reference Signs List 101 master CPU 102 slave CPU 103 MCPU external memory access address latch unit 104 SCPU external memory access address latch unit 105 access address conflict avoidance circuit 106 external memory selector unit 107 Left D / A converter unit 108 Right D / A conversion Unit 109 input port 110 output port 111, 112 output terminal 113 left output terminal 114 right output terminal 115 external memory data-in terminal 116 external memory 201, 301 control ROM 202, 302 ROM address decoder 203 interrupt control unit 204, 304 RAM Address control unit 205, 305 ROM address control unit 206, 306 RAM 207, 307 Command analysis unit 208, 308 ALU unit 209, 309 Multiplier 210 Input port 211 Output port 212 SCPU Internal RAM addressing bus interface 213 Write data bus interface to SCPU 214 Read data bus interface from SCPU 215 Address bus interface for external memory access 216 External memory data bus interface 217 D / A data transfer bus interface 303 SCPU internal RAM addressing bus interface by MCPU 310 Write data bus interface from MCPU 311 Read data bus interface to MCPU 312 Address bus interface for external memory access 313 External memory data bus -Interface 401, 501 Latch 402 D / A converter 701 Function key 702 Keyboard key ASC PU reset release signal (processing start signal) B SCPU processing end signal Ma SCPU Internal RAM addressing bus Dout Data bus that MCPU writes to SCPU Din Data bus that MCPU reads to SCPU MA MCPU Address bus where MCPU specifies external memory SA SCPU is Address bus that specifies external memory MD Data bus that MCPU reads from external memory Data bus that SD SCPU reads from external memory

───────────────────────────────────────────────────── フロントページの続き (72)発明者 斯波 康祐 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (72)発明者 太期 広一郎 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (72)発明者 細田 潤 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (56)参考文献 特開 平4−58294(JP,A) (58)調査した分野(Int.Cl.6,DB名) G10H 7/02 G10H 1/02 ────────────────────────────────────────────────── ─── Continued on the front page (72) Inventor Kosuke Shinami 3-2-1, Sakaemachi, Hamura-machi, Nishitama-gun, Tokyo Casio Computer Co., Ltd. Hamura Technical Center (72) Inventor Koichiro Taiki Hamura-cho, Nishitama-gun, Tokyo 3-2-1 Sakaemachi Casio Computer Co., Ltd. Hamura Technical Center (72) Inventor Jun Hosoda 3-2-1 Sakaemachi Hamura-cho, Nishitama-gun, Tokyo Casio Computer Co., Ltd. Hamura Technical Center (56) References JP-A-4-58294 (JP, A) (58) Fields investigated (Int. Cl. 6 , DB name) G10H 7/02 G10H 1/02

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数の発音チャネル毎に、該各発音チャ
ネルが発音状態であるか否かを示す状態フラグを含む楽
音制御データを記憶するデータ記憶手段と、通常時は演
奏情報を処理するための演奏情報処理プログラムを実行
して前記データ記憶手段上の対応する楽音制御データを
制御し、その制御において、いずれかの発音チャネルに
対して発音指示又は消音指示を行う場合に該発音チャネ
ルに対応する前記データ記憶手段上の状態フラグを発音
状態又は消音状態とする制御を行い、また、所定時間間
隔で楽音信号を得るための音源処理プログラムを実行
し、前記データ記憶手段上の状態フラグが発音状態を示
している発音チャネルに対してのみ前記データ記憶手段
上の対応する楽音制御データに基づいて楽音信号を生成
するプログラム実行手段と、を有することを特徴とする
楽音波形発生装置。
1. A data storage means for storing, for each of a plurality of sounding channels, musical tone control data including a state flag indicating whether or not each sounding channel is in a sounding state, and for normally processing performance information. And the corresponding tone control data on the data storage means is controlled by executing the performance information processing program. A sound source processing program for obtaining a tone signal at predetermined time intervals is executed, and the state flag on the data storage means is set to a sound emission state or a mute state. A program executing means for generating a tone signal based on the corresponding tone control data in the data storage means only for the tone generation channel indicating the state; And a step.
【請求項2】 発音状態であるか否かを示す状態フラグ
を含む楽音制御データを記憶するデータ記憶手段と、通
常時は演奏情報を処理するための演奏情報処理プログラ
ムを実行して前記データ記憶手段上の対応する楽音制御
データを制御し、その制御において、発音指示又は消音
指示を行う場合に前記データ記憶手段上の状態フラグを
発音状態又は消音状態とする制御を行い、また、所定時
間間隔で楽音信号を得るための音源処理プログラムを実
行し、前記データ記憶手段上の状態フラグが発音状態を
示している場合のみ前記データ記憶手段上の対応する楽
音制御データに基づいて楽音信号を生成し、その場合
に、一連の音源処理プログラムを複数の処理単位で構成
し、その各々を前記所定時間間隔を単位とする複数の一
連の実行周期で順次実行して該複数の実行周期毎に楽音
信号を生成する手段であって、前記演奏情報処理プログ
ラムの実行によって楽音信号の発音指示を行う場合に、
直後の実行周期で前記一連の処理単位のうち先頭の処理
単位に対応する音源処理プログラムが実行されるタイミ
ングまで前記状態フラグを発音状態にするのを待つ制御
を行うプログラム実行手段と、を有することを特徴とす
る楽音波形発生装置。
2. A data storage means for storing musical tone control data including a status flag indicating whether or not a sound is generated, and a performance information processing program for processing performance information in a normal state. The corresponding tone control data on the means is controlled, and in that control, when a sounding instruction or a mute instruction is given, control is performed to set a state flag on the data storage means to a sounding state or a mute state, and a predetermined time interval A sound source processing program for obtaining a tone signal is generated, and a tone signal is generated based on the corresponding tone control data on the data storage means only when the status flag on the data storage means indicates a tone generation state. In this case, a series of sound source processing programs are constituted by a plurality of processing units, each of which is sequentially executed in a plurality of series of execution cycles in units of the predetermined time interval. Means for generating a tone signal for each of the plurality of execution cycles, and instructing the generation of the tone signal by executing the performance information processing program,
Program execution means for performing control to wait for the state flag to be in a sound emitting state until a timing at which a sound source processing program corresponding to a head processing unit of the series of processing units is executed in an immediately subsequent execution cycle. A musical sound waveform generator characterized in that:
【請求項3】 前記音源処理プログラムは、変調方式に
よるものであって、変調処理単位である少なくとも1つ
のオペレータ処理と該各オペレータ処理間の各入出力処
理であるアルゴリズム処理とで構成され、前記プログラ
ム実行手段は、前記オペレータ処理と前記アルゴリズム
処理の各々を2つの連続する実行周期で順次実行して2
実行周期毎に楽音信号を生成し、前記演奏情報処理プロ
グラムの実行によって楽音信号の発音指示を行う場合
に、直後の実行周期で前記一連の処理単位のうちオペレ
ータ処理に対応する音源処理プログラムが実行されるタ
イミングまで前記状態フラグを発音状態にするのを待
つ、ことを特徴とする請求項2記載の楽音波形発生装
置。
3. The sound source processing program, which is based on a modulation method, includes at least one operator process as a modulation process unit and an algorithm process as each input / output process between the operator processes. The program executing means sequentially executes each of the operator processing and the algorithm processing at two consecutive execution cycles,
When a tone signal is generated in each execution cycle and a tone signal is to be instructed by executing the performance information processing program, the tone generator processing program corresponding to the operator process in the series of processing units is executed in the immediately subsequent execution cycle. 3. The musical sound waveform generator according to claim 2, wherein the apparatus waits until the state flag is set to a sound emitting state until the timing when the musical tone is generated.
【請求項4】 前記プログラム実行手段は、前記各実行
周期毎にインクリメントされるカウンタ手段を有し、該
カウンタ手段のカウンタ値を参照することにより、前記
先頭の処理単位に対応する音源処理プログラムが実行さ
れる実行周期の判定を行うことを特徴とする請求項2又
は3記載の楽音波形発生装置。
4. The program execution means includes counter means incremented at each execution cycle, and by referring to a counter value of the counter means, a sound source processing program corresponding to the head processing unit is generated. 4. The musical tone waveform generator according to claim 2, wherein the execution cycle to be executed is determined.
【請求項5】 前記データ記憶手段上の状態フラグは複
数の発音チャネル毎に設けられ、前記プログラム実行手
段は、前記複数の発音チャネル毎に前記演奏情報処理プ
ログラム及び前記音源処理プログラムを時分割で実行す
る、ことを特徴とする請求項2、3又は4記載の楽音波
形発生装置。
5. A status flag on the data storage means is provided for each of a plurality of sounding channels, and the program executing means executes the performance information processing program and the sound source processing program in a time division manner for each of the plurality of sounding channels. 5. The tone waveform generator according to claim 2, wherein the tone waveform generator is executed.
JP2416300A 1990-12-30 1990-12-30 Musical sound wave generator Expired - Lifetime JP2946761B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2416300A JP2946761B2 (en) 1990-12-30 1990-12-30 Musical sound wave generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2416300A JP2946761B2 (en) 1990-12-30 1990-12-30 Musical sound wave generator

Publications (2)

Publication Number Publication Date
JPH04234796A JPH04234796A (en) 1992-08-24
JP2946761B2 true JP2946761B2 (en) 1999-09-06

Family

ID=18524530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2416300A Expired - Lifetime JP2946761B2 (en) 1990-12-30 1990-12-30 Musical sound wave generator

Country Status (1)

Country Link
JP (1) JP2946761B2 (en)

Also Published As

Publication number Publication date
JPH04234796A (en) 1992-08-24

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
JP2584185B2 (en) Method and apparatus for generating audio signal
EP0463411B1 (en) Musical tone waveform generation apparatus
US5340938A (en) Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels
JPH04306697A (en) Stereo system
JP2946761B2 (en) Musical sound wave generator
JP2946764B2 (en) Musical sound wave generator
JP2869573B2 (en) Musical sound wave generator
JP3855711B2 (en) Digital signal processor for sound waveform data
JP2797139B2 (en) Musical sound wave generator
JP3035991B2 (en) Musical sound wave generator
JP3010693B2 (en) Musical sound wave generator
JP3027831B2 (en) Musical sound wave generator
JP2678974B2 (en) Musical sound wave generator
JP2869574B2 (en) Musical sound wave generator
JP3027832B2 (en) Musical sound wave generator
JP3006094B2 (en) Musical sound wave generator
JP3521724B2 (en) Tone generator
JP3855710B2 (en) Digital signal processor for sound waveform data
JP2946762B2 (en) Musical sound wave generator
JP3646823B2 (en) Electronic musical instruments
JP2585807B2 (en) Automatic rhythm playing device
JP2003157082A (en) Musical sound synthesizer
JP3695404B2 (en) Waveform processing device
JPH0764553A (en) Electronic musical instrument

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990601

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070702

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090702

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100702

Year of fee payment: 11