JP2946764B2 - Musical sound wave generator - Google Patents

Musical sound wave generator

Info

Publication number
JP2946764B2
JP2946764B2 JP2417220A JP41722090A JP2946764B2 JP 2946764 B2 JP2946764 B2 JP 2946764B2 JP 2417220 A JP2417220 A JP 2417220A JP 41722090 A JP41722090 A JP 41722090A JP 2946764 B2 JP2946764 B2 JP 2946764B2
Authority
JP
Japan
Prior art keywords
processing
sound source
data
address
tone
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
JP2417220A
Other languages
Japanese (ja)
Other versions
JPH04234797A (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 JP2417220A priority Critical patent/JP2946764B2/en
Publication of JPH04234797A publication Critical patent/JPH04234797A/en
Application granted granted Critical
Publication of JP2946764B2 publication Critical patent/JP2946764B2/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]

【産業上の利用分野】本発明は、楽音波形発生装置にお
ける音源処理方式に関し、更に詳しくは、音源処理を複
数のプロセッサで実行する楽音波形発生装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a sound source processing system in a musical sound waveform generator, and more particularly, to a musical sound waveform generator in which sound source processing is executed by a plurality of processors.

【0002】[0002]

【従来の技術】ディジタル信号処理技術とLSI処理技
術の発達により性能の良い様々な電子楽器が実現されて
いる。
2. Description of the Related Art Various electronic musical instruments having high performance have been realized by the development of digital signal processing technology and LSI processing technology.

【0003】電子楽器の楽音波形発生装置は、大量かつ
高速のディジタル演算が必要なため、従来は、必要とす
る音源方式に基づく楽音発生アルゴリズムと等価なアー
キテクチャをハードウエアで実現した専用の音源回路に
よって構成されていた。そのため、ハードウエア規模が
大きくなってしまい、また、音源方式の自由な変更が困
難であり、更に、このような楽音波形発生装置を電子楽
器として実現するような場合に、演奏情報に対する処理
と音源に対する処理の両方を同期させて行うための制御
が複雑となり、その開発において多大なコストアップを
招いていた。
[0003] A musical sound waveform generator for an electronic musical instrument requires a large amount of high-speed digital operation. Therefore, conventionally, a dedicated tone generator circuit which realizes an architecture equivalent to a tone generating algorithm based on a required tone generator system by hardware. 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.

【0004】その一方、近年においては、汎用のデータ
処理を行うための高性能なマイクロプロセッサが多く実
現されており、このようなマイクロプロセッサを使用し
て音源処理をソフト的に行う楽音波形発生装置を実現さ
せることも考えられ、特に、処理を複数のプロセッサに
分散して行わせる方式が考えられる。
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. Is realized, and in particular, a method of distributing the processing to a plurality of processors is considered.

【0005】このような方式では、例えば1つの主プロ
セッサ(マスタープロセッサ)が、通常、演奏情報処理
プログラムを実行して演奏操作に基づいて鍵盤等から発
生する演奏情報を処理し、所定の時間間隔で割り込みが
かかることによって、音源処理プログラムに処理を移し
て楽音生成を行う。このとき、他のプロセッサ(スレー
ブプロセッサ)に対しても並列に音源処理プログラムを
実行させ、その後、全てのプロセッサにおいて音源処理
プログラムの実行が終了すると、マスタープロセッサ
は、割り込みを解除して演奏情報処理プログラムの実行
を再開する。
In such a system, for example, one main processor (master 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 a predetermined time interval. , The processing is shifted to a sound source processing program to generate a musical sound. At this time, the sound source processing program is also executed in parallel by other processors (slave processors). After that, when the execution of the sound source processing program is completed in all the processors, the master processor releases the interrupt and executes the performance information processing. Resume program execution.

【0006】このような方式では、マスタープロセッサ
及びスレーブプロセッサは、各々、異なる複数の発音チ
ャネル群に対して音源処理プログラムを実行することに
なるが、それを実現するために演奏情報処理プログラム
等が実行する制御として一般的に考えられる方式は、空
いている発音チャネルから順番に発音の割り当て(アサ
イン)を行う方式である。
In such a system, the master processor and the slave processor each execute a sound source processing program for a plurality of different sound generation channel groups. A method generally considered as a control to be executed is a method of assigning sounds in order from a vacant sound channel.

【0007】[0007]

【発明が解決しようとする課題】従って、プロセッサ間
で仕事量の偏りを生じる可能性があり、例えばマスター
プロセッサのみプログラムを実行する稼働量が多くなっ
ていしまう。即ち、音源処理をソフトウエアで実行する
場合、割り込み時間が一部のプロセッサのみ長くなり、
他のプロセッサの稼働率が低下してしまうという問題点
を有している。
Therefore, there is a possibility that the work amount is uneven among the processors, and for example, the operation amount of executing the program only by the master processor increases. In other words, when sound source processing is executed by software, the interrupt time of some processors becomes longer,
There is a problem that the operation rate of another processor is reduced.

【0008】また、割り込み時間が増加すると、演奏情
報処理プログラムを実行する時間が少なくなり、リアル
タイムで処理すべき高度で複雑な演奏情報処理等を実行
することができなくなってしまうという問題点を有して
いる。
Further, when the interruption time increases, the time for executing the performance information processing program decreases, and it becomes impossible to execute sophisticated and complicated performance information processing or the like to be processed in real time. doing.

【0009】本発明の課題は、音源処理を複数のプロセ
ッサで実行する場合に、それぞれのプロセッサにおいて
効率的な音源処理を実現し、かつ高度な演奏情報処理を
可能とすることにある。
It is an object of the present invention to realize efficient sound source processing in each processor when performing sound source processing by a plurality of processors, and to enable advanced performance information processing.

【0010】[0010]

【課題を解決するための手段】本発明は、まず、複数の
発音チャネル毎に楽音制御データを記憶するデータ記憶
手段と、所定時間間隔で楽音信号を得るための音源処理
プログラムを実行して各発音チャネル毎にデータ記憶手
段上の対応する楽音制御データに基づいて楽音信号を生
成するプログラム実行手段と、を各々含む複数の音源処
理プロセッサを有する。
According to the present invention, first, data storage means for storing tone control data for each of a plurality of tone generation channels, and a tone generator processing program for obtaining tone signals at predetermined time intervals are executed to execute each of the programs. And a program executing means for generating a tone signal based on the corresponding tone control data in the data storage means for each sounding channel.

【0011】また、次のような演奏情報処理プロセッサ
を有する。すなわち、演奏情報処理プロセッサは、演奏
情報を処理するための演奏情報処理プログラムを実行し
て各音源処理プロセッサのデータ記憶手段の楽音制御デ
ータを制御し、その場合に、各音源処理プロセッサの各
発音チャネルが均等に使用されて楽音生成が行われるよ
うに各発音チャネルの楽音制御データを制御する。そし
て、演奏情報処理プロセッサは、所定時間間隔で各音源
処理プロセッサのプログラム実行手段に対して並列に音
源処理プログラムを実行させる。
[0011] Further, it has the following performance information processing processor. That is, the performance information processing processor executes the performance information processing program for processing the performance information and controls the tone control data in the data storage means of each sound source processing processor. The tone control data of each tone generation channel is controlled so that the channels are used equally and the tone generation is performed. Then, the performance information processing processor causes the program execution means of each sound source processing processor to execute the sound source processing program in parallel at predetermined time intervals.

【0012】上述の構成において、演奏情報処理プロセ
ッサは前述の複数の音源処理プロセッサのうちの1つで
兼用されるようにしてもよい。この場合、その1つの音
源処理プロセッサ(マスタープロセッサ)は、通常時に
演奏情報処理プログラムを実行し、所定時間間隔で割り
込み処理により各音源処理プロセッサ(マスタープロセ
ッサ自身及びスレーブプロセッサ)に対して、並列に音
源処理プログラムを実行させ、それらの実行が終了した
ら再び演奏情報処理プログラムに制御を戻してそれを実
行する。
In the above configuration, the performance information processing processor may be shared by one of the plurality of tone generator processors. In this case, the one sound source processor (master processor) executes the performance information processing program at normal times, and executes interrupt processing at predetermined time intervals to each sound source processor (master processor and slave processor) in parallel. The sound source processing program is executed, and when the execution is completed, the control is returned to the performance information processing program again and executed.

【0013】[0013]

【作用】本発明では、複数の音源処理プロセッサを用い
て分散処理で音源処理を実行する場合、演奏情報処理を
実行する演奏情報処理プロセッサが、各音源処理プロセ
ッサの各発音チャネルが均等に使用されて楽音生成が行
われるように各発音チャネルの楽音制御データを制御す
る。
According to the present invention, when sound source processing is executed by distributed processing using a plurality of sound source processing processors, the performance information processing processors for executing performance information processing use the sound generation channels of each sound source processing processor equally. The tone control data of each tone generation channel is controlled so that a tone is generated.

【0014】これにより、各プロセッサの負荷を均一化
することができ、1タイミングあたりの音源処理全体に
要する時間を短縮化させることができる。 更に、音源
処理を演奏情報処理プログラムに対する割り込みプログ
ラムによって実現する場合、割り込み時間が短くなるた
め、演奏情報処理プログラムに多くの時間を割り当てる
ことができ、高度で複雑な演奏情報処理等をリアルタイ
ムで実行することができる。
Thus, the load on each processor can be made uniform, and the time required for the entire sound source processing per one timing can be shortened. Furthermore, when the sound source processing is realized by an interrupt program for the performance information processing program, the interrupt time is shortened, so that a lot of time can be allocated to the performance information processing program, and sophisticated and complicated performance information processing can be executed in real time. can do.

【0015】[0015]

【実施例】以下、図面を参照しながら本発明の実施例に
つき説明する。 <本実施例の構成>図1は、本実施例の全体構成図であ
り、外部メモリ116以外は1チップで構成され、その
中のマスターとスレーブの2つのCPU(中央演算制御
装置)が互いに情報を交換しつつ、楽音作成のための音
源処理を分担して行う。
Embodiments of the present invention will be described below with reference to the drawings. <Structure of the present embodiment> FIG. 1 is an overall structural diagram of the present embodiment, which is constituted by one chip except for the external memory 116, in which two CPUs (central processing control units) of a master and a slave are mutually connected. While exchanging information, it performs the sound source processing for musical tone creation.

【0016】図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.

【0017】一方、マスタ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.

【0018】上記アドレス指定に基づいて外部メモリ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 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.

【0019】その後、それぞれのデータに対し、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.

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

【0021】同図において、制御用ROM201には、
後述する楽音制御用のプログラムが記憶されており、R
OMアドレス制御部205からROMアドレスデコーダ
202を介して指定されたアドレスのプログラム語(命
令)を順次出力する。具体的には、各プログラム語の語
長は例えば28ビットであり、プログラム語の一部が次
に読み出されるべきアドレスの下位部(ページ内アドレ
ス)としてROMアドレス制御部205に入力されるネ
クストアドレス方式となっている。
In FIG. 1, 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.

【0022】コマンド解析部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.

【0023】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.

【0024】ALU部208及び乗算器209は、制御
ROM31からの命令が演算命令の場合に、コマンド解
析部207からの指示に基づいて、前者は加減算と論理
演算、後者は乗算を実行する。
When the instruction from the control ROM 31 is an operation 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.

【0025】インタラプト制御部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), at regular time intervals,
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.

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

【0027】すなわち、外部メモリ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 an address bus MA for specifying 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).

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

【0029】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に出力される。これについては
後述する。
The SCPU 102 only performs the sound source processing in response to the processing start signal from the MCPU 101.
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.

【0030】以上に示される構成のほか、本実施例で
は、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.

【0031】次に、図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.

【0032】ここで、前述の音源処理に要する時間は、
音源処理用のソフトウエアにより変化する。そのため、
音源方式が異なる場合は、各音源処理が終了し、ラッチ
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.

【0033】そこで、本実施例では図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.

【0034】このようにラッチを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>

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

【0036】本実施例は、基本的には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.

【0037】以上が、本実施例の概略の全体動作であ
る。次に、本実施例の全体動作の詳細について、図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.

【0038】図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.

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

【0040】まず、電源が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.

【0041】次に、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.

【0042】その後、押鍵されている鍵盤キーの状態が
上述の機能キーの場合と同様に取り込まれ(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.

【0043】次に、機能キー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).

【0044】その後に、以下に述べるタイマー処理が行
われる(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.

【0045】更に、発音処理S909 では、上記各ステッ
プS905 〜S907 でアサインされ発音開始されるべき発
音チャネルにピッチデータを設定し、また、発音中の発
音チャネルのピッチデータを予め設定されたエンベロー
プに従って時間的に変化させ発音中の楽音のピッチに変
化を付加するというピッチエンベロープ処理等が行われ
る。
Further, in the sound generation process S909, pitch data is set to a sound channel to be assigned and to start sound generation in each of the above steps S905 to S907, and the pitch data of the sound channel being sounded is set according to a 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.

【0046】更に、フロー1周準備処理が実行される
(S910 )。ここでは、上述のステップS909 で新たに
ピッチデータが設定された発音チャネルの状態を発音中
に変えたり、逆にステップS905 〜S907 で解放された
発音チャネルの状態を消音中に変える等の処理が行われ
る。なお、各発音チャネルが発音中であるか消音中であ
るかは、RAM206(図2)に記憶される各発音チャ
ネル対応の変数HSS1 〜HSS8 が1か0かによって
判断される。
Further, a one-round flow preparation process 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.

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

【0048】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.

【0049】まず、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.

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

【0051】上述の動作と同時に、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.

【0052】そして、MCPU インタラプト処理における
音源処理(S1011)とほぼ同時に、SCPU インタラプト
処理において音源処理が開始される(S1101)。このよ
うに、MCPU 101とSCPU 102の両者が並行して音
源処理を実行することによって、1つのCPUで音源処
理を実行する場合に較べて音源処理の処理速度が約2倍
になる。
At approximately the same time as the sound source process in the MCPU interrupt process (S1011), the sound source process in the SCPU interrupt process is started (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.

【0053】続いて、MCPU 101では、S1012のイン
タラプトタイマー処理の後、SCPU 102からSCPU イ
ンタラプト処理の終了信号が来るのを待っている(S10
13)。なお、インタラプトタイマー処理では、図10の
インタラプト処理が一定のサンプリング周期毎に実行さ
れることを利用して、RAM206(図2)上の特には
図示しない時間データの値がインクリメントされる。す
なわち、この時間データの値を見れば時間経過がわか
る。このようにして得られる時間データは、前述したよ
うに、図9のメインフローのタイマー処理S908 におけ
る時間制御に用いられる。
Subsequently, after the interrupt timer process of S1012, the MCPU 101 waits for an end signal of the SCPU interrupt process from the SCPU 102 (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.

【0054】図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.

【0055】この結果、図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.

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

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

【0058】まず、ある処理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.

【0059】以上のような動作が、全ての発音チャネル
(MCPU 101とSCPU 102で実行中の発音チャネ
ル)に対する音源処理が行われながら繰り返される(S
1204〜S1216)。そして、この繰り返し処理は、楽音の
発音中続けられる。 <キーアサイン処理、音源処理の詳細動作>
The above operation is repeated while sound source processing is performed for all sound channels (sound 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>

【0060】次に、図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.

【0061】前述したように、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.

【0062】まず、図13、図14は、図9のメインフ
ローチャートのステップS905 、S906 及びS907 で実
行されるキーアサイン処理の動作フローチャートであ
る。始めに、これから行われるキーアサイン処理が発音
のための処理であるか消音のための処理であるかが判定
される(S1301)。これは、キーオンが指示されたかキ
ーオフが指示されたかを判定する処理である。
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. First, it is determined whether the key assignment process to be performed is a process for sound generation or a process for silence (S1301). This is a process for determining whether a key-on or a key-off has been instructed.

【0063】発音処理である場合、次に、変数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.

【0064】ステップ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.

【0065】一方、ステップ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.

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

【0067】一方、ステップ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).

【0068】消音すべき楽音が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.

【0069】逆に、消音すべき楽音がSCPU 102にア
サインされておりステップS1308の判定がNOの場合、
その楽音がアサインされているSCPU 102の発音チャ
ネルがキャンセルされ空チャネルにされる(S1311)。
そして、変数SECの内容が+1されて(S1312)、キ
ーアサイン処理を終了する。
Conversely, if the tone to be silenced is 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.

【0070】なお、図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 sounding channels to generate a musical tone waveform for one sound, the key assignment process of 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.

【0071】以上のようにして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.

【0072】また、続くステップ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にされる。
In the flow one round preparation process of the subsequent step S910, the state of the sounding channel secured by the above-described key assignment process is changed during sounding, and 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.

【0073】次に、図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.

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

【0075】次に、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).

【0076】以下、ステップS1504とS1505、S1506と
S1507、S1508とS1509、S1510とS1511、S1512とS
1513、S1514とS1515及びS1516とS1517において、2
番目から8番目の各発音チャネルについて同様の処理が
行われる。
Steps S1504 and S1505, S1506 and S1507, S1508 and S1509, S1510 and S1511, and 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.

【0077】そして、最後に8チャネル目の音源処理が
終了した時点で、所定のバッファ領域B(図21で後述
する)に8チャネル分が加算された波形データが得られ
る。これらの詳細な処理については後述する。 以上の
動作からわかるように、各インタラプト処理で実行され
る音源処理においては、アサインが行われていない消音
中の発音チャネルについては音源処理が実行されないた
め、前述の図13、図14の均等なキーアサイン処理と
合せて実行されることにより、インタラプト処理時間の
短縮化が実現される。 <音源処理におけるデータ構成>
When the sound source processing for the eighth channel is completed, waveform data obtained by adding the data for the 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>

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

【0079】本実施例では、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.

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

【0081】この場合、図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 in detail later, 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.

【0082】図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.

【0083】次のAE はエンドアドレス、AL はループ
アドレスをそれぞれ表す。また、つぎのPI 、P1 及び
P2 はピッチデータの整数部、PF はピッチデータの小
数部を表す。例を示すと、PI =1、PF =0は原音の
ピッチを、PI =2、PF =0は1オクターブ上のピッ
チを、また、PI =0、PF =0.5は、1オクターブ
下のピッチをそれぞれ表す。
The following 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.

【0084】次の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.

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

【0086】このように、図19、図20に示すような
データがMCPU 101、SCPU 102のそれぞれのRA
M206、306に確保され、後述する音源方式が決ま
ると、図17に示す各チャネル毎に図19、図20のフ
ォーマットで、データが設定される。
As described above, 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.

【0087】以下、このようなデータ構成を用いて実行
される各音源方式の音源処理について順次説明する。な
お、これらの音源処理は、MCPU 101又はSCPU 10
2のコマンド解析部207又は307が、制御用ROM
201又は301に格納されている音源処理用のプログ
ラムを解釈・実行することにより実現される。以下、特
に言及しないかぎり、この前提のもとで処理が行われる
とする。
Hereinafter, the sound source processing of each sound source system executed using such a data structure will be sequentially described. 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.

【0088】まず、図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>

【0089】上記音源方式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.

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

【0091】まず、現在のアドレスにピッチデータ(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.

【0092】そして、加算されたアドレスの整数部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).

【0093】そして、上記補間データ値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).

【0094】この後、このサンプルデータにエンベロー
プ値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 content of the obtained O is 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).

【0095】その後、図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).

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

【0097】この間、サンプルデータ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.

【0098】次に、S2201で現在アドレス(AI,AF )
にピッチデータ(PI,PF )が加算された結果、現在ア
ドレスの整数部AI が変化したら(S2202)、アドレス
AI がエンドアドレスAE に達しているか又は越えてい
るか否かが判定される(S2203)。
Next, at 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). .

【0099】判定が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.

【0100】S2203の判定がNOならば、上記ステップ
S2204の処理は実行されない。 次に、サンプルデータ
の更新が行われる。ここでは、外部メモリ116(図1
参照)から、新しく更新された現在アドレスAI と1つ
手前のアドレス(AI −1)に対応する各サンプルデー
タが、それぞれXN 及びXP として読み出される(S22
05)。
If the determination in S2203 is NO, the process 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).

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

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

【0103】以上のようにして、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>

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

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

【0106】同図において、外部メモリ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.

【0107】この場合、現在アドレスを、図26のよう
にAF とすれば、現在アドレスAF に対応するサンプル
データは、XP +D×AFで求まる。このように、DP
CM方式では、現在のアドレスと、次のアドレスに対応
するサンプルデータ間の差分値Dが外部メモリ116
(図1)から読み出され、現在のサンプルデータに加算
されて、次のサンプルデータが求められることにより、
順次波形データが作成される。
In this case, assuming that the current address is AF as shown in FIG. 26, the sample data corresponding to the current address AF is obtained by XP + D × AF. Thus, DP
In the CM system, the difference value D between the current address and the sample data corresponding to the next address is stored in the external memory 116.
(FIG. 1), and is added to the current sample data to determine the next sample data.
Waveform data is created sequentially.

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

【0109】以上のDPCM方式の動作を、図23、図
24の動作フローチャートを用いて説明する。フロー中
の各変数は、MCPU 101のRAM206又はSCPU 1
02のRAM306上の図17のいずれかの発音チャネ
ル領域に記憶される図19のテーブル1のDPCMフォ
ーマットの各データである。
The operation of the above 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.

【0110】外部メモリ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 is stored, where the data to be processed is stored. ).

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

【0112】そして、加算されたアドレスの整数部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).

【0113】次に、上記補間データ値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).

【0114】この後、このサンプルデータにエンベロー
プ値Eが乗算され(S2316)、得られたOの内容がMCP
U 101のRAM206又はSCPU 102のRAM30
6内の波形データバッフアB(図21参照)に加算され
る(S2317)。
Thereafter, the sample data is multiplied by an envelope value E (S2316), and the content of the obtained O is 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).

【0115】その後、図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 cycle, 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).

【0116】以上の動作が、アドレスの整数部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.

【0117】次に、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). .

【0118】判定が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.

【0119】このようにして、現在アドレスの整数部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).

【0120】上述の音源処理が各インタラプトタイミン
グ毎に繰り返され、S2303の判定がYESに変化した
ら、次のループ処理に入る。まず、エンドアドレスAE
を越えた分のアドレス(AI −AE )がループアドレス
AL に加算され、得られたアドレスが新たな現在アドレ
スの整数部AI とされる(S2308)。
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. First, the end address AE
Are added to the loop address AL, and the obtained address is used as the integer part AI of the new current address (S2308).

【0121】以下、ループアドレス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 に対応する値となる。
Thereafter, 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, whereby 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.

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

【0123】以上のようにして、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>

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

【0125】次に、図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 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.

【0126】最初に、モジュレータであるオペレータ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.

【0127】まず、現在アドレス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.

【0128】更に、アドレス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).

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

【0130】この後、この出力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

【0131】また、O2 にモジュレーション・レベルM
L2が乗算されて、モジュレーション出力MO2が得られる
(S2706)。このモジュレーション出力M02は、オペレ
ータ1(OP1) への変調入力になる。
Further, the modulation level M is applied 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).

【0132】次に、オペレータ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.

【0133】まず、オペレータ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).

【0134】次に、このアドレス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).

【0135】そして、これが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 ends. <First sound source processing by TM modulation method>

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

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

【0138】前述のFM変調方式は、The above-mentioned FM modulation method is as follows.

【0139】e=A・sin{ωct+I(t)・sinωmt} なる演算式を基本とする。ここで、ωctは搬送波位相角
(搬送信号)、sin ωmtは変調波位相角(変調信号)、
及びI(t)は変調指数である。
[0139] The operation formula is basically based on the following equation: 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.

【0140】これに対し、本実施例で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 the present 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).

【0141】 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π)

【0142】また、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.

【0143】 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π)

【0144】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.

【0145】このような原理の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.

【0146】最初に、モジュレータであるオペレータ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.

【0147】まず、現在アドレスA2 にピッチデータP
2 が加算される(S2901)。次に、変形サイン変換fcに
より、上記アドレスA2 (位相)に対応する変形サイン
波が外部メモリ116(図1)から読み出され、搬送信
号がO2 として生成される(S2902)。
First, the pitch data P is stored in the current address A2.
2 is added (S2901). Next, a 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 a carrier signal is generated as O2 (S2902).

【0148】続いて、搬送信号である上述の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 is made O2 (S290).
3). The feedback output FO2 is obtained by executing the process of S2906 described later at the previous interrupt timing.

【0149】そして、上述の加算アドレスO2 に対応す
る三角波の値が計算される。実際には、外部メモリ11
6(図1)に前述した三角波データが記憶されており、
上記アドレスO2 でその三角波データをテーブル引きす
ることにより得られる(S2904)。
Then, the value of the triangular wave corresponding to the 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).

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

【0151】この後、この出力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

【0152】また、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).

【0153】次に、オペレータ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.

【0154】まず、オペレータ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).

【0155】次に、このO1 に上述のモジュレーション
出力MO2が加算されて新たなO1 とされ(S2910)、こ
の値O1 が三角波変換され(S2911)、更にエンベロー
プ値E1 が乗算されて楽音波形出力O1 が得られる(S
2912)。
Next, the above-mentioned modulation output MO2 is added to this O1 to form 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).

【0156】これがRAM206(図2)又は306
(図3)内のバッファB(図21参照)に加算され(S
2913)、1発音チャネル分のTM変調処理を終了する。
以上、PCM、DPCM、FM、TMという4つの方式
による音源処理を説明した。この中でFMとTMの2方
式は変調方式であり、上述の例ではいずれも、図28、
図30に示すアルゴリズムに基づく2オペレータによる
処理であるが、実際に演奏時の音源処理は、オペレータ
の数がもっと多く、アルゴリズムはより複雑である。そ
の例が図31に示されている。同図のアルゴリズム1で
は、フィードバック入力も含めて4重の変調が行われ、
複雑な波形が得られる。またアルゴリズム2では、フィ
ードバック入力を有する2組のアルゴリズムが並列して
おり、例えばアタックからサステインに移行する際の音
色変化を表現するのに適している。またアルゴリズム4
は、サイン波合成法に近い特徴を有する。
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.
The sound source processing according to the four methods of PCM, DPCM, FM, and TM has been described above. Among them, the two systems, FM and TM, are modulation systems.
Although the processing is performed by two operators based on the algorithm shown in FIG. 30, the sound source processing actually performed at the time of performance involves more operators and the algorithm is more complicated. An example is shown in FIG. In the algorithm 1 shown in the figure, quadruple modulation including feedback input is performed.
A complicated waveform can be 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
Have characteristics close to the sine wave synthesis method.

【0157】図31の4オペレータによるFM方式とT
M方式の通常考えられる音源処理の例を、図32、図3
3及び図34、図35を用いて順次説明する。 <FM変調方式による第2の音源処理>
The FM system and T by the 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>

【0158】図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.

【0159】始めに、オペレータ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).

【0160】次に、オペレータ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).

【0161】次に、オペレータ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.

【0162】最後に、オペレータ1(OP1) の処理に入る
が、これもステップS3220までは、これまでと同様な処
理が行われる。そして、S3220で得られた楽音波形出力
O1 は、キャリアとしてバッファB(図21参照)に累
算される(S3221)。 〈TM変調方式による第2の音源処理〉
Finally, the process of the operator 1 (OP1) is started. In this case, the process up to step S3220 is the same as before. 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>

【0163】図34、図35は、図31のアルゴリズム
1に対応するTM変調方式に基づく通常考えられる音源
処理の動作フローチャートである。フロー中の各変数
は、MCPU 101又はSCPU 102のRAM206、3
06上の図17のいずれかの発音チャネル領域に記憶さ
れる。なお、図20のテーブル1のTMフォーマットの
各データには対応していないが、図20のデータフォー
マットを拡張すれば容易に実現できることは明らかであ
る。
FIGS. 34 and 35 are operation flowcharts of sound source processing that can be normally considered based on the TM modulation method corresponding to the algorithm 1 in 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.

【0164】まず、オペレータ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).

【0165】次に、オペレータ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).

【0166】次に、オペレータ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.

【0167】最後に、オペレータ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).

【0168】以上、変調方式による通常の音源処理の実
施例を説明したが、この処理は、前述したように1発音
チャネル分の処理で、実際にはMCPU 101とSCPU 1
02の各1CPU当たり、8発音チャネル分処理される
(図15参照)。そして、ある発音チャネルに変調方式
が指定されていれば、上述の変調方式による音源処理が
働く。 <変調方式の第1の改良例>
Although the embodiment of the normal sound source processing by the modulation method has been described above, 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>

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

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

【0171】同図において、オペレータ1、2、3、4
処理は、用いられる変数名が異なるだけでプログラム構
造は同じであるここで、各オペレータ処理は、変調入力
を決めなければ、オペレータ処理を行うことはできな
い。というのは、図31に示されるようにアルゴリズム
によって各オペレータ処理への変調入力が異なるからで
ある。つまり、どのオペレータ処理の出力を変調入力と
するのか、あるいは他のオペレータ処理でなく自分のオ
ペレータ処理の出力をフィードバックして、自分の変調
入力とするのかを決める必要がある。そこで、図36の
動作フローでは、このような接続関係がアルゴリズム処
理(S3605)としてまとめて行われ、これにより得られ
る接続関係が次のインタラプトタイミングにおける各オ
ペレータ処理(S3602〜S3604)における変調入力を決
定するように動作する。なお、発音開始時の(すなわち
一番始めの)各オペレータ処理への入力としては、或る
初期値が与えられる。
In the figure, operators 1, 2, 3, 4
The processing has the same program structure except for the variable names used. Here, the operator processing 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).

【0172】このように、オペレータ処理とアルゴリズ
ム処理を分離すれば、いかなるアルゴリズムの場合で
も、オペレータ処理のプログラムは同一でよく、アルゴ
リズム処理のみ変更すればよい。従って、変調方式によ
る音源処理全体のプログラム容量を大幅に減少させるこ
とが可能となる。
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.

【0173】次に、上述の基本概念に基づく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.

【0174】図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 set (S3701).

【0175】次に、このアドレスA1 に変調入力MI1が
加算され、アドレスAM1が得られる(S3702)。変調入
力MI1は、前回のインタラプトタイミングでのアルゴリ
ズム処理S3605(図36)によって決定され、アルゴリ
ズムによって、そのオペレータ自身のフィードバック出
力FO1であったり、あるいは他のオペレータ、例えばオ
ペレータ2の出力MO2であったりする。
Next, the modulation input MI1 is added to the address A1, and the 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.

【0176】次に、このアドレス(位相)AM1に対応す
る正弦波の値が外部メモリ116(図1)から読み出さ
れ、出力O1 が得られる(S3703)。その後、これにエ
ンベロープデータE1 が乗算された値が、オペレータ1
の出力O1 になる(S3704)。
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). After that, the value obtained by multiplying this by the envelope data E1 is given to the operator 1
(S3704).

【0177】また、この出力O1 にフィードバック・レ
ベルFL1が乗算されてフィードバック出力FO1が得られ
(S3705)、出力O1 にモジュレーション・レベルML1
が乗算されて、モジュレーション出力MO1が得られる
(S3706)。
Further, 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).

【0178】次に、前述の基本概念に基づく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 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.

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

【0180】次に、変形サイン変換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).

【0181】そして、出力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).

【0182】次に、このアドレス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).

【0183】この後、この出力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).

【0184】次に、上述のFM方式とTM方式の両変調
方式でのオペレータ処理における変調入力を決定するた
めの図36のアルゴリズム処理S3605の具体例を図41
及び図42の動作フローチャートで説明する。同図のフ
ローは、FM方式とTM方式共通であり、図31のアル
ゴリズムの1〜4を切り替えて処理する例である。この
場合のアルゴリズム1〜4の選択枝は、演奏者による特
には図示しない指示に基づいて選択される(S4100)。
FIG. 41 shows a specific example of the algorithm processing S3605 of FIG. 36 for determining the modulation input in the operator processing in both the FM system and the TM system.
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).

【0185】まず、アルゴリズム1は、図31(a) のよ
うに4オペレータ(OPと略称する)直列型で、OP4 のみ
フィードバック入力を有する。すなわち、
First, Algorithm 1 is a 4-operator (abbreviated as OP) serial type as shown in FIG. 31 (a), and only OP4 has a feedback input. That is,

【0186】OP4 のフィードバック出力FO4がOP4 の変
調入力MI4とされ(S4101)、
The feedback output FO4 of OP4 is used as the modulation input MI4 of OP4 (S4101).

【0187】OP4のモジュレーション出力MO4がOP3 の
変調入力MI3とされ(S4102)、
The modulation output MO4 of OP4 is used as the modulation input MI3 of OP3 (S4102).

【0188】OP3 のモジュレーション出力MO3がOP2 の
変調入力MI2とされ(S4103)、
The modulation output MO3 of OP3 is used as the modulation input MI2 of OP2 (S4103).

【0189】OP2 のモジュレーション出力MO2がOP1 の
変調入力MI1とされ(S4104)、
The modulation output MO2 of OP2 is used as the modulation input MI1 of OP1 (S4104).

【0190】OP1 の出力O1 がキャリア出力としてバッ
ファB(図21参照)に加算される(S4105)、という
アルゴリズムである。
The algorithm is that the output O1 of OP1 is added to the buffer B (see FIG. 21) as a carrier output (S4105).

【0191】アルゴリズム2は、図31(b) のように、
OP2 とOP4 がフィードバック入力を有する。すなわち、
The algorithm 2 is as shown in FIG.
OP2 and OP4 have feedback inputs. That is,

【0192】OP4 のフィードバック出力FO4がOP4 の変
調入力MI4とされ(S4106)、
The feedback output FO4 of OP4 is used as the modulation input MI4 of OP4 (S4106).

【0193】OP4 のモジュレーション出力MO4がOP3 の
変調入力MI3とされ(S4107)、
The modulation output MO4 of OP4 is used as the modulation input MI3 of OP3 (S4107),

【0194】OP2 のフィードバック出力FO2がOP2 の変
調入力MI2とされ(S4108)、
The feedback output FO2 of OP2 is used as the modulation input MI2 of OP2 (S4108).

【0195】OP2 とOP3 のモジュレーション出力MO2,
MO3がOP1 の変調入力MI1とされ(S4109)、
The modulation outputs MO2, OP2 of OP2 and OP3
MO3 is set as the modulation input MI1 of OP1 (S4109),

【0196】OP1 の出力O1 がキャリア出力としてバッ
ファBに加算される(S4110)、というアルゴリズムで
ある。
The algorithm is that the output O1 of OP1 is added to the buffer B as a carrier output (S4110).

【0197】アルゴリズム3は、OP2 とOP4 がフィード
バック入力を有し、2オペレータ直列型が2つ並列に構
成される。すなわち、
In Algorithm 3, OP2 and OP4 have feedback inputs, and two 2-operator serial types are configured in parallel. That is,

【0198】OP4 のフィードバック出力FO4がOP4 の変
調入力MI4とされ(S4111)、
The feedback output FO4 of OP4 is used as the modulation input MI4 of OP4 (S4111).

【0199】OP4 のモジュレーション出力MO4がOP3 の
変調入力MI3とされ(S4112)、
The modulation output MO4 of OP4 is used as the modulation input MI3 of OP3 (S4112).

【0200】OP2 のフィードバック出力FO2がOP2 の変
調入力MI2とされ(S4113)、
The feedback output FO2 of OP2 is used as the modulation input MI2 of OP2 (S4113).

【0201】OP2 のモジュレーション出力MO2がOP1 の
変調入力MI1とされ(S4114)、
The modulation output MO2 of OP2 is used as the modulation input MI1 of OP1 (S4114).

【0202】OP1とOP3 の各出力O1 とO3 がキャリア
出力としてバッフアBに加算される(S4115)、という
アルゴリズムである。
The algorithm is that the outputs O1 and O3 of OP1 and OP3 are added to the buffer B as a carrier output (S4115).

【0203】アルゴリズム4は、4オペレータ並列型
で、全オペレータがフィードバック入力を有する。すな
わち、
Algorithm 4 is a 4-operator parallel type, in which all operators have feedback inputs. That is,

【0204】OP4 のフィードバック出力FO4がOP4 の変
調入力MI4とされ(S4116)、
The feedback output FO4 of OP4 is used as the modulation input MI4 of OP4 (S4116).

【0205】OP3 のフィードバック出力FO3がOP3 の変
調入力MI3とされ(S4117)、
The feedback output FO3 of OP3 is used as the modulation input MI3 of OP3 (S4117),

【0206】OP2 のフィードバック出力FO2がOP2 の変
調入力MI2とされ(S4118)、
The feedback output FO2 of OP2 is used as the modulation input MI2 of OP2 (S4118).

【0207】OP1 のフィードバック出力FO1がOP1 の変
調入力MI1とされ(S4119)、
The feedback output FO1 of OP1 is used as the modulation input MI1 of OP1 (S4119).

【0208】全オペレータの出力O1 、O2 、O3 及び
O4がバッファBに加算される(S4120)、というアル
ゴリズムである。
The algorithm is such that the outputs O1, O2, O3 and O4 of all the operators are added to the buffer B (S4120).

【0209】以上説明したオペレータ処理と、アルゴリ
ズム処理によって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 in this state. <Second Modified Modulation Example>

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

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

【0212】そこで、以下に説明する第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.

【0213】この動作について、図43の動作フローチ
ャートを用いて説明する。まず、オペレータ処理とアル
ゴリズム処理を交互に行うため、変数Sを用いてSmod
2("x mod y" は、値xを値yで除算した剰余を示す
演算)がゼロか否か、即ち、Sが偶数か否かが判定され
る(S4301)。この変数Sは、各発音チャネル共通でM
CPU 101のRAM206上に1つだけ設けられる(図
21)。
This operation will be described with reference to the operation flowchart of FIG. First, since the operator process and the algorithm process are performed alternately, Smod
It is determined whether or not 2 (“x mod 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 (S4301). This variable S is M
Only one is provided on the RAM 206 of the CPU 101 (FIG. 21).

【0214】あるインタラプトタイミングにおいて、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.

【0215】次に、オペレータ処理のルートを抜け、バ
ッファ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 process, an output process is executed in which the value of the buffer BF (in the case of the FM system) or the buffer BT (in the case of the TM system) is set in the buffer B (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.

【0216】以上の処理により、今回のインタラプトタ
イミングにおける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.

【0217】次のインタラプトが発生すると、まず、図
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 of 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).

【0218】この処理においては、前回のインタラプト
タイミングにおいて、オペレータ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 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).

【0219】以上のように、図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.

【0220】次に、音源処理として実行される複数ある
音源方式の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 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.

【0221】図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.

【0222】ここで、その音源処理が図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.

【0223】従って、もし、ある発音チャネルにピッチ
データが設定され、その直後のインタラプトタイミング
においてその発音チャネルに対してアルゴリズム処理が
実行されると、その発音チャネルについて発音開始後ま
だ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.

【0224】そこで、変調方式の第2の改良例に係る上
記実施例においては、ある発音チャネルについて新たな
アサインが発生し、その発音チャネルで実行されるべき
音源処理が変調方式の場合であって、その直後のインタ
ラプトタイミングがアルゴリズム処理のタイミングであ
る場合には、その発音チャネルへのピッチデータの設定
は行わず、次にオペレータ処理が実行されるタイミング
まで待つように制御を行うようにする。これにより、そ
の発音チャネルについては、次にオペレータ処理が実行
されるタイミングまで、図9のステップS910 において
変数HSSがセットされないため、インタラプトが発生
しても、図15のアルゴリズムにより、その発音チャネ
ルの音源処理は実行されないように制御することがで
き、インタラプト処理の実行時間を短縮させることがで
きる。
Therefore, in the above-described 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.

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

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

【0227】この判定が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).

【0228】この判定がYESの場合には、続いて、変
数SについてSmod2が1であるか否かが判定される
(S4603)。その判定がNOで変数Sの値が現在偶数の
場合には、インタラプトが発生して図10のステップS
1010において変数Sが奇数とされS4603の判定がYES
となるまで待つ(S4603の繰り返し)。
If the determination is YES, it is determined whether Smod2 of the variable S is 1 (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).

【0229】そして、変数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).

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

【0231】これにより、その直後にインタラプトが発
生すると図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.

【0232】逆に、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 sounding channel, the determination in step S1502 and the like in FIG. 15 is NO. The sound source processing for the sound channel is skipped, and the execution time of the interrupt processing can be reduced.

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

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

【0235】上述の発音チャネル毎に行われる音源処理
においては、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, an operation panel of an electronic musical instrument via the input port 210 (see FIG. 2) of the MCPU 101 by a 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.

【0236】図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.

【0237】一方、Bグループの「チューバ」のスイッ
チが押されればFM方式により、「ベース」が押されれ
ばPCM/TM両方式により、また、「トランペット」
が押されればPCM方式により、それぞれの音色が指定
され、それらの音源方式に基づく楽音が生成されること
になる。
On the other hand, when the switch of the “Tuba” in 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.

【0238】図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.

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

【0240】まず、演奏者により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.

【0241】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.

【0242】次に、現在、図47のAグループの音色が
指定されているか否かが判定される(S5005)。DPC
M/TMスイッチ4701はAグループの音色に対して
のみ有効であるため、Aグループの音色が指定されてS
5005の判定がYESの場合にのみ、S5006〜S5008のD
PCM/TMスイッチ4701に対応する動作が実行さ
れる。
Next, it is determined whether or not 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.

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

【0244】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).

【0245】また、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).

【0246】以上は、図47のDPCM/TMスイッチ
4701が操作された場合であるが、同スイッチが操作
されずステップS5001の判定がNOとなった場合、又は
Aグループの音色が指定されておらずステップS5005の
判定がNOになった場合は、スイッチS5009以下の処理
が実行される。
The above is the case where the DPCM / TM switch 4701 in FIG. 47 has been operated. However, 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.

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

【0248】その判定が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.

【0249】音色スイッチに変化があって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).

【0250】Bグループの音色が指定されてS5010の判
定がYESならば、RAM206及び306(図2及び
図3参照)上の各発音チャネル領域に、指定された音色
に対応する音源方式のデータフォーマットでデータが設
定される。そして、各発音チャネル領域の先頭領域G
(図19、図20参照)に各音源方式を示す音源方式No
が設定される。また、各発音チャネル領域の第2番目以
降の領域に現在指定されている音色に対応する各種パラ
メータがそれぞれセットされる(S5011)。例えば、図
47のベーススイッチが選択されている場合には、奇数
番号の各発音チャネル領域にはPCM方式に対応するデ
ータが、偶数番号の各発音チャネル領域にはTM方式に
対応するデータが、それぞれセットされる。
If the timbre of group B is designated and the determination in S5010 is YES, the tone generator data format corresponding to the designated timbre 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.

【0251】また、Aグループの音色スイッチが指定さ
れてS5010の判定がNOならば、変数Mが1であるか否
かが判定される(S5012)。そして、現在TM方式が選
択されていてS5012の判定がYESならば、前述のステ
ップS5008の場合と同様にして、各発音チャネル領域
に、図20のTMフォーマットでデータが設定される
(S5013)。
If the tone switch of the 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).

【0252】また、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>

【0253】次に、実際の電子楽器を演奏する場合にお
ける図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.

【0254】まず、押鍵時の鍵盤キー処理の第1の実施
例につき説明する。押鍵時の鍵盤キー処理の第1の実施
例においては、図47のAグループの音色が指定されて
いる場合に、MCPU 101の入力ポート210(図2参
照)を介して接続される図7又は図8に示される鍵盤キ
ー702が押鍵された場合の鍵盤のポジションすなわち
楽音の音域により、MCPU 101又はSCPU 102のR
AM206又は306(図2及び図3参照)上の各発音
チャネル領域(図17参照)に設定される音源方式が自
動的に切り換えられる。この場合は、図8に示される鍵
盤キー701のキーコード番号31、32を境にして、
押鍵された鍵のキーコードが31番以下の低音域の場合
にDPCM方式が、また、キーコードが32番以上の高
音域の場合にTM方式が割り当てられる。なお、図47
のBグループの音色が指定されている場合には、特別な
鍵盤キー処理は実行されない。
First, a first embodiment of the keyboard key processing at the time of key depression will be described. In the first 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, it is connected via the input port 210 (see FIG. 2) of the MCPU 101 in FIG. Alternatively, the R position of the MCPU 101 or the SCPU 102 depends on the keyboard position when the keyboard key 702 shown in FIG.
The sound source system set in each sound channel area (see FIG. 17) on the AM 206 or 306 (see FIGS. 2 and 3) is automatically switched. In this case, with the key code numbers 31 and 32 of the keyboard key 701 shown in FIG.
The DPCM method is assigned when the key code of the depressed key is the low tone range of 31 or less, and the TM method is assigned when the key code is the high tone range of 32 or more. Note that FIG.
No special keyboard key processing is performed when the tone color of the B group is designated.

【0255】図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. .

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

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

【0258】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).

【0259】31番以下の低音域が押鍵されてS5202の
判定がYESの場合は、変数Mが値1であるか否かが判
定される(S5203)。変数Mは、図9のメイン動作フロ
ーチャートにおけるS903 の機能キー処理の一部である
図50及び図51の動作フローチャートにおいて設定さ
れており、前述した如く、変数Mの値は、DPCM方式
のときは値0、TM方式のときは値1をとる。
If the low tone range 31 or lower 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.

【0260】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 TM system tone generator system is currently specified, the RAM is changed to the DPCM system, which is the lower tone range tone generator system.
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).

【0261】一方、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, in step S5202, if the treble range of No. 31 or higher is 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).

【0262】上述の処理において、ステップS5203の判
定がNOの場合及びステップS5206の判定がYESの場
合は、もともと所望の音源方式になっていので、特別な
処理は行われない。 <押鍵時の鍵盤キー処理の第2の実施例>
In the above processing, if the determination in step S5203 is NO and if 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>

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

【0264】押鍵時の鍵盤キー処理の第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グループの音色が指定されている場合には、特別
な鍵盤キー処理は実行されない。図53は、図9のメイ
ン動作フローチャートにおけるS905 の鍵盤キー処理の
動作フローチャートの一部であり、図7の鍵盤キー70
1の押鍵時の処理の第2の実施例のフローである。
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. FIG. 53 is a part of an operation flowchart of the keyboard key processing of S905 in the main operation flowchart of FIG.
9 is a flowchart of a second example of a process at the time of key depression of No. 1;

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

【0266】この判定が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.

【0267】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 of 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

【0268】ベロシティの値が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.

【0269】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 TM system sound source system is currently specified, in order to change to the DPCM system, which is the sound source system for a fast key press operation, 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).

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

【0271】S5306の判定がNO(M=0)で、現在、
DPCM方式の音源方式が指定されている場合は、遅い
押鍵操作時の音源方式であるTM方式に変更すべく図5
2の第1の実施例の場合のS5207の処理の場合と同様に
して、RAM206又は306上の押鍵された鍵がアサ
インされる発音チャネル領域に、図20のTMフォーマ
ットでデータが設定され(S5307)、フラグCに値2が
セットされる(S5308)。
[0271] 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).

【0272】上述の処理において、ステップ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>

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

【0274】上述の押鍵時の鍵盤キー処理の第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) and 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.

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

【0276】まず、図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 the 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.

【0277】そして、図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.

【0278】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).

【0279】一方、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 method 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).

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

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

【0282】また、図2及び図3の制御用ROM201
及び301、ならびに外部メモリ116をROMカード
等で構成すれば、ROMカードによりユーザに様々な音
源方式を提供することができる。
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.

【0283】更に、図2のMCPU 101の入力ポート2
10には、図7及び図8のような楽器操作部のほかに様
々な操作部を接続することが可能であり、これにより種
々の形態の電子楽器を実現できる。また、他の電子楽器
からの演奏情報を入力して音源処理のみを行う音源モジ
ュールとして実現することも容易である。
Further, the input port 2 of the MCPU 101 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.

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

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

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

【0287】[0287]

【発明の効果】【The invention's effect】

【0288】本発明によれば、複数のプロセッサを用い
て音源処理を実行する場合に、各プロセッサの負荷を均
一化することができ、各タイミングあたりの音源処理全
体に要する時間を短縮化させることが可能となる。
According to the present invention, when sound source processing is executed using a plurality of processors, the load on each processor can be equalized, and the time required for the entire sound source processing per timing can be shortened. Becomes possible.

【0289】更に、音源処理を演奏情報処理プログラム
に対する割り込みプログラムによって実現する場合、割
り込み時間が短くなるため、演奏情報処理プログラムに
多くの時間を割り当てることが可能となり、高度で複雑
な演奏情報処理等をリアルタイムで実行することが可能
となる。
Further, when the sound source processing is realized by an interrupt program for the performance information processing program, the interrupt time is shortened, so that a lot of time can be allocated to the performance information processing program, and sophisticated and complicated performance information processing, etc. Can be executed 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 号 カシオ計算機株式会社羽村技術セン ター内 (58)調査した分野(Int.Cl.6,DB名) G10H 7/02 G10H 1/02 Continuing on the front page (72) Inventor Kosuke Shinami 3-2-1, Sakaemachi, Hamura-cho, Nishitama-gun, Tokyo Casio Computer Co., Ltd. Hamura Technical Center (72) Inventor Koichiro Taiki 3-chome, Sakaemachi, Hamura-cho, Nishitama-gun, Tokyo No. 2 Casio Computer Co., Ltd. Hamura Technology Center (72) Kazuo Ogura 3-2-1-1 Sakaemachi, Hamura Town, Nishitama-gun, Tokyo Casio Computer Co., Ltd. Hamura Technology Center (58) Field surveyed (Int .Cl. 6 , DB name) G10H 7/02 G10H 1/02

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数の発音チャネル毎に楽音制御データ
を記憶するデータ記憶手段と、所定時間間隔で楽音信号
を得るための音源処理プログラムを実行して前記各発音
チャネル毎に前記データ記憶手段上の対応する楽音制御
データに基づいて楽音信号を生成するプログラム実行手
段と、を各々含む複数の音源処理プロセッサと、演奏情
報を処理するための演奏情報処理プログラムを実行して
前記各音源処理プロセッサのデータ記憶手段の楽音制御
データを制御し、その場合に前記各音源処理プロセッサ
の各発音チャネルが均等に使用されて楽音生成が行われ
るように前記各発音チャネルの楽音制御データを制御
し、前記所定時間間隔で前記各音源処理プロセッサのプ
ログラム実行手段に対して並列に前記音源処理プログラ
ムを実行させる演奏情報処理プロセッサと、を有するこ
とを特徴とする楽音波形発生装置。
1. A data storage means for storing tone control data for each of a plurality of sounding channels, and a sound source processing program for obtaining a tone signal at predetermined time intervals, and executing a sound source processing program for each sounding channel. A plurality of sound source processors each including a program execution means for generating a tone signal based on the corresponding tone control data, and a performance information processing program for processing performance information, and executing Controlling the tone control data in the data storage means; in this case, controlling the tone control data in each of the tone generation channels so that tone generation is performed by using each tone generation channel of each of the tone generator processors equally; Performance information for causing the program execution means of each sound source processor to execute the sound source processing program in parallel at time intervals; And an information processing processor.
【請求項2】 前記演奏情報処理プロセッサは前記複数
の音源処理プロセッサのうちの1つで兼用され、該1つ
の音源処理プロセッサは、通常時に前記演奏情報処理プ
ログラムを実行し、前記所定時間間隔で割り込み処理に
より前記各音源処理プロセッサに対して並列に前記音源
処理プログラムを実行させ、それらの実行が終了したら
再び前記演奏情報処理プログラムに制御を戻してそれを
実行する、ことを特徴とする請求項1記載の楽音波形発
生装置。
2. The performance information processing processor is also used by one of the plurality of sound source processing processors. The one sound source processing processor executes the performance information processing program at normal times, and executes the performance information processing program at regular intervals. The interrupt processing causes the sound source processing processors to execute the sound source processing programs in parallel, and upon completion of the execution, returns control to the performance information processing program again to execute the program. 2. The musical sound waveform generator according to 1.
JP2417220A 1990-12-30 1990-12-30 Musical sound wave generator Expired - Lifetime JP2946764B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH04234797A JPH04234797A (en) 1992-08-24
JP2946764B2 true JP2946764B2 (en) 1999-09-06

Family

ID=18525345

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2946764B2 (en)

Also Published As

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

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US4389915A (en) Musical instrument including electronic sound reverberation
JP2584185B2 (en) Method and apparatus for generating audio signal
US20010045155A1 (en) Method of compressing a midi file
US5340938A (en) Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels
JP2946764B2 (en) Musical sound wave generator
JP2946761B2 (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
JP2000276172A (en) Musical sound generating device and storage medium
JP3010693B2 (en) Musical sound wave generator
JP2797142B2 (en) Processing equipment for electronic musical instruments
JP2678974B2 (en) Musical sound wave generator
JP2869574B2 (en) Musical sound wave generator
JP3027832B2 (en) Musical sound wave generator
JP3006094B2 (en) Musical sound wave generator
JP3855710B2 (en) Digital signal processor for sound waveform data
JP7159583B2 (en) Musical sound generating device, musical sound generating method, musical sound generating program, and electronic musical instrument
JP2946762B2 (en) Musical sound wave generator
JP3521724B2 (en) Tone generator
JP2797138B2 (en) Processing equipment for electronic musical instruments
JP3646823B2 (en) Electronic musical instruments
JP3695404B2 (en) Waveform processing device

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