JPH05150784A - Assigner for electronic musical instrument - Google Patents

Assigner for electronic musical instrument

Info

Publication number
JPH05150784A
JPH05150784A JP4108919A JP10891992A JPH05150784A JP H05150784 A JPH05150784 A JP H05150784A JP 4108919 A JP4108919 A JP 4108919A JP 10891992 A JP10891992 A JP 10891992A JP H05150784 A JPH05150784 A JP H05150784A
Authority
JP
Japan
Prior art keywords
channel
tone generation
task
tone
effect
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.)
Pending
Application number
JP4108919A
Other languages
Japanese (ja)
Inventor
Minoru Fujisawa
實 藤澤
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.)
Roland Corp
Original Assignee
Roland Corp
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 Roland Corp filed Critical Roland Corp
Priority to JP4108919A priority Critical patent/JPH05150784A/en
Publication of JPH05150784A publication Critical patent/JPH05150784A/en
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 効果を付加した楽音を発生する電子楽器にお
いて鍵盤等からの入力演奏情報に割り当てる楽音発生チ
ャネルと効果付加チャネルを合理的に選定できるアサイ
ナを提供する。 【構成】 楽音発生チャネル26の状態に基づきチャネ
ル選定上の評価量を各チャネルについて演算する楽音発
生チャネル評価手段と、ここで演算された各チャネルの
評価量に基づきチャネルの選定を行うチャネル選定手段
と、効果付加チャネルの状態に基づきチャネル選定のた
めの評価量を各チャネルについて演算する効果付加チャ
ネル評価手段とこの評価手段で演算された各効果付加チ
ャネルの評価量に基づきチャネルの選定を行う効果付加
チャネル選定手段とを具備し、楽音発生チャネル選定手
段で選定された楽音発生チャネルと該効果付加チャネル
選定手段で選定された効果付加チャネルとを該楽音信号
交換装置によって接続するように構成する。
(57) [Summary] (Modified) [Purpose] To provide an assigner that can rationally select a tone generation channel and an effect addition channel to be assigned to input performance information from a keyboard or the like in an electronic musical instrument that generates a tone with an effect added. . [Structure] A tone generation channel evaluation means for calculating an evaluation amount for channel selection based on the state of the tone generation channel 26, and a channel selection means for selecting a channel based on the evaluation amount of each channel calculated here. And an effect of calculating an evaluation amount for channel selection for each channel based on the state of the effect addition channel, and an effect of selecting a channel based on the evaluation amount of each effect addition channel calculated by this evaluation device An additional channel selection means is provided, and the tone generation channel selected by the tone generation channel selection means and the effect addition channel selected by the effect addition channel selection means are connected by the tone signal exchange device.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は例えばリバーブ(残
響)、コーラス、ピッチシフト、フェーザ、イコライザ
などの効果を付加した楽音を発生する電子楽器に係わ
り、特にかかる電子楽器において鍵盤等から入力される
演奏情報に割り当てる楽音発生チャネルと効果付加チャ
ネルを選定するアサイナに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic musical instrument for producing musical sounds to which effects such as reverb (reverberation), chorus, pitch shift, phasor, and equalizer are added. The present invention relates to an assigner for selecting a tone generation channel and an effect addition channel assigned to performance information.

【0002】[0002]

【従来の技術】一般に電子楽器は複数の楽音発生チャネ
ルを有しており、鍵盤等から楽音情報が入力されると、
この複数の楽音発生チャネルのうちの一つを所定の規則
に従って選定し、入力された楽音情報をその選定した楽
音発生チャネルに割り当てて楽音信号を発生させてスピ
ーカ等で発音させている。この選定方法としては種々あ
り、例えば、空チャネルから選定する、押鍵順に選
定する(ヒストリーアサイン方式)、離鍵順に選定す
る(ヒストリーアサイン方式)、楽音発生チャネルの
発音量の小さい順に選定する(レベルアサイン方式)、
などの方法が知られている。
2. Description of the Related Art Generally, an electronic musical instrument has a plurality of musical tone generating channels, and when musical tone information is input from a keyboard or the like,
One of the plurality of tone generation channels is selected in accordance with a predetermined rule, and the input tone information is assigned to the selected tone generation channel to generate a tone signal to be produced by a speaker or the like. There are various selection methods, for example, selection from an empty channel, selection in the order of key depression (history assign method), selection in the order of key release (history assignment method), and selection in the order of smaller sound volume of the tone generation channel ( Level assignment method),
Methods such as are known.

【0003】また、発音する楽音にリバーブ等の効果を
付加するには、上記の楽音発生チャネルとは別に、楽音
発生チャネルで発生した楽音信号にリバーブ等の効果を
付加する効果付加チャネルを設け、この効果付加チャネ
ルで効果を付加した楽音信号をスピーカで発音させる方
法が提案される。この方法では、楽音発生チャネルと効
果付加チャネルの間に楽音信号交換装置を設けてそれら
の間を任意に接続交換できるようにし、その接続の組合
せをそれらのチャネルの状態に応じて任意に変えてい
る。
Further, in order to add an effect such as reverb to the generated musical sound, an effect adding channel for adding an effect such as reverb to the musical tone signal generated in the musical tone generating channel is provided in addition to the above musical tone generating channel. There is proposed a method of causing a speaker to generate a tone signal to which an effect has been added by this effect addition channel. In this method, a tone signal exchanging device is provided between the tone generating channel and the effect-added channel so that they can be arbitrarily connected and exchanged, and the combination of the connections can be arbitrarily changed according to the states of those channels. There is.

【0004】[0004]

【発明が解決しようとする課題】従来、入力された楽音
情報に対して楽音発生チャネルを選定する技術は種々知
られるところであるが、効果付加チャネルと楽音発生チ
ャネルとを接続交換する形式の電子楽器において効果付
加チャネルや楽音発生チャネルを合理的に選定する方法
はまだない。これらの選定方法として、従来の楽音発生
チャネルの選定に用いていた方法をそのまま適用するこ
とも考えられるが、既に接続状態にある楽音発生チャネ
ルと効果付加チャネルが選定対象となる場合には選定に
あたってお互いの状態を考慮しなければならないことも
ある。
Conventionally, there are various known techniques for selecting a tone generation channel for inputted tone information, but an electronic musical instrument of a type in which an effect addition channel and a tone generation channel are connected and exchanged. There is still no way to rationally select the effect-added channel and the tone-generation channel. As a method for selecting these, it is possible to apply the method used to select the tone generation channels in the past as it is, but when the tone generation channels and effect-added channels that are already connected are to be selected, Sometimes it is necessary to consider each other's condition.

【0005】例えば接続状態にある楽音発生チャネルと
効果付加チャネルのうち効果付加チャネルを先に選定す
ると、それまで接続されていた楽音発生チャネルがまだ
楽音信号を出力しているにもかかわらずその楽音信号は
効果付加チャネルを通らなくなりスピーカに出力されな
いためその楽音信号の発音が突然停止してしまうことも
あり、演奏表現上不自然に感じることになる。
For example, if the effect-added channel is selected first among the tone-generating channel and the effect-added channel in the connected state, even if the tone-generating channel that has been connected up to that point is still outputting the tone signal, that tone-sound is generated. Since the signal does not pass through the effect addition channel and is not output to the speaker, the pronunciation of the musical tone signal may suddenly stop, which makes the musical expression unnatural.

【0006】また楽音発生チャネルの選定にあたっても
それに接続された効果付加チャネルで楽音に付加される
効果も考慮したほうがより適切な選定が可能となる。例
えばレベルアサイン方式の場合、通常は楽音発生チャネ
ルの発音量の小さい順に選定を行うが、楽音発生チャネ
ル自体の発音量は小さいがそれに接続された効果付加チ
ャネルから出力された楽音の発音量が大きいものを、楽
音発生チャネル自体の発音量は大きいがそれに接続され
た効果付加チャネルから出力された楽音の発音量が小さ
いものよりも先に選定すると、実際に大きな音でスピー
カから出力されている楽音の方が先に消されることにな
って演奏表現上不自然に感じるので、このような場合に
ついても考慮して選定を行う必要がある。
Further, when selecting a tone generation channel, it is possible to make a more appropriate selection by considering the effect added to the tone by the effect addition channel connected to it. For example, in the case of the level assign method, the selection is usually made in the order of smaller tone generation amount of the tone generation channel, but the tone generation amount of the tone generation channel itself is smaller, but the tone generation amount of the tone output from the effect addition channel connected to it is greater. If one is selected before the one with a large sound volume of the tone generation channel itself but with a small sound volume of the tone output from the effect-added channel connected to it, the musical sound actually output from the speaker is loud. Since it will be erased first and it will be unnatural in terms of performance expression, it is necessary to select in consideration of such cases.

【0007】本発明はかかる事情に鑑みてなされたもの
であり、その目的とするところは、発生する楽音に効果
を付加できる電子楽器において楽音発生チャネルと効果
付加チャネルを合理的に選定できるアサイナを提供する
ことにある。
The present invention has been made in view of such circumstances, and an object thereof is to provide an assigner capable of rationally selecting a tone generation channel and an effect addition channel in an electronic musical instrument capable of adding an effect to a generated tone. To provide.

【0008】[0008]

【課題を解決するための手段】本発明に係る電子楽器の
アサイナは、入力される楽音情報に基づき楽音信号を発
生する複数の楽音発生チャネルと、該楽音発生チャネル
から出力される楽音信号に効果を付加する複数の効果付
加チャネルと、選定された楽音発生チャネルと効果付加
チャネルとを接続する楽音信号交換装置とを具備した電
子楽器に用いられて入力楽音情報に割り当てる楽音発生
チャネルと効果付加チャネルの選定を行うアサイナであ
って、楽音発生チャネルの状態に基づいて楽音発生チャ
ネル選定のための評価量を各楽音発生チャネルについて
演算する楽音発生チャネル評価手段と、楽音発生チャネ
ル評価手段で演算された各楽音発生チャネルの評価量に
基づいて楽音発生チャネルの選定を行う楽音発生チャネ
ル選定手段と、効果付加チャネルの状態に基づいて効果
付加チャネル選定のための評価量を各効果付加チャネル
について演算する効果付加チャネル評価手段と、効果付
加チャネル評価手段で演算された各効果付加チャネルの
評価量に基づいて効果付加チャネルの選定を行う効果付
加チャネル選定手段とを具備し、楽音発生チャネル選定
手段で選定された楽音発生チャネルと該効果付加チャネ
ル選定手段で選定された効果付加チャネルとを該楽音信
号交換装置によって接続するように構成したものであ
る。
The assigner for an electronic musical instrument according to the present invention is effective for a plurality of musical tone generating channels for generating musical tone signals based on inputted musical tone information and musical tone signals output from the musical tone generating channels. Tone generation channel and effect addition channel used in an electronic musical instrument equipped with a plurality of effect addition channels for adding a tone and a tone signal exchanging device for connecting the selected tone generation channel and the effect addition channel Which is an assigner for selecting the tone generation channel, and the tone generation channel evaluation means for calculating the evaluation amount for selecting the tone generation channel for each tone generation channel based on the state of the tone generation channel and the tone generation channel evaluation means. A tone generation channel selection means for selecting a tone generation channel based on the evaluation amount of each tone generation channel, and Based on the effect addition channel evaluation means for calculating the evaluation amount for selecting the effect addition channel based on the state of the additional channel and the evaluation amount of each effect addition channel calculated by the effect addition channel evaluation means An effect-added channel selecting means for selecting an effect-added channel, wherein the tone-sound generating channel selected by the tone-sound-generating channel selecting means and the effect-adding channel selected by the effect-adding channel selecting means are connected to the tone signal exchanging device. It is configured to connect by.

【0009】上述の効果付加チャネル選定手段は、選定
対象の効果付加チャネルが既に楽音発生チャネルに接続
された状態のものである時には、その接続された楽音発
生チャネルが選定されるまでその効果付加チャネルを選
定しないように構成することができる。
The above-described effect-added channel selecting means, when the effect-added channel to be selected is already connected to the tone generation channel, the effect-added channel is selected until the connected tone generation channel is selected. Can be configured not to be selected.

【0010】また上述の楽音発生チャネル評価手段は、
楽音発生チャネルに効果付加チャネルが接続されている
時にはその効果付加チャネルで付加する効果に対応した
補正を行って評価量を演算するように構成することがで
きる。
Further, the tone generation channel evaluation means described above is
When the effect addition channel is connected to the tone generation channel, the evaluation amount can be calculated by performing the correction corresponding to the effect added by the effect addition channel.

【0011】[0011]

【作用】楽音発生チャネル評価手段は各楽音発生チャネ
ルの状態に基づいて楽音発生チャネル選定のための評価
量を各楽音発生チャネルについて演算する。例えばレベ
ルアサイン方式で楽音発生チャネルを選定する時には各
楽音発生チャネルの発音量(エンベロープレベル、残存
発音量、疑似エンベロープレベルなど)を評価量とす
る。また押鍵順によるヒストリーアサイン方式の時には
押鍵の古い順に選定されやすくなるよう各楽音発生チャ
ネルの評価量を決める。そして楽音発生チャネル選定手
段はこの楽音発生チャネル評価手段で求めた各楽音発生
チャネルの評価量に基づいて楽音発生チャネルを選定す
る。
The tone generation channel evaluation means calculates an evaluation amount for selecting a tone generation channel for each tone generation channel based on the state of each tone generation channel. For example, when a tone generation channel is selected by the level assign method, the tone generation amount (envelope level, remaining tone generation amount, pseudo envelope level, etc.) of each tone generation channel is used as the evaluation amount. Also, in the case of the history assign method based on the key pressing order, the evaluation amount of each tone generation channel is determined so that the keys can be easily selected in the old order. The tone generation channel selection means selects a tone generation channel based on the evaluation amount of each tone generation channel obtained by the tone generation channel evaluation means.

【0012】この場合、楽音発生チャネル評価手段は楽
音発生チャネルに効果付加チャネルが接続されている時
にはその効果付加チャネルで付加する効果に対応した補
正を行って評価量を演算するとよい。これにより例えば
レベルアサイン方式の場合、楽音発生チャネル自体の発
音量は小さいがそれに接続された効果付加チャネルから
出力される楽音の発音量が大きいものが、楽音発生チャ
ネル自体の発音量は大きいがそれに接続された効果付加
チャネルから出力される楽音の発音量が小さいものより
も先に選定されることがなくなり、演奏表現上の不自然
さを軽減できる。
In this case, the tone generation channel evaluating means may calculate the evaluation amount by performing correction corresponding to the effect added by the effect addition channel when the effect addition channel is connected to the tone generation channel. As a result, for example, in the case of the level assign method, the tone generation amount of the tone generation channel itself is small, but the tone generation amount of the tone output from the effect addition channel connected to it is large, but the tone generation amount of the tone generation channel itself is large, Musical tones output from the connected effect-added channels will not be selected earlier than those with a small sound volume, and unnaturalness in performance expression can be reduced.

【0013】また効果付加チャネル評価手段は各効果付
加チャネルの状態に基づいて効果付加チャネル選定のた
めの評価量を各効果付加チャネルについて演算する。こ
の評価量としては、例えば効果付加チャネルに既に蓄積
されている楽音の発音量、接続されている楽音発生チャ
ネルからの入力楽音信号(原音)そのものに対して効果
付加して出力される効果付加チャネルの原音出力信号の
発音量、これらを加算したもの、あるいはこれらの発音
量を遅延時間に換算したものなどが用いられる。効果付
加チャネル選定手段はこの効果付加チャネル評価手段で
求めた各効果付加チャネルの評価量に基づいて効果付加
チャネルを選定する。
The effect-added channel evaluation means calculates an evaluation amount for selecting the effect-added channels on the basis of the state of each effect-added channel. The evaluation amount is, for example, the amount of musical tones already stored in the effect-added channel, the effect-added channel that is output by adding the effect to the input musical sound signal (original sound) itself from the connected tone-generating channel. Of the original sound output signal, a sum of these sounds, or a sound amount of these sounds converted into a delay time is used. The effect-added channel selecting means selects the effect-added channel based on the evaluation amount of each effect-added channel obtained by the effect-added channel evaluation means.

【0014】この場合、効果付加チャネル選定手段は、
選定対象の効果付加チャネルが既に楽音発生チャネルに
接続された状態のものである時には、その接続された楽
音発生チャネルが選定されるまでその効果付加チャネル
を選定しないようにすることがよい。これにより接続で
ペアになっていた楽音発生チャネルと効果付加チャネル
のうちの効果付加チャネルが先に選定されることで、楽
音発生チャネルからの楽音信号がまだあるうちにその発
音が停止されるといった演奏上の不自然感が生じること
を防止できる。
In this case, the effect-added channel selection means is
When the effect addition channel to be selected is already connected to the tone generation channel, it is preferable not to select the effect addition channel until the connected tone generation channel is selected. As a result, the tone generation channel and the effect addition channel that are paired in the connection are selected first, so that the sound generation is stopped while the tone signal from the tone generation channel is still present. It is possible to prevent an unnatural feeling in performance from occurring.

【0015】このようにして楽音発生チャネル選定手段
で選定された楽音発生チャネルと効果付加チャネル選定
手段で選定された効果付加チャネルとが楽音信号交換装
置で相互に接続され、これらがペアになって、新たに入
力された楽音情報に対して効果付加した楽音を発生する
ことになる。
In this way, the tone generation channel selected by the tone generation channel selection means and the effect addition channel selected by the effect addition channel selection means are mutually connected by the tone signal exchange device, and these become a pair. , A tone added to the newly input tone information is generated.

【0016】[0016]

【実施例】図1には本発明の一実施例としてのアサイナ
が適用される電子楽器が示される。この実施例の電子楽
器は、独立した複数個の音色のパートを有するマルチテ
ィンバ電子楽器についてのものであり、このマルチティ
ンバ電子楽器においては、パートへの演奏情報を各パー
トに対応するMIDIチャネルを使用して供給するよう
になっている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows an electronic musical instrument to which an assigner as an embodiment of the present invention is applied. The electronic musical instrument of this embodiment is for a multi-timba electronic musical instrument having a plurality of independent tone color parts. In this multi-timba electronic musical instrument, performance information for a part is transmitted via MIDI channels corresponding to the respective parts. It is designed to be used and supplied.

【0017】図1において、20はMIDI信号を受信
するMIDI回路である。このMIDI回路20は公知
の技術により、図示しない外部の自動演奏装置より図示
しないMIDIバスを介してMIDIメッセージを受信
し、これを解読して演奏情報などとするとともに、MI
DIメッセージの受信を完了するつどバス21を介して
対応する割込みをCPU22にかける。例えばノートオ
ンおよび/またはノートオフメッセージを受信するとキ
ーデータ受信割込みをかける。ROM23にはCPU2
2の実行するプログラムとともに、各処理に必要なデー
タおよびテーブルなどがあらかじめ記憶されている。R
AM24にはプログラムを実行するに必要な各種レジス
タなどを含むワーキングエリアが設定されている。タイ
マ25は所定時間間隔(1mSec)でCPU22にタイマ
割込みをかける。
In FIG. 1, reference numeral 20 is a MIDI circuit for receiving a MIDI signal. The MIDI circuit 20 receives a MIDI message from an external automatic performance device (not shown) through a MIDI bus (not shown) by a known technique, decodes the message to obtain performance information and the like.
Each time the reception of the DI message is completed, a corresponding interrupt is issued to the CPU 22 via the bus 21. For example, when a note-on and / or note-off message is received, a key data reception interrupt is issued. CPU2 in ROM23
Data and tables necessary for each processing are stored in advance together with the program to be executed by No. 2. R
In the AM 24, a working area including various registers necessary for executing a program is set. The timer 25 issues a timer interrupt to the CPU 22 at a predetermined time interval (1 mSec).

【0018】前記CPU22は所定プログラムを実行
し、MIDI回路20からの割込みに応じて演奏情報な
どを受け取り、RAM24の対応するレジスタに書き込
む。また書き込まれたデータなどに基づき所定プログラ
ムを実行することにより、楽音発生回路26を制御して
いる。楽音発生回路26はCPU22の制御のもとにR
AM24から転送される楽音発生パラメータ、エンベロ
ープ制御に関する目標値、レートおよびエフェクタ制御
パラメータに基づき所望の楽音信号を生成し、増幅器2
7を介してスピーカ28に送り、楽音を発生させてい
る。
The CPU 22 executes a predetermined program, receives performance information and the like in response to an interrupt from the MIDI circuit 20, and writes it in a corresponding register of the RAM 24. The tone generation circuit 26 is controlled by executing a predetermined program based on the written data. The tone generation circuit 26 is controlled by the CPU 22 under the control of the R
The amplifier 2 generates a desired tone signal based on the tone generation parameter transferred from the AM 24, the target value for envelope control, the rate and the effector control parameter.
It is sent to the speaker 28 via 7 to generate a musical sound.

【0019】楽音発生回路26は16個の楽音発生チャ
ネルと20個の効果付加チャネルおよび楽音信号交換装
置により構成される。楽音発生チャネルは楽音発生パラ
メータに基づく楽音を発生するとともに、目標値および
レートに基づいて滑らかなエンベロープを生成し楽音の
振幅を制御する。効果付加チャネルは効果付加部とミュ
ート部により構成される。効果付加部は楽音にエフェク
タ制御パラメータに基づく音響効果を付加する。ミュー
ト部は楽音信号の通過量を制御し出力する。楽音信号交
換装置は割当てパラメータとしての楽音発生チャネル番
号と効果付加チャネル番号に基づいて楽音発生チャネル
と効果付加チャネルとを接続し、楽音発生チャネルで発
生した楽音を効果付加チャネルに伝送する。なお楽音信
号交換装置における楽音発生チャネルと効果付加チャネ
ルとの接続等の交換に関する技術は通信の分野において
公知となっている交換技術を応用しているので説明を省
略する。
The tone generation circuit 26 comprises 16 tone generation channels, 20 effect addition channels and a tone signal exchange device. The tone generation channel generates a tone based on the tone generation parameter and generates a smooth envelope based on the target value and rate to control the amplitude of the tone. The effect addition channel is composed of an effect addition section and a mute section. The effect adding section adds a sound effect based on the effector control parameter to the musical sound. The mute section controls and outputs the passing amount of the musical tone signal. The tone signal exchanging device connects the tone generation channel and the effect addition channel based on the tone generation channel number and the effect addition channel number as allocation parameters, and transmits the tone generated in the tone generation channel to the effect addition channel. Note that the technique relating to the exchange of the tone generating channel and the effect-added channel in the tone signal exchanging device, which is well known in the field of communication, is applied to the technique relating to the exchange, so that the description thereof will be omitted.

【0020】この楽音発生回路26においては、楽音発
生の開始の指示を受けると、楽音信号交換装置は割当て
パラメータとしての楽音発生チャネル番号と効果付加チ
ャネル番号に対応する楽音発生チャネルと効果付加チャ
ネルそれぞれの従前の接続を解除後、対応する楽音発生
チャネルと効果付加チャネルとを接続し、楽音発生チャ
ネルは楽音信号およびエンベロープの生成を開始し、効
果付加チャネルのミュート部は通過量を最大通過量とす
る。
In the tone generation circuit 26, when the tone generation start instruction is received, the tone signal exchanging apparatus causes the tone generation channel number and the effect addition channel corresponding to the tone generation channel number and the effect addition channel as allocation parameters, respectively. After disconnecting the previous connection of, the corresponding tone generation channel and the effect addition channel are connected, the tone generation channel starts generating the tone signal and the envelope, and the mute part of the effect addition channel sets the passage amount to the maximum passage amount. To do.

【0021】楽音発生チャネルへの急速減衰の指示を受
けると、楽音発生チャネルはエンベロープレベルを所定
の急速減衰レートに従って減衰しエンベロープレベルが
“0”になると楽音発生回路26に設けられている急速
減衰終了1FIFOに楽音発生チャネル番号を積む。
When the musical tone generation channel is instructed to perform rapid attenuation, the musical tone generation channel attenuates the envelope level at a predetermined rapid attenuation rate, and when the envelope level becomes "0", the musical tone generation circuit 26 is rapidly attenuated. The tone generation channel number is added to the end 1 FIFO.

【0022】効果付加チャネルへの急速減衰の指示を受
けると、ミュート部では、所定形状の急速減衰エンベロ
ープを生成し、その急速減衰エンベロープにしたがって
通過量を減少させて最終的には“0”とする。急速減衰
エンベロープレベルが“0”になると、効果付加部では
効果付加部の内部に蓄積されている楽音信号をクリヤす
る。クリヤに要する時間が経過すると、楽音発生回路2
6に設けられている急速減衰終了2FIFOに効果付加
チャネル番号を積む。
Upon receiving an instruction for rapid attenuation to the effect-added channel, the mute section generates a rapid attenuation envelope of a predetermined shape, reduces the passing amount according to the rapid attenuation envelope, and finally sets it to "0". To do. When the rapid attenuation envelope level becomes "0", the effect adding section clears the tone signal stored inside the effect adding section. When the time required for clearing elapses, the tone generation circuit 2
The effect addition channel number is added to the rapid attenuation end 2 FIFO provided in 6.

【0023】本実施例においては、効果付加チャネルで
付加する効果はリバーブ効果であるものとする。リバー
ブ効果の付加により楽音は遅延されて時間の経過と共に
順次出力する。例えば、遅延なし(原音)、4mSec遅延
、27mSec遅延、・・と出力する。
In the present embodiment, it is assumed that the effect added by the effect addition channel is the reverb effect. Due to the addition of the reverb effect, the musical sounds are delayed and output sequentially as time passes. For example, no delay (original sound), 4 mSec delay, 27 mSec delay, ...

【0024】RAM24の所定領域に設定されている各
種マップとしては、MIDIチャネル関係の情報を記憶
するMIDIチャネルマップ、パート関係の情報を記憶
するパートマップ、タスク管理のための情報を記憶する
タスク管理マップ、楽音発生チャネル管理のための楽音
発生チャネル管理マップ、エンベロープチャネル管理の
ための情報を記憶するエンベロープ管理マップ、効果付
加チャネル管理のための情報を記憶する効果付加チャネ
ル管理マップなどがある。
As various maps set in a predetermined area of the RAM 24, a MIDI channel map for storing information on MIDI channels, a part map for storing information on parts, and a task management for storing information for task management. There are a map, a tone generation channel management map for managing tone generation channels, an envelope management map for storing information for envelope channel management, an effect addition channel management map for storing information for effect addition channel management, and the like.

【0025】まず、この実施例の電子楽器の動作の概要
を説明する。この実施例の電子楽器においては、各種タ
スク、すなわちキーデータ受信タスク、メインアサイナ
タスク、発音タスク、プリアサイナタスク、エンベロー
プタスク、操作子データ受信タスクの各タスクはモニタ
プログラムの管理下に、タスク間の優先処理をしつつマ
ルチタスキングによって実行される。ここでモニタプロ
グラムとしてはリセットルーチン、イベント待ちモニタ
コールルーチン、イベント発生モニタコールルーチン、
タイマ割込み処理ルーチン、キーデータ受信割込み処理
ルーチン、操作子データ受信割込み処理ルーチンがあ
る。
First, the outline of the operation of the electronic musical instrument of this embodiment will be described. In the electronic musical instrument of this embodiment, various tasks, that is, a key data receiving task, a main assigner task, a sounding task, a pre-assigner task, an envelope task, and a manipulator data receiving task are managed by the monitor program. It is executed by multi-tasking while performing priority processing between. Here, the monitor program includes a reset routine, an event wait monitor call routine, an event occurrence monitor call routine,
There are a timer interrupt processing routine, a key data reception interrupt processing routine, and an operator data reception interrupt processing routine.

【0026】また、この実施例の電子楽器では、楽音発
生チャネルおよび効果付加チャネルの選定方法としてい
わゆるプリアサイナ方式を用いる。このプリアサイナ方
式では、プリアサイナタスクが、新たな楽音情報の入力
の有無にかかわらず、タイマ割込みにより所定時間(5
mSec)間隔毎に、適当な楽音発生チャネルおよび効果付
加チャネルの選定をあらかじめ行っておき、新たな楽音
情報が入力された時には、このプリアサインの結果を参
照してその楽音情報を割り当てる楽音発生チャネルおよ
び効果付加チャネルを決定することにより、新たな楽音
情報の入力に対して速やかにそれに割り当てる楽音発生
チャネルおよび効果付加チャネルを選定できるようにし
ている。
Further, in the electronic musical instrument of this embodiment, a so-called pre-assigner system is used as a method of selecting the tone generation channel and the effect addition channel. According to this pre-assigner method, the pre-assigner task performs a predetermined time (5
For each mSec) interval, an appropriate tone generation channel and effect addition channel are selected in advance, and when new tone information is input, this tone assignment channel is assigned with reference to the result of this pre-assignment. By determining the effect addition channel and the effect addition channel, it is possible to promptly select a tone generation channel and an effect addition channel to be assigned to new input of tone information.

【0027】以下、各種タスクの動作を説明する。キー
データ受信タスク(図13)は、MIDI回路20から
楽音情報(ノートオンおよび/またはノートオフメッセ
ージ)を読み込み、ノートオンメッセージの時にはノー
トオン処理をしてメインアサイナに起動をかける。
The operation of various tasks will be described below. The key data reception task (FIG. 13) reads musical tone information (note-on and / or note-off message) from the MIDI circuit 20, performs note-on processing at the time of note-on message, and activates the main assigner.

【0028】メインアサイナタスク(図14)は、プリ
アサイナタスクで設定される楽音発生チャネルおよび効
果付加チャネルのプリアサイン順位に基づきそれぞれ設
定されたアサイン順位に従って楽音発生チャネルおよび
効果付加チャネルを選定し、発音タスクに対して発音要
求を行う。
The main assigner task (FIG. 14) selects the tone generation channel and the effect addition channel in accordance with the assigned order set based on the pre-assignment order of the tone generation channel and the effect addition channel set in the pre-assigner task. , Make a pronunciation request to the pronunciation task.

【0029】発音タスク(図15、図16)は、メイン
アサイナタスクで選定された楽音発生チャネルに対し
て、それが発音中であればその発音を停止させる処理を
行い、発音が停止されていれば、または停止されると、
入力された楽音情報に基づきその楽音情報を発音するた
めに楽音発生チャネルで必要な各種のパラメータ等を演
算して、その演算したパラメータ等をその楽音発生チャ
ネルに転送して発音開始を指示する。また、メインアサ
イナタスクで選定された効果付加チャネルに対して、そ
れに楽音が蓄積していればその楽音を消音させる処理を
行い、楽音の蓄積がなければ、またはなくなると、入力
された楽音情報に基づき効果を付加するために効果付加
チャネルで必要な各種のパラメータ等を演算して、その
演算したパラメータ等をその効果付加チャネルに転送す
る。また、選定された楽音発生チャネルと選定された効
果付加チャネルの接続を指示する
The sounding task (FIGS. 15 and 16) performs a process of stopping the sound generation of the tone generation channel selected by the main assigner task if it is sounding, and the sound generation is stopped. If or when stopped,
Based on the inputted musical tone information, various parameters necessary for the musical tone generating channel to generate the musical tone information are calculated, and the calculated parameters are transferred to the musical tone generating channel to instruct the start of sound generation. Also, for the effect-added channel selected in the main assigner task, if there is a musical tone stored in it, it is muted, and if no musical tone is stored Based on the above, various parameters and the like required in the effect addition channel for adding the effect are calculated, and the calculated parameters and the like are transferred to the effect addition channel. It also instructs the connection of the selected tone generation channel and the selected effect addition channel.

【0030】プリアサイナタスク(図17)は、タイマ
により定期的に起動されて、楽音発生チャネル管理マッ
プから各楽音発生チャネルの発音量を読み込み、これを
プリアサイナ発音量とし、このプリアサイナ発音量に基
づきプリアサイン順位設定ルーチン(図18〜図20)
に従って楽音発生チャネルのプリアサイン順位を設定す
る。また、効果付加チャネル管理マップから各効果付加
チャネルの発音量を読み込み、これをプリアサイナ発音
量とし、このプリアサイナ発音量に基づき効果付加チャ
ネルのプリアサイン順位を同様に設定する。このプリア
サイン順位設定ルーチンでは、各楽音発生チャネルのプ
リアサイン順位を、原則として、楽音発生チャネルのプ
リアサイナ発音量の小なる順に設定する。また、各効果
付加チャネルのプリアサイン順位を、原則として、効果
付加チャネルのプリアサイナ発音量の小なる順に設定す
るが、接続されている楽音発生チャネルのプリアサイン
順位よりも早い順位にならないように設定する。
The pre-assigner task (FIG. 17) is periodically activated by a timer to read the tone generation amount of each tone generation channel from the tone generation channel management map, set this as the pre-assigner tone generation amount, and based on this pre-assigner tone generation amount. Pre-assign order setting routine (Figs. 18 to 20)
Set the pre-assignment order of the tone generation channel according to. Further, the sound output amount of each effect addition channel is read from the effect addition channel management map, and this is set as the pre-assigner sound output amount, and the pre-assign order of the effect addition channels is similarly set based on this pre-assigner sound output amount. In this pre-assignment order setting routine, the pre-assignment order of each tone generation channel is set, in principle, in ascending order of the pre-assigner tone generation amount of the tone generation channel. Also, as a general rule, set the pre-assignment order of each effect-added channel in the order of decreasing pre-assigner sound output of the effect-added channels, but do not set it higher than the pre-assigned order of the connected tone generation channels. To do.

【0031】楽音発生チャネル管理マップの発音量およ
び効果付加チャネル管理マップの発音量はエンベロープ
タスクによって逐次に更新される。エンベロープタスク
(図21、図22)では楽音発生チャネルの発音が終了
しているか否かを調べ、発音を終了しているものについ
ては、発音量を“0”に設定する。発音終了していない
ものについてはその楽音が減衰音系か持続音系かを調
べ、減衰音系についてはそれにあった減衰音系の発音量
の算出(図23)を行い、持続音系についてはそれにあ
った持続音系の発音量の算出(図24)を行う。なお楽
音発生チャネル管理マップの発音量の更新に際しては接
続されている効果付加チャネルの影響を反映させる。ま
た、効果付加チャネルに蓄積されている楽音の発音量の
算出(図25)を行う。
The tone generation amount of the tone generation channel management map and the tone generation amount of the effect-added channel management map are sequentially updated by the envelope task. In the envelope task (FIGS. 21 and 22), it is checked whether or not the tone generation of the tone generation channel is finished, and if the tone generation is finished, the tone generation amount is set to "0". For those that have not finished sounding, it is checked whether the musical sound is a decaying sound system or a continuous sound system, and for the decaying sound system, the amount of pronunciation of the decaying sound system that matches it is calculated (Fig. 23). The amount of sound of the continuous tone system that matches the calculation is calculated (FIG. 24). When updating the tone generation amount of the tone generation channel management map, the influence of the connected effect addition channel is reflected. In addition, the amount of generated musical tones stored in the effect addition channel is calculated (FIG. 25).

【0032】各種マップの詳細な説明 次にRAM24の所定領域に設定されている各種マップ
について図2〜図7を参照して説明する。なお図2〜図
7はこれらマップの一部を示すものである。 MIDIチャネルマップ(図2) “0〜15”により16個のMIDIチャネルの種類を
示すMIDIチャネル番号に対応して次のものが記憶さ
れる。 (1) パート番号:16個のパートの種類を“0〜15”
でもって示す.
Detailed Description of Various Maps Next, various maps set in a predetermined area of the RAM 24 will be described with reference to FIGS. 2 to 7 show a part of these maps. The MIDI channel map (FIG. 2) "0 to 15" stores the following in correspondence with the MIDI channel numbers indicating the types of 16 MIDI channels. (1) Part number: The type of 16 parts is "0-15"
I will show you.

【0033】パートマップ(図3) “0〜15”により16個のパートの種類を示すパート
番号に対応して次のものが記憶される。 (1) 音色番号:音色を示す. (2) トランケート禁止フェーズ番号:新たな楽音の割当
てを禁止するフェーズの最終番号を示す.すなわちこの
番号までの時間〔=フェーズ番号×所定単位時間(5mS
ec)〕新たな楽音の割当てを禁止する.本実施例におい
てはアタックを終了するまでのフェーズ番号である. (3) 持続音系フラグ:持続音系の楽音を“1”でもっ
て、減衰音系の楽音を“0”でもって示す.
The part map (FIG. 3) "0 to 15" stores the followings corresponding to the part numbers indicating the types of 16 parts. (1) Tone number: Indicates a tone color. (2) Truncate prohibition phase number: Indicates the final number of the phase in which allocation of new musical sounds is prohibited. That is, the time to reach this number [= phase number x predetermined unit time (5 mS
ec)] Prohibit the allocation of new musical tones. In this embodiment, it is the phase number until the attack ends. (3) Continuous tone system flag: The continuous tone system tone is indicated by "1" and the attenuated tone system tone is indicated by "0".

【0034】タスク管理マップ(図6) “1〜6”によりタスクの種類を示すタスク番号に対応
して次のものが記憶される。なお、タスク番号は、
“1”はキーデータ受信タスク、“2”はメインアサイ
ナタスク、“3”は発音タスク、“4”はプリアサイナ
タスク、“5”はエンベロープタスク、“6”は操作子
データ受信タスクであり、番号が若いほど優先順位が高
い。 (1) タイマ処理要求フラグ:タイマ処理が必要なことを
“1”でもって示す. (2) ステータス:タスクの状態がランであることを
“0”でもって、レディであることを“1”でもって、
ウェイトであることを“2”でもって示す. (3) 待ちイベント値:ステータスがウェイトにおける待
ち中のイベントの種類を示す. (4) イベント発生フラグ:タスクの各イベント毎にイベ
ントの発生を“1”でもって示す.
Task management map (FIG. 6) "1 to 6" stores the following items corresponding to task numbers indicating the types of tasks. The task number is
"1" is a key data receiving task, "2" is a main assigner task, "3" is a pronunciation task, "4" is a pre-assigner task, "5" is an envelope task, and "6" is an operator data receiving task. Yes, the lower the number, the higher the priority. (1) Timer processing request flag: Indicates that timer processing is necessary with "1". (2) Status: "0" indicates that the task status is RUN, and "1" indicates that the task status is READY.
The weight is indicated by "2". (3) Waiting event value: Indicates the type of waiting event whose status is wait. (4) Event occurrence flag: The event occurrence is indicated by "1" for each event of the task.

【0035】楽音発生チャネル管理マップ(図7) “0〜15”の番号により16個の楽音発生チャネルを
示す楽音発生チャネル番号に対応して次のものが記憶さ
れる。 (1) 発音量:現在発音中の楽音の発音量を“0000
H”〜“FFFFH”でもって示す. (2) トランケート禁止フラグ:新たな楽音の割当ての禁
止を“1”でもって示す. (3) 急速減衰中フラグ:従前の楽音を急速減衰中である
ことを“1”でもって示す. (4) 処理待ちフラグ1:発音タスクにおける第1処理の
処理待ちを“1”でもって示す. (5) 処理待ちフラグ2:発音タスクにおける第2処理の
処理待ちを“1”でもって示す. (6) 処理待ちフラグ3:発音タスクにおける第3処理の
処理待ちを“1”でもって示す. (7) ノート番号:楽音の音高を示す. (8) ベロシティ:楽音のベロシティを示す. (9) 楽音発生パラメータ群:楽音発生に関する各種パラ
メータの値を示す. (10)押鍵順位:ノートオン受信順位を“0〜15”でも
って示し、最も古いノートオン受信順位を“0”でもっ
て示す. (11)ノートステータス:ノートオンを“1”でもって、
ノートオフを“0”でもって示す. (12)パート番号 (13)接続先効果付加チャネル番号:接続する効果付加チ
ャネルの効果付加チャネル番号を示す.
Music tone generation channel management map (FIG. 7) The following are stored corresponding to the tone generation channel numbers indicating 16 tone generation channels by the numbers "0 to 15". (1) Pronunciation amount: The pronunciation amount of the musical sound currently being generated is set to "0000."
It is indicated by "H" to "FFFFH". (2) Truncate prohibition flag: Indication of prohibition of allocation of a new musical tone is indicated by "1". (3) Rapid decay flag: The previous musical tone is being rapidly attenuated. Is indicated by “1.” (4) Processing wait flag 1: Waiting for the first processing in the sounding task is indicated by “1.” (5) Processing wait flag 2: Waiting for the second processing in the sounding task Is indicated by “1.” (6) Processing wait flag 3: Waiting for the third processing in the sounding task is indicated by “1.” (7) Note number: Indicates the pitch of a musical tone. (8) Velocity : Indicates the velocity of musical sound (9) Musical tone generation parameter group: Indicates the values of various parameters related to musical tone generation (10) Key pressing order: Note-on The reception order is indicated by "0-15", the oldest note-on Receive order is indicated by "0" (11) Notes status: the note-on with "1",
Note-off is indicated by "0". (12) Part number (13) Connection destination effect additional channel number: Indicates the effect additional channel number of the effect additional channel to be connected.

【0036】エンベロープ管理マップ(図4) 各楽音発生チャネルに対応して“0〜15”の番号によ
り16個のエンベロープチャネルを示すエンベロープチ
ャネル番号に対応して次のものが記憶される。 (1) エンベロープレベル:エンベロープレベルを“00
00H”〜“FFFFH”でもって示す. (2) 目標値:次に到達すべきエンベロープレベルを“0
000H”〜“FFFFH”でもって示す. (3) レート:所定時間(5mSec)当たりのエンベロープ
レベルの変化量を示す.具体的には正負を示す符号ビッ
トと絶対値を“0000H”〜“FFFFH”で示すデ
ータビットにより構成される. (4) フェーズ番号:現在のフェーズ番号(楽音発生開始
からの経過段階)を示す. (5) トランケート禁止フェーズ番号:新たな楽音の割当
てを禁止する最終フェーズ番号を示す. (6) エンベロープ生成パラメータ群:楽音のエンベロー
プ生成に関する各種パラメータの値を示す.
Envelope management map (FIG. 4) The following are stored corresponding to the envelope channel numbers indicating 16 envelope channels by the numbers "0 to 15" corresponding to each tone generation channel. (1) Envelope level: Envelope level is "00"
00H "to" FFFFH "(2) Target value: The envelope level to be reached next is" 0 "
000H "to" FFFFH ". (3) Rate: Indicates the amount of change in the envelope level per predetermined time (5 mSec). Specifically, the sign bit indicating positive and negative and the absolute value are" 0000H "to" FFFFH ". (4) Phase number: Indicates the current phase number (elapsed stage from the start of tone generation) (5) Truncate prohibition phase number: Final phase number that prohibits allocation of a new tone (6) Envelope generation parameter group: Shows the values of various parameters related to the envelope generation of musical sounds.

【0037】効果付加チャネル管理マップ(図5) “0〜19”の番号により20個の効果付加チャネルを
示す効果付加チャネル番号に対応して次のものが記憶さ
れる。 (1) 発音量 (2) トランケート禁止フラグ (3) 急速減衰中フラグ (4) エフェクタ制御パラメータ群:楽音に付加する音響
効果を制御する各種パラメータの値を示す. (5) 出力係数群:効果付加チャネルに入力する楽音のエ
ンベロープレベルに対するそれから出力する楽音のエン
ベロープレベルの割合を示す.原音の出力係数は遅延し
ないで出力する楽音についての割合を示す.効果音の出
力係数は1〜400の各経過フェーズ数毎にその経過フ
ェーズ(1フェーズ=5mSec) で出力する楽音について
の割合を示す.例えば経過フェーズ数が“1”の出力係
数は“経過フェーズ1”(入力直後から5mSecまでに)
で出力する(例えば4mSec遅延)楽音の割合を示す.総
和は原音および効果音の各出力係数の総和を示す. (6) 最大経過フェーズ数:0.05以上の出力係数を有
する経過フェーズ数の最大値を示す. (7) 処理済フラグ:“1”でもって発音量の算出処理済
みを示す. (8) 接続先楽音発生チャネル番号:接続する楽音発生チ
ャネルの楽音発生チャネル番号を示す.
Effect-added channel management map (FIG. 5) The following are stored corresponding to the effect-added channel numbers indicating 20 effect-added channels by the numbers "0 to 19". (1) Sound generation amount (2) Truncate prohibition flag (3) Rapid decay flag (4) Effector control parameter group: Indicates the values of various parameters that control the acoustic effect added to the musical sound. (5) Output coefficient group: Shows the ratio of the envelope level of the musical sound output from the envelope level of the musical sound input to the effect-added channel. The output coefficient of the original sound shows the ratio of the musical sound output without delay. The output coefficient of the sound effect indicates the ratio of the musical sound output in each elapsed phase (1 phase = 5 mSec) for each elapsed phase number from 1 to 400. For example, if the number of elapsed phases is "1", the output coefficient is "elapsed phase 1" (immediately after input, up to 5 mSec)
Indicates the ratio of the musical sound output by (for example, 4 mSec delay). The total sum is the total sum of the output coefficients of the original sound and the sound effect. (6) Maximum number of elapsed phases: Indicates the maximum number of elapsed phases with an output coefficient of 0.05 or more. (7) Processed flag: “1” indicates that the sound volume calculation process has been completed. (8) Connected tone generation channel number: Indicates the tone generation channel number of the connected tone generation channel.

【0038】エンベロープレベルバッファの説明 次に20個の効果付加チャネルに対応してRAM24の
所定領域に設定されている20個のエンベロープレベル
バッファについて説明する。各エンベロープレベルバッ
ファはエンベロープレベルを順次記憶するバッファであ
って、仮想的にリング状に構成されている。書込みが指
示されると書込みポインタで示されているアドレスに対
して書込みが行われ、書込みを終了すると書込みポイン
タを前に進める。読出しが指示されると読出しポインタ
で示されているアドレスに対して読出しが行われる。ク
リアが指示されると記憶領域全てに“0”を書き込む。
なお、各エンベロープレベルバッファは400個のエン
ベロープレベルデータを記憶できる。
Description of Envelope Level Buffers Next, 20 envelope level buffers set in a predetermined area of the RAM 24 corresponding to 20 effect-added channels will be described. Each envelope level buffer is a buffer that sequentially stores envelope levels, and is virtually configured in a ring shape. When the writing is instructed, the writing is performed to the address indicated by the writing pointer, and when the writing is completed, the writing pointer is advanced. When the reading is instructed, the reading is performed to the address indicated by the read pointer. When clearing is instructed, "0" is written in all storage areas.
Each envelope level buffer can store 400 pieces of envelope level data.

【0039】各種の変数の詳細な説明 本電子楽器において実行される各種タスクのフローチャ
ート中において用いられる各種の変数を以下に詳細に説
明する。まず図8〜図25のフローチャートにおいて用
いられる各種の変数として以下のものがある。 NSTK 要求元タスク番号:モニタコールをしたタスクの
タスク番号を示す. NSET 要求元イベント値:モニタコールをしたタスクに
おいて次に処理しようとするイベントの種類を示す. NDTK 要求先タスク番号:次に実行を予定するタスクの
タスク番号を示す. NDET 要求先イベント値:次に実行を予定するタスクに
おいて処理しようとするイベントの種類を示す. IEDF 初期設定完了フラグ:全てのタスクにおける初期
設定の完了を“1”でもって示す. TCTN タイマ割込み処理対象番号:タイマ割込み処理対
象のタスク番号を示す .TCNE[N] 第Nタスクタイマカウンタ値:タスク番号が
Nであるタスク用タイマカウンタの値を示す. TCND[N] 第Nタスク時間間隔:タスク番号がNである
タスクに対してタイマイベントを発行する時間間隔を示
す. TCNE[TCTN] 第TCTNタスクタイマカウンタ値:タスク番
号がタイマ割込み処理対象番号TCTNであるタスク用タイ
マカウンタの値を示す. TCND[TCTN] 第TCTNタスク時間間隔:タスク番号がタイ
マ割込み処理対象番号TCTNであるタスクに対してタイマ
イベントを発行する時間間隔を示す.
Detailed Description of Various Variables Various variables used in the flowcharts of various tasks executed in the present electronic musical instrument will be described in detail below. First, the various variables used in the flowcharts of FIGS. 8 to 25 are as follows. NSTK request source task number: Indicates the task number of the task that made the monitor call. NSET Request source event value: Indicates the type of event to be processed next in the task that made the monitor call. NDTK request destination task number: Shows the task number of the next scheduled task. NDET Request event value: Indicates the type of event to be processed in the task scheduled to be executed next. IEDF initial setting completion flag: Indicates the completion of initial setting in all tasks with "1". TCTN Timer interrupt processing target number: Indicates the task number of the timer interrupt processing target. TCNE [N] Nth task timer counter value: Indicates the value of the timer counter for the task whose task number is N. TCND [N] Nth task time interval: Indicates the time interval for issuing a timer event to the task with task number N. TCNE [TCTN] No. TCTN task timer counter value: Indicates the value of the task timer counter whose task number is the timer interrupt processing target number TCTN. TCND [TCTN] TCTN task time interval: Indicates the time interval for issuing a timer event to the task whose task number is the timer interrupt processing target number TCTN.

【0040】〔キーデータ受信タスク〕 NTNM ノート番号:ノートオンおよび/またはノートオ
フメッセージに基づく演奏情報の音高を示す. NTST ノートステータス:ノートオンメッセージに基づ
く演奏情報であることを“1”でもって、ノートオフメ
ッセージに基づく演奏情報であることを“0”でもって
示す. NTVL ベロシティ:ノートオンメッセージに基づく演奏
情報のベロシティを示す. MCNM MIDIチャネル番号:ノートオンおよび/また
はノートオフメッセージに基づく演奏情報のMIDIチ
ャネル番号を示す. PTNM パート番号
[Key Data Reception Task] NTNM Note Number: Indicates the pitch of performance information based on a note-on and / or note-off message. NTST note status: "1" indicates performance information based on the note-on message, and "0" indicates performance information based on the note-off message. NTVL velocity: Indicates the velocity of performance information based on the note-on message. MCNM MIDI channel number: Indicates the MIDI channel number of performance information based on the note-on and / or note-off message. PTNM part number

【0041】〔メインアサイナタスク〕 MASS[N] 第Nアサイン順位の楽音発生チャネル番号:
アサイン順位が第Nアサイン順位(N番目のアサイン順
位)である楽音発生チャネルの楽音発生チャネル番号を
示す. TASN 対象アサイン順位:アサイン対象のアサイン順位
番号を示す. MAEF メインアサイナ処理中フラグ:メインアサイナタ
スクで新たなアサイン処理をしたことを“1”でもって
示す. MASS[TASN] アサイン順位TASNの楽音発生チャネル番
号:アサイン順位が対象アサイン順位TASNである楽音発
生チャネルの楽音発生チャネル番号を示す. GACN 割当て可能楽音発生チャネル数:割当てが可能な
楽音発生チャネル数を示す. MESS[N] 第Nアサイン順位効果付加チャネル番号 MESS[TASN] アサイン順位TASNの効果付加チャネル番号
[Main Assigner Task] MASS [N] N-th assigned tone generation channel number:
The tone generation channel number of the tone generation channel whose assignment order is the Nth assignment order (Nth assignment order) is shown. TASN Target Assignment Order: Indicates the assignment order number of the assignment target. MAEF Main assigner processing flag: Indicates that the main assigner task has performed new assignment processing with "1". MASS [TASN] Musical tone generation channel number of assignment order TASN: Indicates the tone generation channel number of the tone generation channel whose assignment order is the target assignment order TASN. GACN Number of assignable tone generation channels: Shows the number of assignable tone generation channels. MESS [N] Nth assign order effect additional channel number MESS [TASN] Assign order TASN effect additional channel number

【0042】〔発音タスク〕 GCTN 発音処理対象楽音発生チャネル番号:処理対象の
楽音発生チャネル番号を示す. TDNF 急速減衰未了フラグ:いずれかの楽音発生チャネ
ルが急速減衰中であることを“1”でもって示す.
[Sound Generation Task] GCTN Sound Generation Channel Number for Sound Generation Processing: Indicates the sound generation channel number for processing. TDNF Flag for rapid attenuation incomplete: Indicates that one of the tone generation channels is in rapid attenuation with "1".

【0043】〔プリアサイナタスク〕 GN 楽音発生チャネル番号 PLEV[GN] 楽音発生チャネル番号GNのプリアサイナ発音
量 PACT[GN] 楽音発生チャネル番号GNのプリアサイナ急速
減衰中フラグ PAIT[GN] 楽音発生チャネル番号GNのプリアサイナトラ
ンケート禁止フラグ PAPN[GN] 楽音発生チャネル番号GNのプリアサイナ押鍵
順位 PACN プリアサイナ割当て可能楽音発生チャネル数:プ
リアサイナタスクにおいて割当て可能な楽音発生チャネ
ル数を示す. N プリアサイン順位 RN プリアサイン逆順位 PASS[N] 第Nプリアサイン順位楽音発生チャネル番号:
プリアサイン順位が第N順位である楽音発生チャネルの
楽音発生チャネル番号を示す. PN 処理対象押鍵順位 PESS[N] 第Nプリアサイン順位効果付加チャネル番
号:プリアサイン順位が第N順位である効果付加チャネ
ルの効果付加チャネル番号を示す. EN 効果付加チャネル番号 PELV[EN] 効果付加チャネル番号ENのプリアサイナ発音
量 PECT[EN] 効果付加チャネル番号ENのプリアサイナ急速
減衰中フラグ PEIT[EN] 効果付加チャネル番号ENのプリアサイナトラ
ンケート禁止フラグ PASG 対応楽音発生チャネルプリアサイン順位:処理対
象の効果付加チャネルに対応する楽音発生チャネルのプ
リアサイン順位を示す. CN 代換対象順位 PESS[CN] 第CNプリアサイン順位効果付加チャネル番号 PASS[CN] 第CNプリアサイン順位楽音発生チャネル番号
[Pre-Assigner Task] GN Music Sound Generation Channel Number PLEV [GN] Pre-Assigner Sound Generation Amount of Music Sound Generation Channel Number GN PACT [GN] Pre-Assigner Rapid Decaying Flag of Music Sound Generation Channel Number GN PAIT [GN] Music Sound Generation Channel Number GN Pre-assigner truncate prohibition flag PAPN [GN] Pre-assigner key pressing order for tone generation channel number GN PACN Pre-signer number of assignable tone generation channels: Indicates the number of tone generation channels that can be assigned in the pre-assigner task. N pre-assigned order RN pre-assigned reverse order PASS [N] N-th pre-assigned order Musical tone generation channel number:
The tone generation channel number of the tone generation channel with the pre-assigned rank N is shown. PN processing target key pressing order PESS [N] Nth pre-assigned order effect-added channel number: Indicates the effect-added channel number of the effect-added channel whose pre-assignment order is the N-th order. EN effect addition channel number PELV [EN] Effect addition channel number EN pre-assigner sound output PECT [EN] Effect addition channel number EN pre-assigner rapid decay flag PEIT [EN] Effect addition channel number EN pre-assigner truncate prohibition flag PASG compatible Tone generation channel pre-assignment order: Shows the pre-assignment order of the tone generation channel corresponding to the effect-added channel to be processed. CN Replacement target order PESS [CN] CN pre-assign order effect effect channel number PASS [CN] CN pre-assign order Music tone generation channel number

【0044】〔エンベロープタスク〕 ECTN エンベロープ処理対象番号 EPNM エンベロープ処理対象パート番号 ELEN エンベロープレベル ERTE レート FNOW フェーズ番号 FPSN 最短押鍵フェーズ番号:少なくともノートオン状
態であると予測するフェーズの最終フェーズ番号を示
す. FPCN 押鍵継続フェーズ数:ノートオン状態の継続する
長さを示す. FVCN 発音継続フェーズ数 EVOL 発音量:楽音発生チャネルの発音量 EEVL 発音量:効果付加チャネルの発音量 ETWT 出力係数総和:出力係数群の総和を示す. ETWM 出力係数総和最大値:出力係数群の総和の最大値
を示す. EFMN 最大経過フェーズ数:最大経過フェーズ数を示
す. ELFN 経過フェーズ数:効果付加チャネルに蓄積されて
いる発音量の算出における処理対象の経過フェーズを示
す. 次に各フローについて詳細に説明する。まず、モニタプ
ログラムについて図8〜図12に示されるフローチャー
トを参照して説明する。
[Envelope task] ECTN Envelope processing target number EPNM Envelope processing target part number ELEN Envelope level ERTE rate FNOW phase number FPSN Shortest key pressing phase number: At least the final phase number of the phase predicted to be in the note-on state. FPCN Number of key press continuation phases: Indicates the length of note-on continuation. FVCN Number of continuous sounding phases EVOL Sound volume: Sound volume of tone generation channel EEVL Sound volume: Sound volume of effect-added channel ETWT Total output coefficient: Shows total output coefficient group. ETWM output coefficient sum maximum value: Indicates the maximum sum of output coefficient groups. EFMN Maximum number of elapsed phases: Indicates the maximum number of elapsed phases. ELFN Number of elapsed phases: Indicates the number of elapsed phases to be processed in the calculation of the pronunciation volume accumulated in the effect-added channel. Next, each flow will be described in detail. First, the monitor program will be described with reference to the flowcharts shown in FIGS.

【0045】各種タスクのフローチャートの詳細な説明 以下、各種タスクのフローチャートについて詳細に説明
する。まず、モニタプログラムについて図8〜図12に
示されるフローチャートを参照して説明する。 リセットルーチン(図8) 電源の投入時等においてリセットがかかると実行される
ルーチンである。各ステップZA1〜ZA3での処理は
以下の通りである。 〔ZA1〕 タスク管理マップにおける全てのタスク番
号のステータスを“1:レディ”に設定し、また、タイ
マ処理要求フラグ、待ちイベント値およびイベント発生
フラグを“0”に設定する。さらに、初期設定完了フラ
グIEDFを“0:初期設定未完了”に設定する等の初期設
定を行う。 〔ZA2〕 要求元タスク番号NSTKを“1:キーデータ
受信タスク”に更新するとともに、タスク管理マップに
おけるタスク番号“1:キーデータ受信タスク”のステ
ータスを“0:ラン”に設定する。 〔ZA3〕 キーデータ受信タスクを実行する。
Detailed Description of Flowcharts for Various Tasks The flowcharts for various tasks will be described in detail below. First, the monitor program will be described with reference to the flowcharts shown in FIGS. Reset Routine (FIG. 8) This is a routine that is executed when a reset is applied when the power is turned on. The processing in each step ZA1 to ZA3 is as follows. [ZA1] The statuses of all task numbers in the task management map are set to "1: ready", and the timer processing request flag, the wait event value, and the event occurrence flag are set to "0". Further, initial setting such as setting the initial setting completion flag IEDF to “0: incomplete initial setting” is performed. [ZA2] The request source task number NSTK is updated to "1: key data reception task", and the status of the task number "1: key data reception task" in the task management map is set to "0: run". [ZA3] The key data reception task is executed.

【0046】イベント待ちモニタコールルーチン(図
9) 実行中のタスクがイベント待ちモニタコールをすると実
行されるルーチンである。各ステップZB1〜ZB5で
の処理は以下の通りである。 〔ZB1〕 タスク管理マップにおける要求元タスク番
号NSTKに対応するタスク番号について、要求元イベント
値NSETの2進数表現における“1”であるビットに対応
するイベント発生フラグのいずれかが“1:イベント発
生”であるか否かを判断する。この対応するイベント発
生フラグのいずれかが“1:イベント発生”である場合
には、イベント待ちモニタコールを行ったタスクに戻
る。なお、イベント発生フラグの判断に際して、例えば
要求元イベント値NSETが“1”である場合には第1イベ
ント発生フラグ、要求元イベント値NSETが“2”である
場合には第2イベント発生フラグ、要求元イベント値NS
ETが“3”である場合には第1および第2イベント発生
フラグを判断する。
Event wait monitor call routine (FIG. 9) This routine is executed when an executing task makes an event wait monitor call. The processing in each step ZB1 to ZB5 is as follows. [ZB1] For the task number corresponding to the request source task number NSTK in the task management map, one of the event occurrence flags corresponding to the bit that is "1" in the binary representation of the request source event value NSET is "1: event occurrence". It is determined whether or not it is ". If any of the corresponding event occurrence flags is "1: event occurrence", the process returns to the task that made the event wait monitor call. In determining the event occurrence flag, for example, if the request source event value NSET is “1”, the first event occurrence flag, if the request source event value NSET is “2”, the second event occurrence flag, Request source event value NS
When ET is "3", the first and second event occurrence flags are determined.

【0047】〔ZB2〕 ステップZB1における判断
において、判断対象のイベント発生フラグがいずれも
“1”でなくてイベントの発生を示していない場合に
は、タスク管理マップにおける要求元タスク番号NSTKに
対応するタスク番号のステータスを“2:ウェイト”に
設定するとともに、待ちイベント値を要求元イベント値
NSETにする。また処理の再開に備えて要求元タスクにお
いて使用中のレジスタ等の内容をスタック領域に退避す
る等の中断処理(以下、単に要求元タスクの中断処理と
記する)を行う。 〔ZB3〕 タスク管理マップを調べて、イベント待ち
モニタコールを行ったタスクより優先順位が低くかつ対
応するステータスが“1:レディ”を示すタスクをタス
ク番号順に探す。このレディを示すタスクがない場合に
は、要求元タスク番号NSTKをスリープを示す“7”に設
定してスリープする。なお、スリープからはタイマ25
またはMIDI回路20からのハードウェア割込みに基
づいて、後述するタイマ割込み処理ルーチン、キーデー
タ受信割込み処理ルーチン、または操作子データ受信割
込み処理ルーチンが起動される。 〔ZB4〕 ステップZB3において最優先のレディタ
スクを探し出すと、要求元タスク番号NSTKをそのタスク
のタスク番号に更新するとともに、タスク管理マップに
おけるそのタスクのタスク番号のステータスを“0:ラ
ン”に設定する。 〔ZB5〕 要求元タスク番号NSTKに対応するタスクを
実行する。なお、タスクの実行に際しては、そのタスク
の中断処理においてスタック領域に退避したデータ等を
元のレジスタ等に戻す等の再開処理(以下、単に再開処
理と記する)を行う。
[ZB2] In the determination in step ZB1, if none of the event generation flags to be determined indicate "1" and no event has occurred, the request source task number NSTK in the task management map is satisfied. Set the task number status to "2: wait" and set the wait event value to the request source event value.
Set to NSET. In addition, in preparation for the resumption of processing, interrupt processing (hereinafter simply referred to as interrupt processing of the request source task) such as saving the contents of registers and the like being used in the request source task to the stack area is performed. [ZB3] By checking the task management map, a task having a priority lower than that of the task that made the event waiting monitor call and the corresponding status is "1: ready" is searched for in the order of task numbers. If there is no task indicating this ready, the request source task number NSTK is set to "7" indicating sleep, and sleeps. In addition, from sleep, timer 25
Alternatively, based on a hardware interrupt from the MIDI circuit 20, a timer interrupt processing routine, a key data reception interrupt processing routine, or an operator data reception interrupt processing routine, which will be described later, is activated. [ZB4] When the highest priority ready task is found in step ZB3, the request source task number NSTK is updated to the task number of the task, and the task number status of the task in the task management map is set to "0: run". To do. [ZB5] The task corresponding to the request source task number NSTK is executed. When executing a task, a restart process (hereinafter simply referred to as a restart process) such as returning the data saved in the stack area to the original register in the interrupt process of the task is performed.

【0048】イベント発生モニタコールルーチン(図1
0) 実行中のタスクがイベント発生モニタコールをすると実
行されるルーチンである。各ステップZC1〜ZC7で
の処理は以下の通りである。 〔ZC1〕 タスク管理マップにおける要求先タスク番
号NDTKに対応するタスク番号について、要求先イベント
値NDETの2進数表現における“1”であるビットに対応
するイベント発生フラグを“1”に設定する。例えば要
求先イベント値NDETが“1”である場合には第1イベン
ト発生フラグを、要求先イベント値NDETが“2”である
場合には第2イベント発生フラグを“1”に設定する。 〔ZC2〕 タスク管理マップにおける要求先タスク番
号NDTKに対応するタスク番号のステータスが“2:ウェ
イト”でかつ待ちイベント値が要求先イベント値NDETに
対応しているか否かを判断する。このステータスが
“2:ウェイト”でなく、または待ちイベント値が要求
先イベント値NDETに対応しない場合には、このモニタコ
ールを行ったタスクに戻る。なお、待ちイベント値が要
求先イベント値NDETに対応しているか否かの判断は、待
ちイベント値の2進数表現における“1”であるビット
に対応する要求先イベント値NDETの2進数表現における
ビットのいずれかのビットが“1”であるか否かで判断
する。例えば待ちイベント値が“1”である場合には要
求先イベント値NDETの第1ビットが“1”、待ちイベン
ト値が“2”である場合には要求先イベント値NDETの第
2ビットが“1”、待ちイベント値が“3”である場合
には要求先イベント値NDETの第1または第2ビットが
“1”であるときに対応していると判断する。
Event occurrence monitor call routine (Fig. 1
0) This routine is executed when the task being executed makes an event occurrence monitor call. The processing in each step ZC1 to ZC7 is as follows. [ZC1] For the task number corresponding to the requested task number NDTK in the task management map, the event occurrence flag corresponding to the bit that is "1" in the binary representation of the requested event value NDET is set to "1". For example, the first event occurrence flag is set to "1" when the request destination event value NDET is "1", and the second event occurrence flag is set to "1" when the request destination event value NDET is "2". [ZC2] It is determined whether or not the status of the task number corresponding to the requested task number NDTK in the task management map is "2: wait" and the wait event value corresponds to the requested event value NDET. If the status is not "2: wait" or the wait event value does not correspond to the request destination event value NDET, the task that returned this monitor call is returned. It should be noted that whether or not the wait event value corresponds to the request destination event value NDET is determined by the bit in the binary representation of the request destination event value NDET corresponding to the bit that is "1" in the binary representation of the wait event value. Judgment is made based on whether any one of the bits is "1". For example, when the wait event value is "1", the first bit of the request destination event value NDET is "1", and when the wait event value is "2", the second bit of the request destination event value NDET is " When the wait event value is "1" and the wait event value is "3", it is determined that the request destination event value NDET corresponds when the first or second bit is "1".

【0049】〔ZC3〕 ステップZC2における判断
において、判断対象のステータスが“2:ウェイト”で
かつ待ちイベント値が要求先イベント値NDETに対応する
場合には、このステータスを“1:レディ”に設定す
る。 〔ZC4〕 要求先タスク番号NDTKが要求元タスク番号
NSTK未満か否かにより要求先タスクの優先順位が要求元
タスクの優先順位より高いか否かを判断する。この要求
先タスク番号NDTKが要求元タスク番号NSTK未満でなくて
要求先タスクの優先順位が高くない場合には、このモニ
タコールを行ったタスクに戻る。 〔ZC5〕 ステップZC4における判断において、要
求先タスク番号NDTKが要求元タスク番号NSTK未満で要求
先タスクの優先順位が高い場合には、タスク管理マップ
における要求元タスク番号NSTKに対応するタスク番号の
ステータスを“1:レディ”に設定するとともに、処理
の再開に備えて要求元タスクの中断処理を行う。 〔ZC6〕 要求元タスク番号NSTKを要求先タスク番号
NDTKに更新するとともに、タスク管理マップにおける要
求先タスク番号NDTKに対応するタスク番号のステータス
を“0:ラン”に設定する。 〔ZC7〕 要求先タスク番号NDTKに対応するタスク番
号のタスクを実行する。なお、タスクの実行に際しては
そのタスクの再開処理を行う。
[ZC3] In the determination in step ZC2, when the status to be determined is "2: wait" and the waiting event value corresponds to the requested event value NDET, this status is set to "1: ready". To do. [ZC4] Request destination task number NDTK is the request source task number
Whether or not the priority of the requested task is higher than that of the requested task is determined by whether or not it is less than NSTK. If the request destination task number NDTK is not less than the request source task number NSTK and the priority of the request destination task is not high, the process returns to the task that made this monitor call. [ZC5] If it is determined in step ZC4 that the requested task number NDTK is less than the requested task number NSTK and the requested task has a high priority, the status of the task number corresponding to the requested task number NSTK in the task management map. Is set to “1: ready”, and the request source task is interrupted in preparation for the resumption of processing. [ZC6] Request source task number NSTK to request destination task number
While updating to NDTK, the status of the task number corresponding to the requested task number NDTK in the task management map is set to "0: run". [ZC7] The task having the task number corresponding to the requested task number NDTK is executed. When executing a task, the task is restarted.

【0050】タイマ割込み処理ルーチン(図11) このタイマ割込み処理ルーチンにおいては、タイマ25
からタイマ割込みがかかると、まず各タスクに対応する
タイマカウンタを調べ、その値が“1”を超えている場
合にはタイマカウンタを“1”だけデクリメントし、
“1”を超えていない場合にはタスク管理マップにおけ
るそのタスク番号の第1イベント発生フラグを“1:イ
ベント発生”に設定するとともに、そのタスクのステー
タスが“2:ウェイト”であるときにはステータスを
“1:レディ”に設定する。次に、優先順位の高いタス
クから順次に、タスクを実行すべきか否かを判断して最
初に条件を満たすタスクを実行させる。各ステップZD
1〜ZD16での処理は以下の通りである。 〔ZD1〕 初期設定完了フラグIEDFが“1:初期設定
完了”であるか否かを判断する。この初期設定完了フラ
グIEDFが“1”でない場合には、全てのタスクの初期設
定がいまだ終了していないので、タイマ割込み処理を終
了してタイマ割込み前の処理に戻り、“1”である場合
には後述する各タスクの初期設定を全て終了しているの
で次のステップZD2に進む。
Timer Interrupt Processing Routine (FIG. 11) In this timer interrupt processing routine, the timer 25
When a timer interrupt occurs from, first check the timer counter corresponding to each task, and if the value exceeds "1", decrement the timer counter by "1",
When it does not exceed "1", the first event occurrence flag of the task number in the task management map is set to "1: event occurrence", and when the status of the task is "2: wait", the status is changed. Set to "1: Ready". Next, it is judged in order from the task with the highest priority whether or not the task should be executed, and the task satisfying the condition is executed first. Each step ZD
The processing in 1 to ZD16 is as follows. [ZD1] It is determined whether or not the initialization completion flag IEDF is "1: initialization completed". If the initialization completion flag IEDF is not "1", the initialization of all tasks has not been completed yet, so the timer interrupt processing is terminated and the processing before the timer interrupt is returned to "1". Since the initial setting of each task described later has been completed, the process proceeds to the next step ZD2.

【0051】〔ZD2〕 タイマ割込み処理対象のタス
ク番号を示すタイマ割込み処理対象番号TCTNを“6”に
設定する。 〔ZD3〕 タスク管理マップにおけるタイマ割込み処
理対象番号TCTNに対応するタスク番号のタイマ処理要求
フラグが“1:要求有り”であるか否かを判断する。こ
のタイマ処理要求フラグが“1”でない場合には、ステ
ップZD8に進む。 〔ZD4〕 ステップZD3における判断において、判
断対象のタイマ処理要求フラグが“1:要求有り”であ
る場合には、第TCTNタスクタイマカウンタ値TCNE[TCTN]
が“1”を超えているか否かを判断する。第TCTNタスク
タイマカウンタ値TCNE[TCTN]が“1”を超えている場合
には、ステップZD10に進む。
[ZD2] The timer interrupt processing target number TCTN indicating the task number of the timer interrupt processing target is set to "6". [ZD3] It is determined whether or not the timer process request flag of the task number corresponding to the timer interrupt process target number TCTN in the task management map is "1: request". If the timer processing request flag is not "1", the process proceeds to step ZD8. [ZD4] In the determination in step ZD3, if the timer processing request flag to be determined is “1: request”, the TCTN task timer counter value TCNE [TCTN]
It is determined whether or not exceeds "1". If the TCTN task timer counter value TCNE [TCTN] exceeds "1", the process proceeds to step ZD10.

【0052】〔ZD5〕 ステップZD4における判断
において、第TCTNタスクタイマカウンタ値TCNE[TCTN]が
“1”を超えていない場合には、まず第TCTNタスクタイ
マカウンタ値TCNE[TCTN]に第TCTNタスク時間間隔TCND[T
CTN]を加算して、この値を新たな第TCTNタスクタイマカ
ウンタ値TCNE[TCTN]とする。次に、タスク管理マップに
おけるタイマ割込み処理対象番号TCTNに対応するタスク
番号の第1イベント発生フラグを“1:イベント発生”
に設定する。 〔ZD6〕 タスク管理マップにおけるタイマ割込み処
理対象番号TCTNに対応するタスク番号のステータスが
“2:ウェイト”でかつそのタスクの待ちイベント値の
2進数表現における第1ビットが“1”(例えば待ちイ
ベント値が“1”,“3”)であるか否かを判断する。
このステータスが“2:ウェイト”でないまたは待ちイ
ベント値の2進数表現における第1ビットが“1”でな
い場合には、ステップZD8に進む。
[ZD5] If it is determined in step ZD4 that the TCTN task timer counter value TCNE [TCTN] does not exceed "1", first the TCTN task timer counter value TCNE [TCTN] is set to the TCTN task time. Interval TCND [T
CTN] is added and this value is set as a new TCTN task timer counter value TCNE [TCTN]. Next, set the first event generation flag of the task number corresponding to the timer interrupt processing target number TCTN in the task management map to "1: Event generation".
Set to. [ZD6] The status of the task number corresponding to the timer interrupt processing target number TCTN in the task management map is "2: wait", and the first bit in the binary representation of the wait event value of the task is "1" (for example, wait event It is determined whether or not the value is "1", "3").
If the status is not "2: wait" or the first bit in the binary representation of the wait event value is not "1", the process proceeds to step ZD8.

【0053】〔ZD7〕 ステップZD6における判断
において、判断対象のステータスが“2:ウェイト”で
かつ判断対象の待ちイベント値の2進数表現における第
1ビットが“1”である場合には、タスク管理マップに
おけるタイマ割込み処理対象番号TCTNに対応するタスク
番号のステータスを“1:レディ”に設定する。 〔ZD8〕 タイマ割込み処理対象番号TCTNが“1”を
超えているか否かを判断する。このタイマ割込み処理対
象番号TCTNが“1”を超えていない場合には、イベント
発生フラグの設定処理が全て終了したので、ステップZ
D11に進む。 〔ZD9〕 ステップZD8における判断において、タ
イマ割込み処理対象番号TCTNが“1”を超えている場合
には、タイマ割込み処理対象番号TCTNを“1”だけデク
リメントしてステップZD3に戻る。 〔ZD10〕 ステップZD4における判断において、
第TCTNタスクタイマカウンタ値TCNE[TCTN]が“1”を超
えている場合には、第TCTNタスクタイマカウンタ値TCNE
[TCTN]を“1”だけデクリメントしてステップZD8に
進む。
[ZD7] In the determination in step ZD6, when the status of the determination target is “2: wait” and the first bit in the binary representation of the wait event value of the determination target is “1”, task management Set the status of the task number corresponding to the timer interrupt processing target number TCTN in the map to "1: ready". [ZD8] It is determined whether the timer interrupt processing target number TCTN exceeds "1". If the timer interrupt processing target number TCTN does not exceed "1", all the event occurrence flag setting processing has been completed, so step Z
Proceed to D11. [ZD9] In the determination in step ZD8, if the timer interrupt processing target number TCTN exceeds "1", the timer interrupt processing target number TCTN is decremented by "1" and the process returns to step ZD3. [ZD10] In the determination in step ZD4,
If the TCTN task timer counter value TCNE [TCTN] exceeds "1", the TCTN task timer counter value TCNE
Decrement [TCTN] by "1" and proceed to step ZD8.

【0054】〔ZD11〕 タイマ割込み処理対象番号
TCTNがこのルーチンにおいてはタイマ割込み発生前の処
理を示す要求元タスク番号NSTK未満であるか否かを判断
する。このタイマ割込み処理対象番号TCTNが要求元タス
ク番号NSTK未満でない場合には、タイマ割込み発生時に
実行していたタスクの優先順位が処理対象番号TCTNに対
応するタスクの優先順位より低くないので、タイマ割込
み処理を終了してそのタスクに戻る。 〔ZD12〕 ステップZD11における判断におい
て、タイマ割込み処理対象番号TCTNが要求元タスク番号
NSTK未満である場合には、タスク管理マップにおけるタ
イマ割込み処理対象番号TCTNに対応するタスク番号のス
テータスが“1:レディ”であるか否かを判断する。こ
のステータスが“1”でない場合には、ステップZD1
6に進む。
[ZD11] Timer interrupt processing target number
In this routine, the TCTN determines whether or not it is less than the request source task number NSTK indicating the processing before the timer interrupt occurs. If the timer interrupt processing target number TCTN is not less than the request source task number NSTK, the priority of the task being executed when the timer interrupt occurs is not lower than the priority of the task corresponding to the processing target number TCTN. Finish the process and return to the task. [ZD12] In the determination at step ZD11, the timer interrupt processing target number TCTN is the request source task number.
If it is less than NSTK, it is determined whether or not the status of the task number corresponding to the timer interrupt processing target number TCTN in the task management map is "1: ready". If this status is not "1", step ZD1
Proceed to 6.

【0055】〔ZD13〕 ステップZD12における
判断において、判断対象のステータスが“1:レディ”
である場合には、タスク管理マップにおける要求元タス
ク番号NSTKに対応するタスク番号のステータスを“1:
レディ”に設定するとともに、処理の再開に備えて要求
元タスク番号NSTKに対応するタスクの中断処理を行う。 〔ZD14〕 要求元タスク番号NSTKをタイマ割込み処
理対象番号TCTNに更新するとともに、タスク管理マップ
におけるタイマ割込み処理対象番号TCTNに対応するタス
ク番号のステータスを“0:ラン”に設定する。 〔ZD15〕 タイマイベントを発生する。すなわち、
タイマ割込み処理対象番号TCTNに対応するタスク番号の
タスクを実行する。なお、タスクの実行に際してはその
タスクの再開処理を行う。 〔ZD16〕 ステップZD12における判断におい
て、判断対象のステータスが“1:レディ”でない場合
には、タイマ割込み処理対象番号TCTNを“1”だけイン
クリメントしてステップZD11に戻る。
[ZD13] In the determination in step ZD12, the status of the determination target is "1: ready".
If it is, the status of the task number corresponding to the request source task number NSTK in the task management map is “1:
In addition to setting to "Ready", the task corresponding to the request source task number NSTK is interrupted in preparation for restarting the process. [ZD14] The request source task number NSTK is updated to the timer interrupt processing target number TCTN, and task management is performed. The status of the task number corresponding to the timer interrupt processing target number TCTN in the map is set to “0: run.” [ZD15] A timer event occurs.
Executes the task with the task number corresponding to the timer interrupt processing target number TCTN. When executing a task, the task is restarted. [ZD16] In the determination in step ZD12, if the determination target status is not "1: ready", the timer interrupt processing target number TCTN is incremented by "1" and the process returns to step ZD11.

【0056】キーデータ受信割込み処理ルーチン(図1
2) MIDI回路20から割込みがかかると実行されてキー
データ受信イベントを発生するルーチンである。各ステ
ップZE1〜ZE6での処理は以下の通りである。 〔ZE1〕 初期設定完了フラグIEDFが“1:完了”で
あるか否かを判断する。この初期設定完了フラグIEDFが
“1”でない場合には、全てのタスクの初期設定がいま
だ終了していないので、キーデータ受信割込み処理を終
了してキーデータ受信割込み発生前の処理に戻る。 〔ZE2〕 ステップZE1における判断において初期
設定完了フラグIEDFが“1:完了”である場合には、タ
スク管理マップにおけるタスク番号“1:キーデータ受
信タスク”の第1イベント発生フラグを“1:発生”に
設定する。 〔ZE3〕 タスク管理マップにおけるタスク番号
“1:キーデータ受信タスク”のステータスが“2:ウ
ェイト”でかつ待ちイベント値が“1:キーデータ受信
イベント待ち”であるか否かを判断する。このステータ
スが“2:ウェイト”でない、または待ちイベント値が
“1:キーデータ受信イベント待ち”でない場合には、
キーデータ受信割込み処理を終了してキーデータ受信割
込み発生前の処理に戻る。
Key data reception interrupt processing routine (see FIG. 1
2) This routine is executed when an interrupt is received from the MIDI circuit 20 to generate a key data reception event. The processing in each step ZE1 to ZE6 is as follows. [ZE1] It is determined whether or not the initialization completion flag IEDF is "1: complete". If the initialization completion flag IEDF is not "1", the initialization of all the tasks has not been completed yet, so the key data reception interrupt process is terminated and the process returns to the process before the generation of the key data reception interrupt. [ZE2] If the initial setting completion flag IEDF is "1: complete" in the judgment at step ZE1, the first event occurrence flag of the task number "1: key data receiving task" in the task management map is "1: occurred". Set to ". [ZE3] It is determined whether or not the status of the task number "1: key data reception task" in the task management map is "2: wait" and the wait event value is "1: wait for key data reception event". If this status is not "2: wait" or the wait event value is not "1: wait for key data reception event",
The key data reception interrupt process is terminated and the process returns to the process before the key data reception interrupt occurred.

【0057】〔ZE4〕 ステップZE3における判断
において、判断対象のステータスが“2”でかつ待ちイ
ベント値が“1”でキーデータ受信イベント待ちである
場合には、このルーチンにおいてはキーデータ受信割込
み発生前の処理を示す要求元タスク番号NSTKが“7”未
満であるか否かを判断する。要求元タスク番号NSTKが
“7” 未満である場合にはタスク管理マップにおける
要求元タスク番号NSTKに対応するタスク番号のステータ
スを“1:レディ”に設定するとともに、処理の再開に
備えてタイマ割込み発生前のタスクの中断処理を行う。
なお、“7”未満でない場合には格別の処理は不要であ
る。 〔ZE5〕 要求元タスク番号NSTKをタスク番号“1:
キーデータ受信タスク”に更新するとともに、タスク管
理マップにおけるタスク番号“1:キーデータ受信タス
ク”のステータスを“0:ラン”に設定する。 〔ZE6〕 キーデータ受信イベントを発生する。すな
わち、キーデータ受信タスクを実行する。なおタスクの
実行に際してはキーデータ受信タスクの再開処理を行
う。
[ZE4] In the determination at step ZE3, when the status of the determination target is "2", the wait event value is "1" and the key data reception event is waited, a key data reception interrupt is generated in this routine. It is determined whether the request source task number NSTK indicating the previous process is less than “7”. When the request source task number NSTK is less than “7”, the status of the task number corresponding to the request source task number NSTK in the task management map is set to “1: ready” and a timer interrupt is provided in preparation for restarting the process. Performs the process of interrupting the task before it occurs.
If it is not less than "7", no special processing is required. [ZE5] Request source task number NSTK is changed to task number "1:"
In addition to updating to the "key data reception task", the status of the task number "1: key data reception task" in the task management map is set to "0: run." [ZE6] A key data reception event occurs. Executes the data reception task.When executing the task, the key data reception task is restarted.

【0058】操作子データ受信割込み処理ルーチン MIDI回路20から操作子データ受信割込みがかかる
と実行されて操作子データ受信要求イベントの発生など
をする。各ステップZG1〜ZG7での処理は以下の通
りである。 〔ZG1〕 初期設定完了フラグIEDFが“1:完了”で
あるか否かを判断する。この初期設定完了フラグIEDFが
“1”でない場合には、全てのタスクの初期設定がいま
だ終了していないので、操作子データ受信割込みルーチ
ンを終了して操作子データ受信割込み発生前の処理に戻
る。 〔ZG2〕 ステップZG1における判断において初期
設定完了フラグIEDFが“1:完了”である場合には、タ
スク管理マップにおけるタスク番号“6:操作子データ
受信タスク”の第1イベント発生フラグを“1:発生”
に設定する。 〔ZG3〕 タスク管理マップにおけるタスク番号
“6:操作子データ受信タスク”のステータスが“2:
ウェイト”でかつ待ちイベント値が“1:操作子データ
受信イベント待ち”であるか否かを判断する。このステ
ータスが“2:ウェイト”でない、または待ちイベント
値が“1:操作子データ受信イベント待ち”でない場合
には、操作子データ受信割込み処理を終了して操作子デ
ータ受信割込み前の処理に戻る。 〔ZG4〕 ステップZG3における判断において、タ
スク管理マップにおけるタスク番号“6:操作子データ
受信タスク”のステータスが“2:ウェイト”でかつ待
ちイベント値が“1”である場合には、このステータス
を“1:レディ”に設定する。
Manipulator data reception interrupt processing routine This is executed when a manipulator data reception interrupt is received from the MIDI circuit 20, and an operator data reception request event is generated. The processing in each step ZG1 to ZG7 is as follows. [ZG1] It is determined whether or not the initialization completion flag IEDF is "1: complete". If the initialization completion flag IEDF is not "1", the initialization of all the tasks has not been completed yet, so the manipulator data reception interrupt routine is terminated and the process returns to the process before the occurrence of the manipulator data reception interrupt. . [ZG2] If the initial setting completion flag IEDF is "1: complete" in the determination in step ZG1, the first event occurrence flag of the task number "6: operator data reception task" in the task management map is "1:". Occurrence ”
Set to. [ZG3] The status of the task number “6: operator data reception task” in the task management map is “2:
It is determined whether the status is "wait" and the wait event value is "1: wait for manipulator data reception event" .This status is not "2: wait" or the wait event value is "1: manipulator data reception event". If it is not "wait", the manipulator data reception interrupt process is terminated and the process returns to the process before the manipulator data reception interrupt. [ZG4] In the determination at step ZG3, the task number "6: Manipulator data reception" in the task management map When the status of the "task" is "2: wait" and the wait event value is "1", this status is set to "1: ready".

【0059】〔ZG5〕 要求元タスク番号NSTKが
“6”を超えているか否かにより要求元タスクの優先順
位が操作子データ受信タスクの優先順位より低いか否か
を判断する。要求元タスク番号NSTKが“6”を超えてい
なくて要求元タスクの優先順位が操作子データ受信タス
クの優先順位より低くない場合には、操作子データ受信
割込み前に実行していたタスクを示す要求元タスク番号
NSTKのタスクに戻る。 〔ZG6〕 ステップZG5における判断において要求
元タスク番号NSTKが“6”を超えていて要求元タスクの
優先順位が操作子データ受信割込みタスクの優先順位よ
り低い場合には、要求元タスク番号NSTKを“6:操作子
データ受信タスク”に更新するとともに、タスク管理マ
ップにおけるタスク番号“6:操作子データ受信タス
ク”のステータスを“0:ラン”に設定する。 〔ZG7〕 操作子データ受信イベントを発生する。す
なわち、操作子データ受信タスクを実行する。なおタス
クの実行に際しては操作子データ受信タスクの再開処理
を行う。なお、ステップZG5における判断において操
作子データ受信割込み前に実行していたタスクに戻った
場合には、いずれかのタスクにおけるイベント待ちモニ
タコールに基づくイベント待ちモニタコールルーチンに
おいて条件を満たすと操作子データ受信タスクを実行す
る。
[ZG5] It is determined whether or not the priority of the request source task is lower than the priority of the operator data receiving task depending on whether or not the request source task number NSTK exceeds “6”. If the request source task number NSTK does not exceed "6" and the priority of the request source task is not lower than the priority of the operator data reception task, it indicates the task that was executed before the operator data reception interrupt. Requesting task number
Return to NSTK task. [ZG6] If the request source task number NSTK exceeds "6" in the determination in step ZG5 and the priority of the request source task is lower than the priority of the operator data reception interrupt task, the request source task number NSTK is set to " 6: update the operator data receiving task "and set the status of the task number" 6: operator data receiving task "in the task management map to" 0: run ". [ZG7] An operator data reception event occurs. That is, the manipulator data reception task is executed. When the task is executed, the operator data reception task is restarted. When returning to the task that was executed before the operator data reception interrupt in the determination at step ZG5, if the condition is satisfied in the event wait monitor call routine based on the event wait monitor call in any task, the operator data is satisfied. Execute the receive task.

【0060】次に、各タスクをキーデータ受信タスク、
メインアサイナタスク、発音タスク、プリアサイナタス
ク、エンベロープタスク、操作子データ受信タスクの順
に説明する。なお、電源の投入時等においてリセットが
かかった後の各タスクでの最初の処理に際しては、先頭
のステップ例えば次に説明するキーデータ受信タスクで
はステップA1から開始する。また、あるタスクの処理
を中断しその後処理を再開するに際しては、そのタスク
において中断時の処理を継続するように中断した処理を
再開する。例えばキーデータ受信タスクのステップA2
でイベント待ちモニタコールをし、イベント待ちモニタ
コールルーチンでの判断においてイベント発生でなく中
断処理をした場合には、その後キーデータ受信割込みの
発生によりキーデータ受信割込みルーチンで再開処理を
すると、ステップA2のイベント待ちモニタコールに引
き続くステップA3から処理を再開する。
Next, each task is a key data receiving task,
The main assigner task, the pronunciation task, the pre-assigner task, the envelope task, and the operator data receiving task will be described in this order. In addition, at the time of the first processing in each task after the reset is applied at the time of turning on the power, etc., it starts from the first step, for example, the key data receiving task described below from step A1. Further, when interrupting the processing of a certain task and restarting the processing after that, the interrupted processing is restarted so that the processing at the time of interruption in the task is continued. For example, step A2 of the key data reception task
If an event wait monitor call is made in step S3, and the event wait monitor call routine determines that an interrupt event is not generated and the key data receive interrupt is subsequently generated and the key data receive interrupt routine is restarted, step A2 The process is restarted from step A3 following the event waiting monitor call.

【0061】キーデータ受信タスク(図13) キーデータ受信タスクは、キーデータ受信イベントが発
生すると、MIDI回路20からノートオンおよび/ま
たはノートオフメッセージに基づく演奏情報を読み込
み、アサイン要求イベントを発生する。各ステップA1
〜A7での処理は以下の通りである。 〔A1〕 このキーデータ受信タスクで占有する変数等
を初期値に設定する。 〔A2〕 要求元イベント値NSETを“1”に設定してイ
ベント待ちモニタコールを行う。キーデータ受信イベン
トが発生すると、次のステップA3に進む。 〔A3〕 タスク管理マップにおけるタスク番号“1:
キーデータ受信タスク”の第1イベント発生フラグを
“0”に、待ちイベント値を“0”に設定する。 〔A4〕 まず、MIDI回路20からノートオンおよ
び/またはノートオフメッセージに基づく演奏情報を読
み込み、その演奏情報のMIDIチャネル番号、ノート
番号、ノートステータスおよびノートベロシティをそれ
ぞれ対応するところのMIDIチャネル番号MCNM、ノー
ト番号NTNM、ノートステータスNTSTおよびベロシティNT
VLとする。次に、MIDIチャネルマップにおけるMI
DIチャネル番号MCNMに対応するMIDIチャネル番号
のパート番号をパート番号PTNMとする。
Key Data Reception Task (FIG. 13) When a key data reception event occurs, the key data reception task reads performance information based on the note-on and / or note-off message from the MIDI circuit 20 and generates an assign request event. . Each step A1
The processing in A7 is as follows. [A1] Variables and the like occupied by this key data reception task are set to initial values. [A2] The request source event value NSET is set to "1" and an event wait monitor call is made. When the key data reception event occurs, the process proceeds to the next step A3. [A3] Task number “1:” in the task management map
The first event occurrence flag of the "key data reception task" is set to "0" and the wait event value is set to "0". [A4] First, performance information based on the note-on and / or note-off message is sent from the MIDI circuit 20. MIDI channel number MCNM, note number NTNM, note status NTST and velocity NT, which correspond to the MIDI channel number, note number, note status and note velocity of the read performance information.
VL. Next, the MI in the MIDI channel map
Let the part number of the MIDI channel number corresponding to the DI channel number MCNM be the part number PTNM.

【0062】〔A5〕 ノートステータスNTSTが“1:
ノートオン”であるか否かを判断する。このノートステ
ータスNTSTが“1”でない場合には次のステップA6に
進み、“1”である場合にはステップA7に進む。 〔A6〕 ノートオフ処理 楽音発生チャネル管理マップのパート番号およびノート
番号がパート番号PTNMおよびノート番号NTNMでかつノー
トステータスが“1”である楽音発生チャネル番号を押
鍵順位の小なる順に探し、押鍵順位の最も小なるその楽
音発生チャネル番号のノートステータスを“0”に設定
する。 ステップA2に戻る。 〔A7〕 ノートオン処理 アサイン要求イベントを発生する。すなわち、要求先タ
スク番号NDTKを“2:メインアサイナタスク”に、要求
先イベント値NDETを“1”に設定してイベント発生モニ
タコールを行う。ステップA2に戻る。
[A5] Note status NTST is "1:"
If the note status NTST is not "1", the process proceeds to the next step A6, and if it is "1", the process proceeds to step A7. [A6] Note off process The tone generation channel management map is searched for the tone generation channel number whose part number and note number are the part number PTNM and note number NTNM, and the note status is "1", in the order of smallest key depression order, and the lowest key depression order. The note status of the tone generation channel number is set to “0.” Return to step A2 [A7] Note-on processing An assign request event is generated, that is, the requested task number NDTK is set to “2: Main assigner task”. Then, the requested event value NDET is set to "1" and an event occurrence monitor call is performed, and the process returns to step A2.

【0063】メインアサイナタスク(図14) メインアサイナタスクは、アサイン要求イベントが発生
すると、後述するプリアサイナタスクで設定するアサイ
ン順位に基づいて、楽音発生チャネル管理マップの所定
の領域にノート番号NTNMなどを書き込み、発音要求イベ
ントを発生する。各ステップB1〜B7での処理は以下
の通りである。 〔B1〕 楽音発生チャネル管理マップおよびおよび効
果付加チャネル管理マップを初期設定すると共に、この
メインアサイナタスクで占有する変数等を初期値に設定
する。なお楽音発生チャネル管理マップにおける各楽音
発生チャネル番号の押鍵順位をその楽音発生チャネル番
号に、効果付加チャネル管理マップにおける各効果付加
チャネル管理番号の接続先楽音発生チャネル番号を、無
接続を意味する“99”に設定する。また、第Nアサイ
ン順位楽音発生チャネル番号MASS[N]および第Nアサイ
ン順位効果付加チャネル番号MESS[N] (Nは0,1,〜15)
をそれぞれ対応する“N( =0,1,〜15) ”に設定する。
また対象アサイン順位TASNを“0”に、割当て可能楽音
発生チャネル数GACNを最大数の“16”にそれぞれ設定
する。 〔B2〕 要求元イベント値NSETを“1”に設定してイ
ベント待ちモニタコールを行う。アサイン要求イベント
が発生すると、次のステップB3に進む。 〔B3〕 タスク管理マップにおけるタスク番号“2:
メインアサイナタスク”の待ちイベント値を“0”に、
第1イベント発生フラグを“0”に設定する。
Main Assigner Task (FIG. 14) When an assign request event occurs, the main assigner task writes a note number in a predetermined area of the tone generation channel management map based on the assign order set in the pre-assigner task described later. Write NTNM etc. and generate a pronunciation request event. The processing in each of the steps B1 to B7 is as follows. [B1] The tone generation channel management map and the effect addition channel management map are initialized, and variables and the like occupied by the main assigner task are set to initial values. The key pressing order of each tone generation channel number in the tone generation channel management map means the tone generation channel number, and the connected tone generation channel number of each effect addition channel management number in the effect addition channel management map means no connection. Set to "99". Also, the N-th assigned order musical tone generation channel number MASS [N] and the N-th assigned order effect addition channel number MESS [N] (N is 0, 1, to 15)
Are set to the corresponding "N (= 0,1, -15)".
Further, the target assign order TASN is set to "0", and the number of assignable tone generation channels GACN is set to the maximum number "16". [B2] The request source event value NSET is set to "1" and an event wait monitor call is made. When the assignment request event occurs, the process proceeds to the next step B3. [B3] Task number “2: in task management map”
Set the wait event value of "main assigner task" to "0",
The first event occurrence flag is set to "0".

【0064】〔B4〕 対象アサイン順位TASNが割当て
可能楽音発生チャネル数GACN未満であるか否かを判断す
る。割当て可能楽音発生チャネル数GACN未満でない場合
には、割り当てるべき楽音発生チャネルが最早ないため
にステップB2に戻る。 〔B5〕 ステップB4において未満との判断の場合、
楽音発生チャネル管理マップにおけるアサイン順位TASN
の楽音発生チャネル番号MASS[TASN]に対応する楽音発生
チャネル番号の処理待ちフラグ1、処理待ちフラグ2お
よび処理待ちフラグ3を“1:処理待ち中”に、パート
番号をパート番号PTNMに、ノート番号をノート番号NTNM
に、ノートステータスを“1”に、べロシティをベロシ
ティNTVLに、接続先効果付加チャネル番号をアサイン順
位TASNの効果付加チャネル番号MESS[TASN]にそれぞれ設
定する。また、メインアサイナ処理中フラグMAEFを
“1:メインアサイナ処理中”に設定する。また効果付
加チャネル管理マップにおけるアサイン順位TASNの効果
付加チャネル番号MESS[TASN]に対応する効果付加チャネ
ル番号の接続先楽音発生チャネル番号をアサイン順位TA
SNの楽音発生チャネル番号MASS[TASN]に設定する。 〔B6〕 発音要求イベントを発生する。すなわち要求
先タスク番号NDTKを“3:発音タスク”に、要求先イベ
ント値NDETを“2”に設定してイベント発生モニタコー
ルを行う。 〔B7〕 対象アサイン順位TASNを“1”だけインクリ
メントしてステップB2に戻る。
[B4] It is determined whether or not the target assign order TASN is less than the number of allocatable tone generation channels GACN. If the number of allocatable tone generation channels is not less than GACN, there is no more tone generation channel to be assigned anymore, and the process returns to step B2. [B5] If it is determined to be less than in step B4,
Assignment order TASN in the tone generation channel management map
Tone generation channel number MASS [TASN] of the tone generation channel number processing waiting flag 1, processing waiting flag 2 and processing waiting flag 3 to "1: waiting", part number to the part number PTNM, note Number the note number NTNM
The note status is set to “1”, the velocity is set to velocity NTVL, and the connection effect addition channel number is set to the effect addition channel number MESS [TASN] of the assign order TASN. Further, the main assigner processing flag MAEF is set to "1: main assigner processing". Also, the effect of the assignment order TASN in the effect addition channel management map is the order of assignment TA of the tone generation channel number of the connection destination of the effect addition channel number corresponding to MESS [TASN]
Set to SN musical tone generation channel number MASS [TASN]. [B6] A sounding request event is generated. That is, the request destination task number NDTK is set to "3: sounding task", the request destination event value NDET is set to "2", and an event occurrence monitor call is performed. [B7] The target assignment order TASN is incremented by "1" and the process returns to step B2.

【0065】発音タスク(図15、図16) 発音タスクは、発音要求イベントが発生すると新たな楽
音を発生する楽音発生チャネルにおいて従前の発音が終
了していない場合には急速減衰の開始を指示する。また
その楽音発生チャネルに接続される効果付加チャネルに
従前の楽音が蓄積している場合には急速減衰の開始を指
示する(第1処理)。また、ノート番号NTNMなどに基づ
いて楽音発生および効果付加に関するパラメータを演算
して設定する(第2処理)。楽音発生チャネルの発音が
終了、または終了し、かつ接続される効果付加チャネル
に楽音が蓄積していない、またはいなくなった場合には
楽音発生チャネルに新たな発音を指示するとともに効果
付加チャネルとの接続を指示する(第3処理)。各ステ
ップC1〜C25での処理は以下の通りである。 〔C1〕 この発音タスクで占有する変数等を初期値に
設定するとともに、急速減衰を終了した楽音発生チャネ
ル番号を記憶する急速減衰終了1FIFO、急速減衰終
了2FIFOおよびエンベロープレベルバッファをクリ
ヤするなどするとともに、楽音発生回路26を初期化す
る。また、第3タスクタイマカウンタ値TCNE[3] と、第
3タスク時間間隔TCND[3] とを“0”に設定するととも
に、タスク管理マップにおけるタスク番号“3:発音タ
スク”のタイマ処理要求フラグを“1:要求有り”に設
定する。 〔C2〕 要求元イベント値NSETを“2”に設定してイ
ベント待ちモニタコールを行う。発音要求イベントが発
生すると、次のステップC3に進む。
Sounding Task (FIGS. 15 and 16) The sounding task gives an instruction to start rapid attenuation if the previous sounding has not ended in the sound generation channel that generates a new musical sound when a sounding request event occurs. . Further, when the previous musical sound is accumulated according to the effect-added channel connected to the musical sound generation channel, the start of rapid attenuation is instructed (first processing). Further, the parameters relating to the tone generation and effect addition are calculated and set based on the note number NTNM and the like (second process). If the sound generation of the tone generation channel ends, or if there is no tone accumulated in the connected effect addition channel, or if there is no tone, the new generation is instructed to the tone generation channel and Instruct to connect (third process). The processing in each of steps C1 to C25 is as follows. [C1] The variables and the like occupied by this sounding task are set to initial values, and the rapid decay end 1 FIFO, the rapid decay end 2 FIFO, and the envelope level buffer that store the tone generation channel number for which the rapid decay has ended are cleared. , The tone generation circuit 26 is initialized. Also, the third task timer counter value TCNE [3] and the third task time interval TCND [3] are set to "0", and the timer processing request flag of the task number "3: sounding task" in the task management map. Is set to “1: Requested”. [C2] The request source event value NSET is set to "2" and an event wait monitor call is performed. When the pronunciation request event occurs, the process proceeds to the next step C3.

【0066】〔C3〕 まず、タスク管理マップにおけ
るタスク番号“3:発音タスク”の待ちイベント値を
“0”に、第2イベント発生フラグを“0”に設定し
て、次に発音処理対象楽音発生チャネル番号GCTNを
“0”に設定する。 〔C4〕 楽音発生チャネル管理マップにおける発音処
理対象楽音発生チャネル番号GCTNに対応する楽音発生チ
ャネル番号の処理待ちフラグ1が“1:処理待ち中”で
あるか否かを判断する。この処理待ちフラグ1が“1”
である場合には次のステップC5に進み、“1”でなく
て第1処理(ステップC5)が不要である場合には、ス
テップC6に進む。
[C3] First, the waiting event value of the task number "3: sounding task" in the task management map is set to "0", and the second event occurrence flag is set to "0". Set the generation channel number GCTN to "0". [C4] It is determined whether or not the processing wait flag 1 of the tone generation channel number corresponding to the tone generation target tone generation channel number GCTN in the tone generation channel management map is "1: waiting for processing". This processing wait flag 1 is "1"
If it is, the process proceeds to the next step C5, and if it is not "1" and the first process (step C5) is unnecessary, the process proceeds to step C6.

【0067】〔C5〕 第1処理を次のように行う。 エンベロープ管理マップにおける発音処理対象楽音
発生チャネル番号GCTNに対応するエンベロープチャネル
番号のエンベロープレベルが“0”であるか否かを判断
する。このエンベロープレベルが“0”でない場合には
次のに進み、“0”で急速減衰処理が不要である場合
には、に進む。 楽音発生チャネル管理マップにおける発音処理対象
楽音発生チャネル番号GCTNに対応する楽音発生チャネル
番号の急速減衰中フラグを“1:急速減衰中”に設定す
るとともに、対応する楽音発生チャネルに急速減衰の開
始を指示してに進む。なお、急速減衰の開始の指示に
際しては目標値を“0”に、レートを急速減衰用のレー
トに設定して対応する楽音発生チャネルに転送する。 楽音発生チャネル管理マップにおける発音処理対象
楽音発生チャネル番号GCTNに対応する楽音発生チャネル
番号のトランケート禁止フラグを“1:トランケート禁
止”に、発音量を“FFFFH" に設定してに進む。
[C5] The first process is performed as follows. It is determined whether or not the envelope level of the envelope channel number corresponding to the tone generation channel number GCTN to be sounded in the envelope management map is "0". When the envelope level is not "0", the process proceeds to the next step. When the envelope level is "0" and the rapid attenuation processing is unnecessary, the process proceeds to. Set the rapid decay flag of the tone generation channel number corresponding to the tone generation channel number GCTN to be sounded in the tone generation channel management map to "1: rapid decay" and start rapid decay for the corresponding tone generation channel. Instruct and proceed to. When instructing to start the rapid attenuation, the target value is set to "0" and the rate is set to the rapid attenuation rate, and the channel is transferred to the corresponding tone generation channel. Set the truncation inhibition flag of the tone generation channel number corresponding to the tone generation channel number GCTN to be sounded in the tone generation channel management map to "1: truncate inhibition" and the tone generation amount to "FFFFH", and proceed to.

【0068】 楽音発生チャネル管理マップにおける
発音処理対象楽音発生チャネル番号GCTNに対応する楽音
発生チャネル番号の接続先効果付加チャネル番号に対応
する効果付加チャネル管理マップの効果付加チャネル番
号の発音量が“0”であるか否かを判断する。この発音
量が“0”でない場合には次のに進み、“0”である
場合にはに進む。 楽音発生チャネル管理マップにおける発音処理対象
楽音発生チャネル番号GCTNに対応する楽音発生チャネル
番号の接続先効果付加チャネル番号に対応する効果付加
チャネル管理マップの効果付加チャネル番号の急速減衰
中フラグを“1:急速減衰中”に設定するとともに、対
応する効果付加チャネルに急速減衰の開始を指示して
に進む。 楽音発生チャネル管理マップにおける発音処理対象
楽音発生チャネル番号GCTNに対応する楽音発生チャネル
番号の接続先効果付加チャネル番号に対応する効果付加
チャネル管理マップの効果付加チャネル番号のトランケ
ート禁止フラグを“1:トランケート禁止”に、発音量
を“FFFFH" に設定してに進む。 楽音発生チャネル管理マップにおける発音処理対象
楽音発生チャネル番号GCTNに対応する楽音発生チャネル
番号の処理待ちフラグ1を“0”に設定してステップC
6に進む。
Sound generation channel in the tone generation channel management map Sound generation channel number of the tone generation channel number corresponding to the tone generation channel number corresponding to the tone generation channel number It is determined whether or not If the sound generation amount is not "0", the process proceeds to the next step, and if it is "0", the process proceeds to. Sound generation channel in the tone generation channel management map Sound generation channel number to be sounded Connection destination of tone generation channel number corresponding to GCTN Effect corresponding to additional channel number Effect of additional channel management map Rapid decay flag of additional channel number is set to "1:" Set to “during rapid decay” and instruct the corresponding effect addition channel to start rapid decay, and proceed to. Sound generation channel in the tone generation channel management map Sound generation channel number for tone generation Connection destination of tone generation channel number corresponding to GCTN Effect corresponding to additional channel number Effect of additional channel management map Truncate prohibition flag of additional channel number is "1: Truncated" Set "Prohibition" to "FFFFH" and set to "FFFFH", and proceed to. Set the process wait flag 1 of the tone generation channel number corresponding to the tone generation channel number GCTN to be sounded in the tone generation channel management map to "0"
Proceed to 6.

【0069】〔C6〕 発音処理対象楽音発生チャネル
番号GCTNが“15”未満であるか否かを判断する。この
楽音処理対象楽音発生チャネル番号GCTNが“15”未満
である場合には次のステップC7に進み、“15”未満
でなくて全ての楽音発生チャネルについて第1処理を終
えている場合には、ステップC8に進む。 〔C7〕 発音処理対象楽音発生チャネル番号GCTNを
“1”だけインクリメントし、次の楽音発生チャネルの
処理の準備をしてステップC4に戻る。 〔C8〕 発音処理対象楽音発生チャネル番号GCTNを
“0”に設定する。 〔C9〕 楽音発生チャネル管理マップにおける発音処
理対象楽音発生チャネル番号GCTNに対応する楽音発生チ
ャネル番号の処理待ちフラグ2が“1:処理待ち中”で
あるか否かを判断する。この処理待ちフラグ2が“1”
である場合には次のステップC10に進み、“1”でな
くて第2処理(ステップC10)が不要である場合に
は、ステップC11に進む。
[C6] It is determined whether the tone generation channel number GCTN to be sounded is less than "15". If the tone generation channel number GCTN to be tone processed is less than "15", the process proceeds to the next step C7. Go to step C8. [C7] The tone generation channel number GCTN to be sounded is incremented by "1" to prepare for the processing of the next tone generation channel, and the process returns to step C4. [C8] The tone generation channel number GCTN to be sounded is set to "0". [C9] It is determined whether the processing wait flag 2 of the tone generation channel number corresponding to the tone generation target tone generation channel number GCTN in the tone generation channel management map is "1: waiting for processing". This processing wait flag 2 is "1"
If it is, the process proceeds to the next step C10, and if it is not "1" and the second process (step C10) is unnecessary, the process proceeds to step C11.

【0070】〔C10〕 発音処理対象楽音発生チャネ
ル番号GCTNに対応する楽音発生チャネルの、楽音の発生
と楽音のエンベロープ生成およびエフェクタ制御に関す
る各種パラメータの値などを、楽音発生チャネル管理マ
ップにおける発音処理対象楽音発生チャネル番号GCTNに
対応する楽音発生チャネル番号のノート番号、ベロシテ
ィ、およびその楽音発生チャネル番号のパート番号に対
応するパートマップにおけるパート番号の音色番号に対
応するROM23に音色番号に対応して記憶されている
音色パラメータ群より演算して、これら演算された各種
パラメータの値などを、楽音発生チャネル管理マップに
おける発音処理対象楽音発生チャネル番号GCTNに対応す
る楽音発生チャネル番号の楽音発生パラメータ群、エン
ベロープ管理マップにおける発音処理対象楽音発生チャ
ネル番号GCTNに対応するエンベロープチャネル番号のエ
ンベロープ生成パラメータ群の対応するパラメータおよ
び楽音発生チャネル管理マップにおける発音処理対象楽
音発生チャネル番号GCTNに対応する楽音発生チャネル番
号の接続先効果付加チャネル番号に対応する効果付加チ
ャネル管理マップの効果付加チャネル番号のエフェクタ
制御パラメータ群、出力係数群および最大経過フェーズ
数に設定する。また接続先効果付加チャネル番号に対応
するエンベロープレベルバッファをクリアする。これと
ともに、処理待ちフラグ2を“0”に設定する。
[C10] Sound processing target sound generation channel management map of the sound generation channel corresponding to the sound generation channel number GCTN The tone number of the tone generation channel number corresponding to the tone generation channel number GCTN, the velocity, and the tone color number of the part number in the part map corresponding to the part number of the tone generation channel number are stored in the ROM 23 corresponding to the tone number. The tone generation parameter group of the tone generation channel number corresponding to the tone generation channel number GCTN subject to the tone generation processing in the tone generation channel management map and the envelope On the management map Tone generation target tone generation channel number Corresponding parameter of envelope generation parameter group corresponding to tone generation channel number and tone generation target tone generation channel number in tone generation channel management map Effect corresponding to additional channel number Effect of additional channel management map Set to effector control parameter group, output coefficient group and maximum elapsed phase number of additional channel number. In addition, the envelope level buffer corresponding to the connection destination effect addition channel number is cleared. At the same time, the processing wait flag 2 is set to "0".

【0071】またエンベロープ管理マップにおける発音
処理対象楽音発生チャネル番号GCTNに対応するエンベロ
ープチャネル番号のトランケート禁止フェーズ番号をパ
ートマップにおける前記パート番号のトランケート禁止
フェーズ番号に設定する。また、楽音発生チャネル管理
マップにおける発音処理対象楽音発生チャネル番号GCTN
に対応する楽音発生チャネル番号の押鍵順位以上の押鍵
順位を次のように更新する。発音処理対象楽音発生チャ
ネル番号GCTNに対応する楽音発生チャネル番号の押鍵順
位より大きな押鍵順位を“1”だけデクリメントすると
ともに、発音処理対象楽音発生チャネル番号GCTNに対応
する楽音発生チャネル番号の押鍵順位を“15”に設定
する。例えば、押鍵順位が“5”の楽音発生チャネルに
新たな楽音を割り当てると、押鍵順位が“6”〜“1
5”の楽音発生チャネルの押鍵順位は“5”〜“14”
に設定され、新たな楽音が割り当てられた楽音発生チャ
ネルの押鍵順位は“15”に設定される。
Also, the truncation prohibition phase number of the envelope channel number corresponding to the tone generation target tone generation channel number GCTN in the envelope management map is set to the truncation prohibition phase number of the part number in the part map. The tone generation channel number GCTN to be sounded in the tone generation channel management map
The key-depressing order of the tone-generating channel number corresponding to the above is updated as follows. The tone generation channel number GCTN corresponding to the tone generation target tone generation channel number is decremented by "1", and the tone generation channel number corresponding to the tone generation target tone generation channel number GCTN is depressed. Set the key rank to "15". For example, when a new musical tone is assigned to the musical tone generation channel whose key pressing order is "5", the key pressing order is "6" to "1".
The key depression order of the tone generation channel of 5 "is" 5 "to" 14 "
, And the key depression order of the tone generation channel to which a new tone is assigned is set to “15”.

【0072】〔C11〕 発音処理対象楽音発生チャネ
ル番号GCTNが“15”未満であるか否かを判断する。こ
の発音処理対象楽音発生チャネル番号GCTNが“15”未
満である場合にはつぎのステップC12に進み、“1
5”未満でない場合には、ステップC13に進む。 〔C12〕 発音処理対象楽音発生チャネル番号GCTNを
“1”だけインクリメントし、ステップC9に戻る。 〔C13〕 急速減衰未了フラグTDNFを“0”に、発音
処理対象楽音発生チャネル番号GCTNを“0”に設定す
る。 〔C14〕 楽音発生チャネル管理マップにおける発音
処理対象楽音発生チャネル番号GCTNに対応する楽音発生
チャネル番号の処理待ちフラグ3が“1:処理待ち中”
であるか否かを判断する。この処理待ちフラグ3が
“1”である場合には次のステップC15に進み、
“1”でなくて第3処理(ステップC15,C16,C
19)が不要である場合には、ステップC17に進む。 〔C15〕 楽音発生チャネル管理マップにおける発音
処理対象楽音発生チャネル番号GCTNに対応する楽音発生
チャネル番号の急速減衰中フラグと楽音発生チャネル管
理マップにおける発音処理対象楽音発生チャネル番号GC
TNに対応する楽音発生チャネル番号の接続先効果付加チ
ャネル番号に対応する効果付加チャネル管理マップの効
果付加チャネル番号の急速減衰中フラグとのいずれかが
“1:急速減衰中”であるか否かを判断する。この急速
減衰中フラグがともに“1”でない場合には次のステッ
プC16に進み、いずれかが“1”である場合にはステ
ップC19に進む。
[C11] It is determined whether or not the tone generation target tone generation channel number GCTN is less than "15". If the tone generation channel number GCTN to be sounded is less than "15", the process proceeds to the next step C12, where "1" is set.
If it is not less than 5 ", the process proceeds to step C13. [C12] The tone generation target tone generation channel number GCTN is incremented by" 1 "and the process returns to step C9. [C13] The rapid decay incomplete flag TDNF is set to" 0 ". The tone generation target tone generation channel number GCTN is set to “0.” [C14] In the tone generation channel management map, the processing wait flag 3 of the tone generation channel number corresponding to the tone generation target tone generation channel number GCTN is set to “1”. : Waiting for processing ”
Or not. When the processing wait flag 3 is "1", the process proceeds to the next step C15,
Not "1" but the third process (steps C15, C16, C
When step 19) is unnecessary, the process proceeds to step C17. [C15] The tone generation target tone generation channel number GCTN in the tone generation channel management map and the rapid decay flag of the tone generation channel number corresponding to the tone generation channel number GCTN and the tone generation target tone generation channel number GC in the tone generation channel management map
Effect of connection destination of tone generation channel number corresponding to TN Effect corresponding to additional channel number Effect of additional channel management map Whether any of rapid addition flag of additional channel number is "1: rapid attenuation" To judge. If both of the rapid damping flags are not "1", the process proceeds to the next step C16, and if any of them is "1", the process proceeds to step C19.

【0073】〔C16〕 エンベロープ管理マップにお
ける発音処理対象楽音発生チャネル番号GCTNに対応する
エンベロープチャネル番号のエンベロープ生成パラメー
タ群に基づいて第1フェーズの目標値およびレートを演
算してその値にエンベロープ管理マップの目標値および
レートを設定するとともに、フェーズ番号を“1”に、
エンベロープレベルを“0”に設定する。また、楽音発
生チャネル管理マップにおける発音処理対象楽音発生チ
ャネル番号GCTNに対応する楽音発生チャネル番号の発音
量を、エンベロープ生成パラメータ群に含まれるアタッ
クレベルの上位15ビットに“8000H”を加えた値
に設定する。また、楽音発生チャネル管理マップにおけ
る発音処理対象楽音発生チャネル番号GCTNに対応する楽
音発生チャネル番号の楽音発生パラメータ群およびエン
ベロープ管理マップにおける発音処理対象楽音発生チャ
ネル番号GCTNに対応するエンベロープチャネル番号の目
標値およびレートを、楽音発生回路26における発音処
理対象楽音発生チャネル番号GCTNに対応する楽音発生チ
ャネルに転送する。また、楽音発生チャネル管理マップ
における発音処理対象楽音発生チャネル番号GCTNに対応
する楽音発生チャネル番号の接続先効果付加チャネル番
号に対応する効果付加チャネル管理マップの効果付加チ
ャネル番号のエフェクタ制御パラメータ群を楽音発生回
路26における対応する効果付加チャネルに転送する。
また、楽音発生回路26に、発音処理対象楽音発生チャ
ネル番号GCTNと楽音発生チャネル管理マップにおける発
音処理対象楽音発生チャネル番号GCTNに対応する楽音発
生チャネル番号の接続先効果付加チャネル番号を転送す
るとともに楽音発生の開始を指示する。そして処理待ち
フラグ3を“0”に設定する。
[C16] The target value and rate for the first phase are calculated based on the envelope generation parameter group of the envelope channel number corresponding to the tone generation channel number GCTN to be sounded in the envelope management map, and the envelope management map is calculated with the target value and rate. Set the target value and rate of, and set the phase number to "1",
Set the envelope level to "0". In addition, the tone generation amount of the tone generation channel number corresponding to the tone generation target channel number GCTN in the tone generation channel management map is set to a value obtained by adding “8000H” to the upper 15 bits of the attack level included in the envelope generation parameter group. Set. Also, the tone generation parameter group of the tone generation channel number corresponding to the tone generation target tone generation channel number GCTN in the tone generation channel management map and the target value of the envelope channel number corresponding to the tone generation target tone generation channel number GCTN in the envelope management map And the rate are transferred to the tone generation channel corresponding to the tone generation channel number GCTN targeted for tone generation in the tone generation circuit 26. In addition, the tone generation channel number in the tone generation channel management map is connected to the tone generation channel number corresponding to the tone generation channel number GCTN. The effect corresponding to the additional channel number is added. The effect of the additional channel management map is set to the effector control parameter group of the additional channel number. Transfer to the corresponding effect-added channel in the generation circuit 26.
The tone generation circuit 26 generates a tone generation target tone generation channel number GCTN and a tone generation channel number GCTN corresponding to the tone generation target tone generation channel number GCTN in the tone generation channel management map. Instruct the start of the outbreak. Then, the processing wait flag 3 is set to "0".

【0074】〔C17〕 発音処理対象楽音発生チャネ
ル番号GCTNが“15”未満であるか否かを判断する。こ
の発音処理対象楽音発生チャネル番号GCTNが“15”未
満である場合には次のステップC18に進み、“15”
未満でない場合には、ステップC20に進む。 〔C18〕 発音処理対象楽音発生チャネル番号GCTNを
“1”だけインクリメントして、ステップC14に戻
る。 〔C19〕 急速減衰未了フラグTDNFを“1:未了”に
設定してステップC17に進む。 〔C20〕 急速減衰未了フラグTDNFが“1:未了”で
あるか否かを判断する。この急速減衰未了フラグTDNFが
“1”である場合には次のステップC21に進み、
“1”でなく全ての発音処理が終了している場合にはス
テップC2に戻る。 〔C21〕 要求元イベント値NSETを“3”に設定して
イベント待ちモニタコールを行う。発音要求イベントま
たは発音タスクに対するタイマイベントのいずれかが発
生すると、次のステップC22に進む。 〔C22〕 タスク管理マップにおけるタスク番号
“3:発音タスク”の第2イベント発生フラグが“1”
であるか否かを判断する。その第2イベント発生フラグ
が“1”でない場合には次のステップC23に進み、
“1”である場合には、発音要求イベントの発生である
ためにステップC3に戻る。 〔C23〕 タスク管理マップにおけるタスク番号
“3:発音タスク”の第1イベント発生フラグが“1”
であるタイマイベントの発生であるために、タスク管理
マップにおけるタスク番号“3:発音タスク”の待ちイ
ベント値を“0”に、第1イベント発生フラグを“0”
に設定する。
[C17] It is judged whether or not the tone generation target tone generation channel number GCTN is less than "15". If the tone generation channel number GCTN to be sounded is less than "15", the process proceeds to the next step C18 and is "15".
If it is not less than, it proceeds to step C20. [C18] The tone generation target tone generation channel number GCTN is incremented by "1", and the process returns to step C14. [C19] The rapid decay incomplete flag TDNF is set to "1: incomplete", and the process proceeds to step C17. [C20] It is determined whether or not the rapid decay incomplete flag TDNF is "1: incomplete". When the rapid decay incomplete flag TDNF is "1", the process proceeds to the next step C21,
If it is not "1" and all tone generation processing has been completed, the process returns to step C2. [C21] The request source event value NSET is set to "3" and an event wait monitor call is performed. When either the pronunciation request event or the timer event for the pronunciation task occurs, the process proceeds to the next step C22. [C22] The second event occurrence flag of the task number “3: Sounding task” in the task management map is “1”
Or not. If the second event occurrence flag is not "1", proceed to the next Step C23,
If it is "1", it means that a sounding request event has occurred, and therefore the process returns to step C3. [C23] The first event occurrence flag of the task number “3: Sounding task” in the task management map is “1”
Since the timer event occurs, the wait event value of the task number “3: sounding task” in the task management map is set to “0” and the first event generation flag is set to “0”.
Set to.

【0075】〔C24〕 楽音発生回路26に設けられ
ている急速減衰終了1FIFOおよび急速減衰終了2F
IFOがともに空であるか否かを判断する。この急速減
衰終了1FIFOおよび急速減衰終了2FIFOがとも
に空である場合にはステップC21に戻り、いずれかが
空でない場合には次のステップC25に進む。 〔C25〕 急速減衰終了1FIFOが空でない場合に
は急速減衰終了1FIFOから急速減衰処理によりエン
ベロープレベルが“0”になった楽音発生チャネルの楽
音発生チャネル番号を順次に降ろし、降ろした楽音発生
チャネル番号に対応する楽音発生チャネル管理マップに
おける楽音発生チャネル番号の急速減衰中フラグを
“0”に設定する。また急速減衰終了2FIFOが空で
ない場合には急速減衰終了2FIFOから急速減衰処理
により効果付加チャネルの内部に蓄積する楽音信号をク
リヤした効果付加チャネル番号を順次に降ろし、降ろし
た効果付加チャネル番号に対応する効果付加チャネル管
理マップにおける効果付加チャネル番号の急速減衰中フ
ラグを“0”に設定する。そして、ステップC13に戻
る。
[C24] Rapid attenuation end 1FIFO and rapid attenuation end 2F provided in the tone generation circuit 26
Determine if both IFOs are empty. If both the rapid decay end 1 FIFO and the rapid decay end 2 FIFO are empty, the process returns to step C21, and if neither is empty, the process proceeds to the next step C25. [C25] If the rapid decay end 1FIFO is not empty, the musical tone generation channel numbers of the musical tone generation channels whose envelope levels have become “0” by the rapid damping process are sequentially lowered from the rapid decay end 1FIFO, and the lowered musical tone generation channel numbers The rapid decay flag of the tone generation channel number in the tone generation channel management map corresponding to is set to "0". If the rapid attenuation end 2FIFO is not empty, the effect addition channel number that clears the tone signal stored inside the effect addition channel by the rapid attenuation process 2FIFO is sequentially lowered to correspond to the lowered effect addition channel number. The rapid attenuation flag of the effect addition channel number in the effect addition channel management map is set to "0". Then, the process returns to step C13.

【0076】プリアサイナタスク(図17) プリアサイナタスクは、プリアサイナタスクに対するタ
イマイベントが発生すると実行を開始し、原則として発
音量に基づいてアサイン順位を更新する。各ステップD
1〜D11での処理は以下の通りである。 〔D1〕 このプリアサイナタスクで占有する変数等を
初期値に設定する。また、第4タスクタイマカウンタ値
TCNE[4] を“5”に、第4タスク時間間隔TCND[4] を
“4”に設定する。さらに、タスク管理マップにおける
タスク番号“4:プリアサイナタスク”のタイマ処理要
求フラグを“1:要求有り”に設定する。 〔D2〕 要求元イベント値NSETを“1”に設定してイ
ベント待ちモニタコールを行う。プリアサイナタスクに
対するタイマイベントが発生すると、次のステップD3
に進む。 〔D3〕 タスク管理マップにおけるタスク番号“4:
プリアサイナタスク”の待ちイベント値を“0”に、第
1イベント発生フラグを“0”に設定する。 〔D4〕 メインアサイナ処理中フラグMAEFを“0”に
設定する。
Pre-assigner task (FIG. 17) The pre-assigner task starts execution when a timer event for the pre-assigner task occurs, and in principle updates the assigning order based on the amount of sound generation. Each step D
The processing in 1 to D11 is as follows. [D1] Variables and the like occupied by this pre-assigner task are set to initial values. Also, the fourth task timer counter value
Set TCNE [4] to “5” and the fourth task time interval TCND [4] to “4”. Further, the timer processing request flag of the task number “4: pre-assigner task” in the task management map is set to “1: request”. [D2] The request source event value NSET is set to "1" and an event wait monitor call is made. When a timer event for the pre-signer task occurs, the next step D3
Proceed to. [D3] Task number “4: in task management map”
The wait event value of the “pre-signer task” is set to “0” and the first event occurrence flag is set to “0.” [D4] The main assigner processing flag MAEF is set to “0”.

【0077】〔D5〕 発音タスクのステップC5,C
16で設定され後述するエンベロープタスクのステップ
E18において更新されるところの楽音発生チャネル管
理マップの各楽音発生チャネル番号の発音量を、それぞ
れ対応する楽音発生チャネル番号GNのプリアサイナ発音
量PLEV[GN]とする。また楽音発生チャネル管理マップに
おける各楽音発生チャネル番号の急速減衰中フラグをそ
れぞれ対応する楽音発生チャネル番号GNのプリアサイナ
急速減衰中フラグPACT[GN]とし、トランケ−ト禁止フラ
グをそれぞれ対応する楽音発生チャネル番号GNのプリア
サイナトランケ−ト禁止フラグPAIT[GN]とし、押鍵順位
をそれぞれ対応する楽音発生チャネル番号GNのプリアサ
イナ押鍵順位PAPN[GN]とする。また発音タスクのステッ
プC5,C16で設定されエンベロープタスクのステッ
プE27において更新されるところの効果付加チャネル
管理マップの各効果付加チャネル番号の発音量を、それ
ぞれ対応する効果付加チャネル番号ENのプリアサイナ発
音量PELV[EN]とする。また効果付加チャネル管理マップ
における各効果付加チャネル番号の急速減衰中フラグを
それぞれ対応する効果付加チャネル番号ENのプリアサイ
ナ急速減衰中フラグPECT[EN]とし、トランケ−ト禁止フ
ラグをそれぞれ対応する効果付加チャネル番号ENのプリ
アサイナトランケ−ト禁止フラグPEIT[EN]とする。
[D5] Steps C5 and C of the sounding task
The tone generation amount of each tone generation channel number of the tone generation channel management map, which is set in step 16 and is updated in step E18 of the envelope task to be described later, is defined as the pre-assigner tone generation amount PLEV [GN] of the corresponding tone generation channel number GN. To do. Also, the rapid decay flag of each tone generation channel number in the tone generation channel management map is set as the pre-assigner rapid decay flag PACT [GN] of the corresponding tone generation channel number GN, and the tone prohibition flag corresponds to each tone generation channel. The pre-assigner sequence prohibition flag PAIT [GN] of number GN is set, and the key pressing order is set to the pre-assigner key pressing order PAPN [GN] of the corresponding tone generation channel number GN. In addition, the pronunciation amount of each effect addition channel number of the effect addition channel management map set in steps C5 and C16 of the sound generation task and updated in step E27 of the envelope task is set to the pre-assigner sound generation amount of the corresponding effect addition channel number EN. PELV [EN]. In addition, the rapid attenuation flag of each effect addition channel number in the effect addition channel management map is set as the corresponding pre-assigner rapid attenuation flag PECT [EN] of the effect addition channel number EN, and the trunking prohibition flag is set to the corresponding effect addition channel. The pre-assigner trunk prohibition flag PEIT [EN] with the number EN is set.

【0078】〔D6〕 プリアサイン順位の設定を行
う。この処理の内容は図18〜図20のフローチャート
を参照して後に詳しく説明する。 〔D7〕 タスクロックをかける。すなわち、MIDI
回路20、タイマ回路25からの割込みを禁止する。タ
スクロックが解除されるまで他のタスクの実行は禁止さ
れ、本タスクの実行の継続は保証される。 〔D8〕 メインアサイナ処理中フラグMAEFが“0:非
処理中”であるか否かを判断する。このメインアサイナ
処理中フラグMAEFが“0”である場合にはステップD1
0に進む。 〔D9〕 ステップD8の判断においてメインアサイナ
処理中フラグMAEFが“0”でない場合、すなわちステッ
プD5、D6の処理中にMIDIバスを介して受信した
ノートオンメッセージに基づくMIDI回路20からの
割込みにより生起した一連の処理によりメインアサイナ
タスクが実行されると、楽音発生チャネルの発音態様が
ステップD5の開始時と異なっているので、タスクロッ
クを解除して再設定をすべくステップD4に戻る。 〔D10〕 まず、第Nプリアサイン順位楽音発生チャ
ネル番号PASS[N] をそれぞれ第Nアサイン順位楽音発生
チャネル番号MASS[N] とし、第Nプリアサイン順位効果
付加チャネル番号PESS[N] をそれぞれ第Nアサイン順位
効果付加チャネル番号MESS[N] とするとともに、対象ア
サイン順位TASNを“0”に設定する。次にプリアサイナ
割当て可能楽音発生チャネル数PACNを割当て可能楽音発
生チャネル数GACNとする。 〔D11 〕 タスクロックを解除してステップD2に戻
る。なお、タスクロック中に発生した割込みは、タスク
ロック解除後に実行される。
[D6] The order of pre-assignment is set. The contents of this process will be described later in detail with reference to the flowcharts of FIGS. [D7] Lock the task. That is, MIDI
Interrupts from the circuit 20 and the timer circuit 25 are prohibited. Execution of other tasks is prohibited until the task lock is released, and the continuation of execution of this task is guaranteed. [D8] It is determined whether or not the main assigner processing flag MAEF is "0: Not processing". When this main assigner processing flag MAEF is "0", step D1
Go to 0. [D9] If the main assigner processing flag MAEF is not “0” in the determination of step D8, that is, the interrupt is generated from the MIDI circuit 20 based on the note-on message received via the MIDI bus during the processing of steps D5 and D6. When the main assigner task is executed by a series of processes, the tone generation mode of the tone generation channel is different from that at the start of step D5, and therefore the process returns to step D4 to release the task lock and reset. [D10] First, the N-th pre-assigned priority sound generation channel number PASS [N] is set as the N-th assigned sound generation channel number MASS [N], and the N-th pre-assigned priority effect added channel number PESS [N] is set as the first. The N-assign order effect addition channel number is set to MESS [N] and the target assign order TASN is set to "0". Next, the number of musical sound generation channels that can be assigned by pre-assigner PACN is set as the number of musical sound generation channels that can be assigned GACN. [D11] The task lock is released and the process returns to step D2. An interrupt that occurs during task lock is executed after the task lock is released.

【0079】プリアサイン順位設定ルーチン(図18〜
図20) ステップD6におけるプリアサイン順位設定ルーチンは
楽音発生チャネルおよび効果付加チャネルのプリアサイ
ン順位を設定する。各ステップD601〜D627の処
理は以下の通りである。 〔D601〜D607〕 以下に説明するように楽音発
生チャネルのプリアサイン順位を設定する。なお急速減
衰中およびアタック中の楽音発生チャネルのプリアサイ
ン順位を後順位より設定し、その他の楽音発生チャネル
のプリアサイン順位を発音量に基づいて設定する。また
急速減衰中およびアタック中の楽音発生チャネルに対応
する効果付加チャネルのプリアサイン順位も後順位より
設定する。 〔D601〕 プリアサイン順位Nを“0”に、プリア
サイン逆順位RNおよび処理対象押鍵順位PNを“15”に
設定する。 〔D602〕 処理対象押鍵順位PNが“0”未満である
か否かを判断する。この処理対象押鍵順位PNが“0”未
満でない場合には次のステップD603に進み、“0”
未満である場合にはステップD607に進む。
Preassign order setting routine (FIG. 18-
FIG. 20) The pre-assignment order setting routine in step D6 sets the pre-assignment order of the tone generation channel and the effect addition channel. The processing of steps D601 to D627 is as follows. [D601 to D607] The pre-assignment order of the tone generation channels is set as described below. The pre-assignment order of the tone generation channels during rapid decay and attack is set from the latter order, and the pre-assignment order of the other tone generation channels is set based on the sound output. In addition, the pre-assignment order of the effect-added channels corresponding to the tone generation channels during rapid decay and attack is also set from the later order. [D601] The pre-assign order N is set to "0", the pre-assign reverse order RN and the key depression order PN to be processed are set to "15". [D602] It is determined whether or not the key depression order PN to be processed is less than "0". If the key depression order PN to be processed is not less than "0", the process proceeds to the next Step D603, and is "0".
If it is less than this, the process proceeds to step D607.

【0080】〔D603〕 処理対象押鍵順位PNと同じ
プリアサイナ押鍵順位PAPN[GN]の楽音発生チャネル番号
を楽音発生チャネル番号GNとする。 〔D604〕 楽音発生チャネル番号GNのプリアサイナ
急速減衰中フラグPACT[GN]または楽音発生チャネル番号
GNのプリアサイナトランケート禁止フラグPAIT[GN]のい
ずれかが“1”であるか否かを判断する。判断対象のい
ずれかが“1”である場合にはステップD606に進
み、いずれもが“1”でない場合には次のステップD6
05に進む。
[D603] The tone generation channel number GN is the tone generation channel number having the same pre-assigner key depression order PAPN [GN] as the key depression order PN to be processed. [D604] Pre-assigner rapid decay flag PACT [GN] of tone generation channel number GN or tone generation channel number
It is determined whether or not any of the GN pre-assigner truncate prohibition flags PAIT [GN] is "1". If any of the judgment objects is "1", the process proceeds to step D606, and if none of them is "1", the next step D6.
Go to 05.

【0081】〔D605〕 まず、第Nプリアサイン順
位楽音発生チャネル番号PASS[N] を楽音発生チャネル番
号GNに設定する。次に、プリアサイナ押鍵順位PNを
“1”だけデクリメントするとともにプリアサイン順位
Nを“1”だけインクリメントし、ステップD602に
戻る。 〔D606〕 まず、プリアサイン順位がプリアサイン
逆順位RNの第RNプリアサイン順位楽音発生チャネル番号
PASS[RN]を楽音発生チャネル番号GNに設定する。次に楽
音発生チャネル管理マップにおける楽音発生チャネル番
号GNに対応する楽音発生チャネル番号の接続先効果付加
チャネル番号を効果付加チャネル番号ENとし、プリアサ
イン順位がプリアサイン逆順位RNに4を加算した第(RN
+4)プリアサイン順位効果付加チャネル番号PESS[RN+4]
を効果付加チャネル番号ENに設定する。また、プリアサ
イン押鍵順位PNおよびプリアサイン逆順位RNを“1”だ
けデクリメントしてステップD602に戻る。
[D605] First, the Nth preassigned tone generation channel number PASS [N] is set to the tone generation channel number GN. Next, the pre-assigner key depression order PN is decremented by "1", the pre-assign order N is incremented by "1", and the process returns to step D602. [D606] First, the tone generation channel number of the RN-th pre-assigned order whose pre-assigned order is the pre-assigned reverse order RN
Set PASS [RN] to the tone generation channel number GN. Next, the connection destination of the tone generation channel number corresponding to the tone generation channel number GN in the tone generation channel management map is the effect addition channel number EN, and the pre-assignment order is the pre-assignment reverse order RN plus 4 (RN
+4) Channel number with pre-assigned rank effect PESS [RN + 4]
Is set to the effect addition channel number EN. Further, the pre-assign key depression order PN and the pre-assign reverse order RN are decremented by "1" and the process returns to step D602.

【0082】〔D607〕 プリアサイン順位が“0”
からNより1を減じた値までの第Nプリアサイン順位楽
音発生チャネル番号PASS[N] を対応する楽音発生チャネ
ル番号GNのプリアサイナ発音量PLEV[GN]の小なる順に並
べ換える。例えばPASS[0] =1、PASS[1] =3、PASS
[2] =5、・・・、PLEV[1] =0080H、PLEV[3] =
0040H、PLEV[5] =0000H、・・・であってN
=3である場合には、PASS[0] =5、PASS[1] =3、PA
SS[2] =1とする。また、プリアサイナ割当て可能楽音
発生チャネル数PACNをプリアサイン順位Nに設定する。 〔D608〜D613〕 以下に説明するように急速減
衰中およびアタック中の楽音発生チャネルに対応しない
効果付加チャネルのプリアサイン順位を発音量に基づい
て設定する。
[D607] The pre-sign order is "0".
To N minus 1 to a value obtained by subtracting 1 from the N-th pre-assigned order musical tone generation channel number PASS [N] is rearranged in ascending order of the pre-assigner pronunciation amount PLEV [GN] of the corresponding musical tone generation channel number GN. For example, PASS [0] = 1, PASS [1] = 3, PASS
[2] = 5, ..., PLEV [1] = 0080H, PLEV [3] =
0040H, PLEV [5] = 0000H, ... And N
= 3, PASS [0] = 5, PASS [1] = 3, PA
Set SS [2] = 1. Also, the number PACN of tone generation channels that can be assigned to pre-assigners is set to the pre-assignment rank N. [D608 to D613] As will be described below, the pre-assigned ranks of the effect-added channels that do not correspond to the tone generation channels during the rapid decay and attack are set based on the sound output.

【0083】〔D608〕 プリアサイン順位Nおよび
効果付加チャネル番号ENを“0”に設定する。 〔D609〕 効果付加チャネル番号ENが“20”未満
であるか否かを判断する。この効果付加チャネル番号EN
が“20”未満である場合には次のステップD610に
進み、未満でない場合にはステップD613に進む。 〔D610〕 効果付加チャネル番号ENのプリアサイナ
急速減衰中フラグPECT[EN]または効果付加チャネル番号
ENのトランケート禁止フラグPEIT[EN]のいずれかが
“1”であるか否かを判断する。いずれかが“1”であ
る場合にはステップD612に進み、いずれもが“1”
でない場合には次のステップD611に進む。
[D608] The pre-sign rank N and the effect addition channel number EN are set to "0". [D609] It is determined whether the effect-added channel number EN is less than "20". This effect additional channel number EN
Is less than “20”, the process proceeds to the next step D610, and if not less than, the process proceeds to step D613. [D610] Pre-assigner rapid attenuation flag PECT [EN] of effect addition channel number EN or effect addition channel number
It is determined whether or not any of the EN truncation prohibition flags PEIT [EN] is "1". If either is “1”, the process proceeds to step D612, and both are “1”.
If not, the process proceeds to the next Step D611.

【0084】〔D611〕 まず、第Nプリアサイン順
位効果付加チャネル番号PESS[N]を効果付加チャネル番
号ENに設定する。次にプリアサイン順位Nおよび効果付
加チャネル番号ENをそれぞれ“1”だけインクリメント
してステップD609に戻る。 〔D612〕 効果付加チャネル番号ENを“1”だけイ
ンクリメントしてステップD609に戻る。 〔D613〕 プリアサイン順位が“0”からプリアサ
イン順位Nより1を減じた値までの第Nプリアサイン順
位効果付加チャネル番号PESS[N]を対応する効果付加チ
ャネル番号ENのプリアサイナ発音量PELV[EN]の小なる順
に並べ換える。
[D611] First, the N-th pre-assigned rank effect addition channel number PESS [N] is set to the effect addition channel number EN. Next, the pre-assignment rank N and the effect-added channel number EN are each incremented by "1" and the process returns to step D609. [D612] The effect-added channel number EN is incremented by "1" and the process returns to step D609. [D613] Nth pre-assigned rank effect-added channel number PESS [N] from the pre-assigned rank "0" to the value obtained by subtracting 1 from the pre-assigned rank N. Sort in ascending order of [EN].

【0085】〔D614〜D627〕 以下に説明する
ように発音中の楽音発生チャネルに接続されている効果
付加チャネルのプリアサイン順位が接続されている楽音
発生チャネルのプリアサイン順位よりも小さくならない
ように再設定する。 〔D614〕 プリアサイン順位Nを“0”に設定す
る。 〔D615〕 プリアサイン順位Nがプリアサイナ割当
て可能楽音発生チャネル数PACNを超えているか否かを判
断する。超えていない場合には次のステップD616に
進み、超えている場合にはこのルーチンを終了してステ
ップD7に進む。 〔D616〕 効果付加チャネル管理マップにおける第
Nプリアサイン順位効果付加チャネル番号PESS[N]に対
応する効果付加チャネル番号の接続先楽音発生チャネル
番号を楽音発生チャネル番号GNとする。
[D614 to D627] As will be described below, the pre-assignment order of the effect addition channel connected to the tone generation channel being sounded should not be lower than the pre-assignment order of the connected tone generation channel. Reset. [D614] The pre-sign rank N is set to "0". [D615] It is determined whether the pre-assignment rank N exceeds the number of musical sound generation channels PACN that can be assigned to pre-assigners. If it does not exceed, the process proceeds to the next step D616, and if it does, the routine ends and the process proceeds to step D7. [D616] The tone generation channel number GN is defined as the connection destination tone generation channel number of the effect channel addition number corresponding to the Nth pre-assigned rank effect channel number PESS [N] in the effect channel management map.

【0086】〔D617〕 楽音発生チャネル番号GNが
“99”であるか否かを判断する。この楽音発生チャネ
ル番号GNが存在しない楽音発生チャネルを示す“99”
である場合にはステップD620に進み、“99”でな
い場合には次のステップD618に進む。 〔D618〕 楽音発生チャネル番号GNのプリアサイン
順位を第Nプリアサイン順位楽音発生チャネル番号PASS
[N]より求め、対応楽音発生チャネルプリアサイン順位P
ASGとする。 〔D619〕 プリアサイン順位Nが対応楽音発生チャ
ネルプリアサイン順位PASG未満であるか否かを判断す
る。未満である場合にはステップD621に進み、未満
でない場合には次のステップD620に進む。 〔D620〕 プリアサイン順位Nを“1”だけインク
リメントしてステップD615に戻る。
[D617] It is determined whether the tone generation channel number GN is "99". "99" indicating a tone generation channel in which this tone generation channel number GN does not exist
If it is, it proceeds to step D620, and if it is not "99", it proceeds to the next step D618. [D618] Preassign order of tone generation channel number GN to Nth preassigned order tone generation channel number PASS
Obtained from [N], corresponding tone generation channel pre-assignment rank P
ASG. [D619] It is determined whether the pre-assigned rank N is less than the corresponding tone generation channel pre-assigned rank PASG. If it is less than, it proceeds to step D621, and if it is not less, it proceeds to next step D620. [D620] The presign rank N is incremented by "1" and the process returns to step D615.

【0087】〔D621〜D627〕 以下に説明する
ように効果付加チャネルのプリアサイン順位が、接続さ
れている楽音発生チャネルのプリアサイン順位よりも小
さくならないようにより大きな順位(後順位)とすると
ともに、後順位のなかで前記条件を満たす効果付加チャ
ネルを選定して当該順位とする。 〔D621〕 代換対象順位CNをプリアサイン順位Nに
“1”を加算した値に設定する。 〔D622〕 効果付加チャネル管理マップにおける第C
Nプリアサイン順位効果付加チャネル番号PESS[CN]に対
応する効果付加チャネル番号の接続先楽音発生チャネル
番号を楽音発生チャネル番号GNとする。 〔D623〕 楽音発生チャネル番号GNが“99”であ
るか否かを判断する。この楽音発生チャネル番号GNが存
在しない楽音発生チャネルを示す“99”である場合に
はステップD627に進み、“99”でない場合には次
のステップD624に進む。 〔D624〕 楽音発生チャネル番号GNのプリアサイン
順位を第CNプリアサイン順位楽音発生チャネル番号PASS
[CN]より求め、対象楽音発生チャネルプリアサイン順位
PASCとする。
[D621 to D627] As will be described below, the pre-assignment order of the effect-added channels is set to a larger order (post-order) so as not to be lower than the pre-assignment order of the connected tone generation channels. An effect-added channel that satisfies the above condition is selected from the lower ranks and is set as the rank. [D621] The substitution target rank CN is set to a value obtained by adding "1" to the preassign rank N. [D622] Cth in effect added channel management map
N Pre-assigned rank Effect added channel number The tone generation channel number GN is the tone generation channel number of the connection destination of the effect addition channel number corresponding to PESS [CN]. [D623] It is determined whether the tone generation channel number GN is "99". If the tone generation channel number GN is "99" indicating a tone generation channel that does not exist, the process proceeds to step D627, and if it is not "99", the process proceeds to step D624. [D624] Preassign order of tone generation channel number GN to CNth preassigned order tone generation channel number PASS
Obtained from [CN], target sound generation channel pre-assignment ranking
PASC.

【0088】〔D625〕 プリアサイン順位Nが対象
楽音発生チャネルプリアサイン順位PASC未満であるか否
かを判断する。未満である場合には次のステップD62
6に進み、未満でない場合にはステップD627に進
む。 〔D626〕 代換対象順位CNを“1”だけインクリメ
ントしてステップD622に戻る。 〔D627〕 まずプリアサイン順位がプリアサイン順
位Nから代換対象順位CNより1を減じた値までの第Nプ
リアサイン順位効果付加チャネル番号PESS[N]のプリア
サイン順位をそれぞれ“1”だけインクリメントすると
ともに第CNプリアサイン順位効果付加チャネル番号PESS
[CN]のプリアサイン順位をプリアサイン順位Nとする。
例えばN=3、CN=5、PESS[3] =7、PESS[4] =8、
PESS[5]=9である場合に、PESS[3] =9、PESS[4] =
7、PESS[5] =8とする。次にプリアサイン順位Nを
“1”だけインクリメントする。そしてステップD61
9に戻る。
[D625] It is determined whether the pre-assign rank N is lower than the target tone generation channel pre-assign rank PASC. If it is less than the next step D62
If not, the procedure advances to Step D627. [D626] The substitution target rank CN is incremented by "1" and the process returns to step D622. [D627] First, the pre-assigned ranks of the N-th pre-assigned rank effect-added channel number PESS [N] are incremented by "1" from the pre-assigned rank N to a value obtained by subtracting 1 from the substitution target rank CN. Channel number PESS
Let [CN] be the preassigned rank N.
For example, N = 3, CN = 5, PESS [3] = 7, PESS [4] = 8,
When PESS [5] = 9, PESS [3] = 9, PESS [4] =
7. PESS [5] = 8. Next, the preassigned rank N is incremented by "1". And step D61
Return to 9.

【0089】エンベロープタスク(図21、図22) エンベロープタスクは、エンベロープタスクに対するタ
イマイベントが発生すると実行を開始し、各楽音発生チ
ャネルおよび効果付加チャネルの発音量を順次に更新す
るとともに、ノートステータスおよびエンベロープ生成
パラメータに基づいて新たな目標値およびレートを算出
し、楽音発生回路26の楽音発生チャネルへの転送を行
う。各ステップE1〜E27での処理は以下の通りであ
る。 〔E1〕 エンベロープ管理マップをクリヤし、このエ
ンベロープタスクで占有する変数等を初期値に設定する
とともに、第5タスクタイマカウンタ値TCNE[5] を
“4”に、第5タスク時間間隔TCND[5] を“4”に設定
する。さらにタスク管理マップにおけるタスク番号
“5:エンベロープタスク”のタイマ処理要求フラグを
“1:要求有り”に設定する。 〔E2〕 要求元イベント値NSETを“1”に設定してイ
ベント待ちモニタコールを行う。エンベロープタスクタ
イマイベントが発生すると、次のステップE3に進む。
Envelope task (FIGS. 21 and 22) The envelope task starts execution when a timer event for the envelope task occurs, and sequentially updates the tone generation amount of each tone generation channel and effect-added channel, as well as the note status and A new target value and a new rate are calculated based on the envelope generation parameter and transferred to the tone generation channel of the tone generation circuit 26. The processing in each of steps E1 to E27 is as follows. [E1] Clear the envelope management map, set the variables occupied by this envelope task to the initial values, set the fifth task timer counter value TCNE [5] to "4", and set the fifth task time interval TCND [5 ] To “4”. Further, the timer processing request flag of the task number “5: envelope task” in the task management map is set to “1: request”. [E2] Set the request source event value NSET to "1" and make an event wait monitor call. When the envelope task timer event occurs, the process proceeds to the next step E3.

【0090】〔E3〕 タスク管理マップにおけるタス
ク番号“5:エンベロープタスク”の待ちイベント値を
“0”に、第1イベント発生フラグを“0”に設定する
とともに、エンベロープ処理対象番号ECTNを“0”に設
定する。また効果付加チャネル管理マップにおける各効
果付加チャネル番号の処理済フラグを“0”に設定し、
各効果付加チャネル番号の出力係数群の総和の最大値を
出力係数総和最大値ETWMとする。 〔E4〕 タスクロックをかける。 〔E5〕 楽音発生チャネル管理マップにおけるエンベ
ロープ処理対象番号ECTNに対応する楽音発生チャネル番
号の処理待ちフラグ3が“1:処理待ち中”であるか否
かを判断する。この処理待ちフラグ3が“1”でない場
合にはステップE9に進み、“1”である場合にはこの
エンベロープタスクによるエンベロープ処理は不要なの
で次のステップE6に進む。 〔E6〕 タスクロックを解除する。 〔E7〕 エンベロープ処理対象番号ECTNが“15”未
満であるか否かを判断する。このエンベロープ処理対象
番号ECTNが“15”未満である場合には次のステップE
8に進み、“15”未満でない場合には、ステップE2
7に進む。 〔E8〕 エンベロープ処理対象番号ECTNを“1”だけ
インクリメントしてステップE4に戻る。
[E3] The wait event value of the task number "5: envelope task" in the task management map is set to "0", the first event occurrence flag is set to "0", and the envelope processing target number ECTN is set to "0". Set to ". Also, the processed flag of each effect-added channel number in the effect-added channel management map is set to "0",
The maximum sum of the output coefficient groups for each effect-added channel number is the maximum output coefficient sum ETWM. [E4] Lock the task. [E5] It is determined whether or not the processing wait flag 3 of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is "1: waiting for processing". If the process wait flag 3 is not "1", the process proceeds to step E9. If the process wait flag 3 is "1", the envelope process by this envelope task is unnecessary, and the process proceeds to the next step E6. [E6] The task lock is released. [E7] It is determined whether the envelope processing target number ECTN is less than "15". When the envelope processing target number ECTN is less than “15”, the next step E
8. If it is not less than "15", go to step E2.
Proceed to 7. [E8] The envelope processing target number ECTN is incremented by "1" and the process returns to step E4.

【0091】〔E9〕 楽音発生チャネル管理マップに
おけるエンベロープ処理対象番号ECTNに対応する楽音発
生チャネル番号のパート番号をエンベロープ処理対象パ
ート番号EPNMとする。 〔E10〕 パートマップにおけるエンベロープ処理対
象パート番号EPNMの持続音系フラグが“1”であるか否
かを判断する。この持続音系フラグが“1”でない場合
には次のステップE11に進み、“1”である場合には
ステップE20に進む。 〔E11〕 エンベロープ管理マップにおけるエンベロ
ープ処理対象番号ECTNに対応するエンベロープチャネル
番号の目標値が“0”であり、かつそのエンベロープレ
ベルが“0”であるか否かを判断する。この目標値が
“0”でかつエンベロープレベルが“0”である場合に
は発音を終了しているのでステップE19に進み、いず
れかが“0”でない場合には次のステップE12に進
む。 〔E12〕 エンベロープ管理マップにおけるエンベロ
ープ処理対象番号ECTNに対応するエンベロープチャネル
番号のエンベロープレベルとレートとを加算して新たな
エンベロープレベルおよびエンベロープレベルELENと
し、フェーズ番号を“1”だけインクリメントする。ま
た楽音発生チャネル管理マップにおけるエンベロープ処
理対象番号ECTNに対応する楽音発生チャネル番号の接続
先効果付加チャネル番号に対応するエンベロープレベル
バッファにエンベロープレベルELENを書き込む。
[E9] The part number of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is set as the envelope processing target part number EPNM. [E10] It is determined whether the continuous sound system flag of the envelope processing target part number EPNM in the part map is "1". If the continuous tone system flag is not "1", the process proceeds to the next step E11, and if it is "1", the process proceeds to step E20. [E11] It is determined whether the target value of the envelope channel number corresponding to the envelope processing target number ECTN in the envelope management map is "0" and the envelope level is "0". When the target value is "0" and the envelope level is "0", the sound generation has ended, so the routine proceeds to step E19, and when either is not "0", the routine proceeds to next step E12. [E12] The envelope level and rate of the envelope channel number corresponding to the envelope processing target number ECTN in the envelope management map are added to form a new envelope level and envelope level ELEN, and the phase number is incremented by "1". Also, the envelope level ELEN is written in the envelope level buffer corresponding to the connection destination effect added channel number of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map.

【0092】〔E13〕 楽音発生チャネル管理マップ
におけるエンベロープ処理対象番号ECTNに対応する楽音
発生チャネル番号のノートステータスが“1:ノートオ
ン”であるか否かを判断する。このノートステータスが
“1”でない場合には次のステップE14に進み、
“1”である場合にはステップE15に進む。 〔E14〕 ノートオフの発音状態に対応するエンベロ
ープ処理をする。すなわち、エンベロープ管理マップに
おけるエンベロープ処理対象番号ECTNに対応するエンベ
ロープチャネル番号の目標値およびレートをノートステ
ータスがノートオフであることおよびエンベロープ生成
パラメータ群に基づき演算して更新するとともに、目標
値およびレートを楽音発生回路26の対応する楽音発生
チャネルに転送する。また、処理を終了するとステップ
E16に進む。 〔E15〕 ノートオンの発音状態に対応するエンベロ
ープ処理をする。すなわちエンベロープ管理マップにお
けるエンベロープ処理対象番号ECTNに対応するエンベロ
ープチャネル番号の目標値およびレートをノートステー
タスがノートオンであることおよびエンベープ生成パラ
メータに基づき演算して更新するとともに、目標値およ
びレートを楽音発生回路26の対応する楽音発生チャネ
ルに転送する。また、処理を終了すると次のステップE
16に進む。
[E13] It is determined whether or not the note status of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is "1: note on". If the note status is not "1", the process proceeds to the next step E14,
If it is "1", the process proceeds to step E15. [E14] Envelope processing corresponding to the note-off sounding state is performed. That is, the target value and rate of the envelope channel number corresponding to the envelope processing target number ECTN in the envelope management map is calculated and updated based on the note status being note-off and the envelope generation parameter group, and the target value and rate are also updated. It is transferred to the corresponding tone generation channel of the tone generation circuit 26. When the process is completed, the process proceeds to step E16. [E15] Envelope processing corresponding to the note-on tone generation state is performed. That is, the target value and rate of the envelope channel number corresponding to the envelope processing target number ECTN in the envelope management map is calculated and updated based on the note status of note-on and the embedding generation parameter, and the target value and rate are generated. Transfer to the corresponding tone generation channel of the circuit 26. When the processing is completed, the next step E
Proceed to 16.

【0093】〔E16〕 エンベロープ管理マップにお
けるエンベロープ処理対象番号ECTNに対応するエンベロ
ープチャネル番号のフェーズ番号が、トランケート禁止
フェーズ番号を超えているか否かを判断する。このフェ
ーズ番号がトランケート禁止フェーズ番号を超えていな
い場合には、ステップE6に進み、発音量の更新をしな
い。フェーズ番号がトランケート禁止フェーズ番号を超
えている場合にはステップE17に進んで発音量の算出
を行う。 〔E17〕 楽音発生チャネルの発音量を算出する。こ
の処理の内容は図23の減衰音系の発音量の算出ルーチ
ンのフローチャートを参照して後に詳しく説明する。 〔E18〕 まず楽音発生チャネル管理マップにおける
エンベロープ処理対象番号ECTNに対応する楽音発生チャ
ネル番号の接続先効果付加チャネル番号に対応する効果
付加チャネル管理マップの効果付加チャネル番号の出力
係数群の総和を出力係数総和ETWTとする。次に発音量EV
OLに出力係数総和ETWTを乗算し、その乗算結果を出力係
数総和最大値ETWMで除算し、発音量EVOLとする。さらに
楽音発生チャネル管理マップにおけるエンベロープ処理
対象番号ECTNに対応する楽音発生チャネル番号の発音量
を発音量EVOLに、トランケート禁止フラグを“0”に更
新する。また、楽音発生チャネル管理マップにおけるエ
ンベロープ処理対象番号ECTNに対応する楽音発生チャネ
ル番号の接続先効果付加チャネル番号に対応する効果付
加チャネル管理マップの効果付加チャネル番号の処理済
フラグを“1”に、トランケート禁止フラグを“0”に
更新する。処理を終了するとステップE6に進む。
[E16] It is determined whether or not the phase number of the envelope channel number corresponding to the envelope processing target number ECTN in the envelope management map exceeds the truncation prohibited phase number. If the phase number does not exceed the truncate prohibition phase number, the process proceeds to step E6, and the tone generation amount is not updated. If the phase number exceeds the truncate prohibition phase number, the process proceeds to step E17 to calculate the tone generation amount. [E17] The tone generation amount of the tone generation channel is calculated. The details of this processing will be described later in detail with reference to the flowchart of the calculation routine of the sound volume of the attenuated sound system in FIG. [E18] First, the sum of the output coefficient group of the effect addition channel number of the effect addition channel management map corresponding to the connection destination effect addition channel number of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is output. The sum of coefficients is ETWT. Next pronunciation EV
OL is multiplied by the output coefficient sum ETWT, and the multiplication result is divided by the output coefficient sum maximum value ETWM to obtain the sound generation amount EVOL. Further, the tone generation amount of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is updated to the tone generation amount EVOL, and the truncation prohibition flag is updated to "0". Further, the processed flag of the effect addition channel number of the effect addition channel management map corresponding to the connection destination effect addition channel number of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is set to “1”, Update the truncation prohibition flag to "0". When the processing is completed, the process proceeds to step E6.

【0094】〔E19〕 次のように楽音発生チャネル
管理マップ等を更新する。 楽音発生チャネル管理マップにおけるエンベロープ
処理対象番号ECTNに対応する楽音発生チャネル番号の接
続先効果付加チャネル番号が“99”であるか否かを判
断する。“99”である場合にはステップE6に進み、
“99”でない場合には次のに進む。 楽音発生チャネル管理マップにおけるエンベロープ
処理対象番号ECTNに対応する楽音発生チャネル番号の発
音量を“0”に、トランケート禁止フラグを“0”に、
接続先効果付加チャネル番号を“99”に設定する。ま
た、楽音発生チャネル管理マップにおけるエンベロープ
処理対象番号ECTNに対応する楽音発生チャネル番号の接
続先効果付加チャネル番号に対応する効果付加チャネル
管理マップの効果付加チャネル番号のトランケート禁止
フラグを“0”に設定する。そしてステップE6に進
む。
[E19] The tone generation channel management map and the like are updated as follows. It is determined whether or not the connection destination effect addition channel number of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is "99". If it is "99", go to Step E6,
If it is not "99", proceed to the next step. The tone generation amount of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is set to "0", the truncation prohibition flag is set to "0",
Set the destination effect addition channel number to "99". In addition, the truncation prohibition flag of the effect addition channel number of the effect addition channel management map corresponding to the connection destination effect addition channel number of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is set to "0". To do. Then, the process proceeds to step E6.

【0095】〔E20〕 楽音発生チャネル管理マップ
におけるエンベロープ処理対象番号ECTNに対応する楽音
発生チャネル番号のノートステータスが“1”でなくか
つエンベロープ管理マップにおけるエンベロープ処理対
象番号ECTNに対応するエンベロープチャネル番号の目標
値が“0”でかつエンベロープレベルが“0”であるか
否かを判断する。このノートステータスが“1”でなく
かつ目標値が“0”でかつエンベロープレベルが“0”
である場合には発音を終了しているのでステップE19
に進み、ノートステータスが“1”でない、または目標
値が“0”でない、またはエンベロープレベルが“0”
でない場合には次のステップE21に進む。 〔E21〕 ステップE12と同様の処理をする。 〔E22〕 ステップE13におけると同様の判断をす
る。判断対象のノートステータスが“1”でない場合に
は次のステップE23に進み、“1”である場合にはス
テップE26に進む。
[E20] The note status of the tone generation channel number corresponding to the envelope processing target number ECTN in the tone generation channel management map is not "1" and the envelope channel number corresponding to the envelope processing target number ECTN in the envelope management map is It is determined whether the target value is "0" and the envelope level is "0". The note status is not "1", the target value is "0", and the envelope level is "0".
If so, it means that the pronunciation has ended, so step E19.
Go to, note status is not "1", target value is not "0", or envelope level is "0".
If not, the process proceeds to the next step E21. [E21] The same process as step E12 is performed. [E22] The same judgment as in step E13 is made. If the note status to be judged is not "1", the process proceeds to the next step E23, and if it is "1", the process proceeds to step E26.

【0096】〔E23〕 ステップE14と同様の処理
をする。 〔E24〕 ステップE16と同様の判断をする。フェ
ーズ番号がトランケート禁止フェーズ番号を超えている
場合には次のステップE25に進み、超えていない場合
にはステップE6に進む。 〔E25〕 楽音発生チャネルの発音量を算出する。こ
の処理の内容は図24の持続音系の発音量の算出ルーチ
ンのフローチャートを参照して後に詳しく説明する。処
理を終了するとステップE18に進む。 〔E26〕 ステップE15と同様の処理をする。ま
た、処理を終了するとステップE24に進む。 〔E27〕 効果付加チャネル管理マップの更新をす
る。この処理の内容は図25のフローチャートを参照し
て後に詳しく説明する。処理を終了するとステップE2
に戻る。
[E23] The same process as step E14 is performed. [E24] The same judgment as in step E16 is performed. If the phase number exceeds the truncate prohibition phase number, the process proceeds to the next step E25, and if not, the process proceeds to step E6. [E25] The tone generation amount of the tone generation channel is calculated. The details of this processing will be described later in detail with reference to the flowchart of the sounding amount calculation routine of the continuous tone system in FIG. When the processing is completed, the process proceeds to step E18. [E26] The same process as step E15 is performed. When the processing is completed, the process proceeds to step E24. [E27] The effect addition channel management map is updated. The details of this processing will be described later in detail with reference to the flowchart of FIG. When the processing ends, step E2
Return to.

【0097】減衰音系の発音量の算出ルーチン(図2
3) ステップE17における減衰音系の発音量の算出ルーチ
ンにおいては減衰音系の楽音の楽音発生チャネルにおけ
る発音量をノートステータス、エンベロープレベル、レ
ート、フェーズ番号に基づいて算出する。なお、楽音発
生チャネルのノートステータスがノートオンの発音状態
である場合には、ノートオンの状態を最短押鍵フェーズ
番号までおよび押鍵継続フェーズ数の期間維持するもの
とする。各ステップE1701〜E1713までの処理
は以下の通りである。 〔E1701〕 まず、最短押鍵フェーズ番号FPSNを
“100”に、押鍵継続フェーズ数FPCNを“50”に設
定する。ついでエンベープ管理マップにおけるエンベロ
ープ処理対象番号ECTNに対応するエンベロープチャネル
番号のレートをレートERTEとし、フェーズ番号をフェー
ズ番号FNOWとする。 〔E1702〕 レートERTEが“0”未満であるか否か
を判断する。このレートERTEが“0”未満である場合に
は次のステップE1703に進み、“0”未満でない場
合にはステップE1704に進む。
Routine for calculating the sound volume of the attenuated sound system (see FIG. 2
3) In the calculation routine of the sound volume of the attenuated sound system in step E17, the sound volume of the sound sound of the attenuated sound system in the tone generation channel is calculated based on the note status, the envelope level, the rate and the phase number. If the note status of the tone generation channel is the note-on tone generation state, the note-on state is maintained until the shortest key depression phase number and the key depression continuation phase number. The processing of steps E1701 to E1713 is as follows. [E1701] First, the shortest key depression phase number FPSN is set to "100" and the key depression continuation phase number FPCN is set to "50". Next, the rate of the envelope channel number corresponding to the envelope processing target number ECTN in the envelope management map is set as the rate ERTE, and the phase number is set as the phase number FNOW. [E1702] It is determined whether or not the rate ERTE is less than “0”. If the rate ERTE is less than "0", the process proceeds to the next step E1703, and if it is not less than "0", the process proceeds to step E1704.

【0098】〔E1703〕 レートERTEの絶対値をレ
ートERTEとする。これは減衰中のレートが負の値である
ので、正の値に変換するための処理である。また、処理
を終了するとステップE1705に進む。 〔E1704〕 レートERTEを“1”に設定し、ステッ
プE1705に進む。 〔E1705〕 エンベロープレベルELENをレートERTE
で除算しその結果を発音継続フェーズ数FVCNとする。 〔E1706〕 ステップE13と同様の判断処理をす
る。判断対象のノートステータスが“1:ノートオン”
でない場合には次のステップE1707に進み、“1”
である場合にはステップE1711に進む。 〔E1707〕 発音継続フェーズ数FVCNが“400”
未満であるか否かを判断する。この発音継続フェーズ数
FVCNが“400”未満である場合には次のステップE1
708に進み、“400”未満でない場合にはステップ
E1709に進む。 〔E1708〕 まず、エンベロープレベルELENに発音
継続フェーズ数FVCNを乗算する。ついでその乗算結果を
“1600”で除算して、発音量EVOLとしてこのルーチ
ンを終了する。
[E1703] Let the absolute value of the rate ERTE be the rate ERTE. This is a process for converting the decaying rate to a positive value because the rate is a negative value. When the process is completed, the process advances to step E1705. [E1704] The rate ERTE is set to "1", and the process proceeds to step E1705. [E1705] Envelope level ELEN rate ERTE
Divide by and the result is FVCN, which is the number of sound continuation phases. [E1706] The same determination process as in step E13 is performed. The note status of the judgment target is "1: note on"
If not, proceed to the next Step E1707, and set to “1”
When it is, it progresses to step E1711. [E1707] Number of pronunciation continuation phases FVCN is "400"
It is determined whether it is less than. Number of this pronunciation continuation phase
If FVCN is less than "400", the next step E1
If it is not less than "400", the process proceeds to step E1709. [E1708] First, the envelope level ELEN is multiplied by the sound production continuation phase number FVCN. Then, the multiplication result is divided by "1600", and the tone amount EVOL is set, and this routine is ended.

【0099】〔E1709〕 押鍵継続フェーズ数FPCN
を“400”に設定する。 〔E1710〕 まず、エンベロープレベルELENからレ
ートERTEに押鍵継続フェーズ数FPCNを乗算した値を
“2”で除算した値を減算する。ついでその減算結果に
押鍵継続フェーズ数FPCNを乗算した値を“800”で除
算して、発音量EVOLとしてこのルーチンを終了する。 〔E1711〕 フェーズ番号FNOWが最短押鍵フェーズ
番号FPSNから押鍵継続フェーズ数FPCNを減算した値未満
であるか否かを判断する。このフェーズ番号FNOWがその
値未満である場合にはつぎのステップE1712に進
み、その値未満でない場合にはステップE1713に進
む。 〔E1712〕 最短押鍵フェーズ番号FPSNからフェー
ズ番号FNOWを減算した値を押鍵継続フェーズ数FPCNとす
る。 〔E1713〕 発音継続フェーズ数FVCNが押鍵継続フ
ェーズ数FPCN未満であるか否かを判断する。未満である
場合にはステップE1708に進み、未満でない場合に
はステップE1710に進む。
[E1709] Number of key-depression continuation phases FPCN
Is set to "400". [E1710] First, the value obtained by multiplying the rate ERTE by the key depression continuing phase number FPCN is divided by “2” is subtracted from the envelope level ELEN. Then, the value obtained by multiplying the subtraction result by the key-depression continuation phase number FPCN is divided by "800", and this tone generation amount EVOL is ended. [E1711] It is determined whether or not the phase number FNOW is less than the value obtained by subtracting the key-depression continuation phase number FPCN from the shortest key-depression phase number FPSN. If the phase number FNOW is less than that value, the procedure goes to the next step E1712, and if it is not less than that value, the procedure goes to step E1713. [E1712] The value obtained by subtracting the phase number FNOW from the shortest key depression phase number FPSN is set as the key depression continuation phase number FPCN. [E1713] It is determined whether the number FVCN of continuous tone generation phases is less than the number FFPCN of continuous key depression phases. If it is less than, it proceeds to step E1708, and if it is not less than, it proceeds to step E1710.

【0100】持続音系の発音量の算出ルーチン(図2
4) ステップE25における持続音系の発音量の算出ルーチ
ンにおいては減衰音系の発音量の算出ルーチンに準じた
処理により持続音系の楽音の楽音発生チャネルにおける
発音量を算出する。各ステップE2501〜E2512
での処理は以下の通りである。 〔E2501〕 ステップE1701と同様の処理をす
る。 〔E2502〕 ステップE1706と同様の判断処理
をする。判断対象のノートステータスが“1:ノートオ
ン”でない場合には次のステップE2503に進み、
“1”である場合にはステップE2510に進む。 〔E2503〕〜〔E2506〕 ステップ〔E170
2〕〜〔E1705〕と同様の処理をする。 〔E2507〕 ステップE1707と同様の判断処理
をする。判断対象の発音継続フェーズ数FVCNが“40
0”未満である場合には次のステップE2508に進
み、“400”未満でない場合にはステップE2509
に進む。
Routine amount calculation routine (FIG. 2)
4) In the routine for calculating the amount of sound of the continuous tone system in step E25, the amount of sound of the tone of the continuous tone system in the tone generation channel is calculated by a process according to the routine for calculating the amount of sound of the decay tone system. Each step E2501 to E2512
The processing in is as follows. [E2501] The same process as step E1701 is performed. [E2502] The same determination process as in step E1706 is performed. If the note status to be judged is not "1: note on", the flow advances to step E2503,
If it is “1”, the process proceeds to step E2510. [E2503] to [E2506] Step [E170
2) to [E1705] are performed. [E2507] The same determination process as in step E1707 is performed. Number of pronunciation continuation phases to be judged FVCN is “40
If it is less than 0 ", the process proceeds to the next step E2508, and if it is not less than" 400 ", step E2509.
Proceed to.

【0101】〔E2508〕 まず、エンベロープレベ
ルELENに発音継続フェーズ数FVCNを乗算する。ついでそ
の乗算結果を“1600”で除算して、発音量EVOLとし
てこのルーチンを終了する。 〔E2509〕 まず、エンベロープレベルELENからレ
ートERTEに“200”を乗算した値を減算する。ついで
その減算結果を“2”で除算して、発音量EVOLとしてこ
のルーチンを終了する。 〔E2510〕 ステップE1711と同様の判断処理
をする。判断対象のフェーズ番号FNOWが最短押鍵フェー
ズ番号FPSNから押鍵継続フェーズ数FPCNを減算した値未
満である場合には次のステップE2511に進み、その
値未満でない場合にはステップE2512に進む。 〔E2511〕 まず、最短押鍵フェーズ番号FPSNから
フェーズ番号FNOWを減算した値を押鍵継続フェーズ数FP
CNとする。ついでその押鍵継続フェーズ数FPCNにエンベ
ロープレベルELENを乗算した値を“800”で除算し
て、発音量EVOLとする。このルーチンを終了する。 〔E2512〕 押鍵継続フェーズ数FPCNにエンベロー
プレベルELENを乗算した値を“800”で除算して、発
音量EVOLとしてこのルーチンを終了する。
[E2508] First, the envelope level ELEN is multiplied by the sound production continuation phase number FVCN. Then, the multiplication result is divided by "1600", and the tone amount EVOL is set, and this routine is ended. [E2509] First, the value obtained by multiplying the rate ERTE by “200” is subtracted from the envelope level ELEN. Then, the subtraction result is divided by "2" to set the tone generation amount EVOL, and this routine ends. [E2510] The same determination process as in step E1711 is performed. If the phase number FNOW to be judged is less than the value obtained by subtracting the key-depression continuation phase number FPCN from the shortest key-depression phase number FPSN, the process proceeds to the next step E2511, and if it is not less than that value, the process proceeds to step E2512. [E2511] First, the value obtained by subtracting the phase number FNOW from the shortest key depression phase number FPSN is the key depression continuous phase number FP.
Let it be CN. Then, a value obtained by multiplying the key-depression continuation phase number FPCN by the envelope level ELEN is divided by "800" to obtain a sound generation amount EVOL. This routine ends. [E2512] The value obtained by multiplying the key-depression continuation phase number FPCN by the envelope level ELEN is divided by "800", and this routine is ended with the sound generation amount EVOL.

【0102】効果付加チャネル管理マップの更新ルーチ
ン(図25) ステップE27における効果付加チャネル管理マップの
更新ルーチンにおいては効果付加チャネルに蓄積されて
いる楽音の発音量を演算し効果付加チャネル管理マップ
を更新する。各ステップE2701〜E2714での処
理は以下の通りである。 〔E2701〕 エンベロープ処理対象番号ECTNを
“0”に設定する。 〔E2702〜E2705〕 楽音発生チャネルとの接
続状態、対応する楽音発生チャネルの発音状態を判別し
てそれぞれの処理に進む。また実質的に楽音発生チャネ
ルと接続されていない効果付加チャネルの発音量を算出
する準備をする。 〔E2702〕 まず効果付加チャネル管理マップにお
けるエンベロープ処理対象番号ECTNに対応する効果付加
チャネル番号の出力係数群の総和を出力係数総和ETWTと
し、最大経過フェーズ数を最大経過フェーズ数EFMNとす
る。次に出力係数総和ETWTからその効果付加チャネル番
号の出力係数群の原音の出力係数を減算する。また経過
フェーズ数ELFNを“1”に、発音量EEVLを“0”に設定
する。
Update routine of effect added channel management map (FIG. 25) In the update routine of the effect added channel management map in step E27, the amount of musical tones accumulated in the effect added channel is calculated to update the effect added channel management map. To do. The processing in steps E2701 to E2714 is as follows. [E2701] The envelope processing target number ECTN is set to "0". [E2702 to E2705] The connection state with the tone generation channel and the tone generation state of the corresponding tone generation channel are determined, and the process proceeds to each process. In addition, preparation is made to calculate the tone generation amount of the effect-added channel that is not substantially connected to the tone generation channel. [E2702] First, the sum of the output coefficient groups of the effect addition channel numbers corresponding to the envelope processing target number ECTN in the effect addition channel management map is the output coefficient sum ETWT, and the maximum elapsed phase number is the maximum elapsed phase number EFMN. Next, the output coefficient of the original sound of the output coefficient group of the effect-added channel number is subtracted from the total output coefficient ETWT. Further, the elapsed phase number ELFN is set to "1" and the pronunciation amount EEVL is set to "0".

【0103】〔E2703〕 効果付加チャネル管理マ
ップのエンベロープ処理対象番号ECTNに対応する効果付
加チャネル番号の処理済フラグが“0”であるか否かを
判断する。この処理済フラグが“0”である場合には次
のステップE2704に進み、“0”でない場合にはス
テップE2712に進む。 〔E2704〕 効果付加チャネル管理マップのエンベ
ロープ処理対象番号ECTNに対応する効果付加チャネル番
号の急速減衰中フラグおよびトランケート禁止フラグが
ともに“0”であるか否かを判断する。ともに“0”で
ある場合には次のステップE2705に進み、いずれか
が“0”でない場合には発音量の更新処理は不要なので
ステップE2710に進む。 〔E2705〕 実質的に楽音発生チャネルと接続され
ていない効果付加チャネルの発音量を算出する準備を次
のように行う。まずエンベロープ処理対象番号ECTNに対
応するエンベロープレベルバッファに“0”を書き込
む。次にエンベロープ処理対象番号ECTNに対応するエン
ベロープレベルバッファの読み出しポインタを書込みポ
インタの直後に設定する。また、効果付加チャネル管理
マップのエンベロープ処理対象番号ECTNに対応する効果
付加チャネル番号の接続先楽音発生チャネル番号を“9
9”に更新する。
[E2703] It is determined whether the processed flag of the effect addition channel number corresponding to the envelope processing target number ECTN of the effect addition channel management map is "0". If the processed flag is "0", the process proceeds to the next step E2704, and if it is not "0", the process proceeds to step E2712. [E2704] It is determined whether or not both the rapid decay flag and the truncation prohibition flag of the effect addition channel number corresponding to the envelope processing target number ECTN of the effect addition channel management map are “0”. If both are "0", the process proceeds to the next step E2705, and if either is not "0", the tone generation amount updating process is unnecessary, so the process proceeds to step E2710. [E2705] Preparation is made as follows to calculate the sound output of an effect-added channel that is not substantially connected to the tone generation channel. First, "0" is written in the envelope level buffer corresponding to the envelope processing target number ECTN. Next, the read pointer of the envelope level buffer corresponding to the envelope processing target number ECTN is set immediately after the write pointer. In addition, the connected tone generation channel number of the effect addition channel number corresponding to the envelope processing target number ECTN of the effect addition channel management map is set to "9.
Update to 9 ".

【0104】〔E2706〜E2709〕 エンベロー
プレベルバッファから順次エンベロープレベルを読み出
し、そのエンベロープレベルの以降の発音量を累算して
効果付加チャネルに蓄積されている発音量を算出する。 〔E2706〕 まずエンベロープ処理対象番号ECTNに
対応するエンベロープレベルバッファから読み出したエ
ンベロープレベルをエンベロープレベルELENとするとと
もに、読出しポインタをさらに後に設定して次回さらに
過去のエンベロープレベルを読み出す準備をする。次に
出力係数総和ETWTにエンベロープレベルELENを乗算した
値を発音量EEVLに加算する。 〔E2707〕 経過フェーズ数ELFNが最大経過フェー
ズ数EFMN未満であるか否かを判断する。未満である場合
にはステップE2709に進み、未満でない場合には次
のステップE2708に進む。 〔E2708〕 まず発音量EEVLを出力係数総和最大値
ETWMで除算し、さらに“800”で除算し、発音量EEVL
とする。次に効果付加チャネル管理マップにおけるエン
ベロープ処理対象番号ECTNに対応する効果付加チャネル
番号の発音量を発音量EEVLに更新してステップE271
0に進む。
[E2706 to E2709] Envelope levels are sequentially read from the envelope level buffer, and the tone generation amount after that envelope level is accumulated to calculate the tone generation amount accumulated in the effect addition channel. [E2706] First, the envelope level read from the envelope level buffer corresponding to the envelope processing target number ECTN is set as the envelope level ELEN, and the read pointer is further set to prepare for reading the next and previous envelope levels. Next, a value obtained by multiplying the total output coefficient ETWT by the envelope level ELEN is added to the pronunciation amount EEVL. [E2707] It is determined whether the elapsed phase number ELFN is less than the maximum elapsed phase number EFMN. If it is less than this, it proceeds to step E2709, and if it is not less than it, it proceeds to next step E2708. [E2708] First, the pronunciation amount EEVL is output coefficient sum maximum value.
Divide by ETWM, then divide by "800", and sound volume EEVL
And Next, the pronunciation amount of the effect addition channel number corresponding to the envelope processing target number ECTN in the effect addition channel management map is updated to the pronunciation amount EEVL, and step E271.
Go to 0.

【0105】〔E2709〕 まず出力係数総和ETWTか
ら効果付加チャネル管理マップにおけるエンベロープ処
理対象番号ECTNに対応する効果付加チャネル番号の出力
係数群の効果音の経過フェーズ数が経過フェーズ数ELFN
の出力係数を減算する。次に経過フェーズ数ELFNを
“1”だけインクリメントしてステップE2706に戻
る。 〔E2710〕 エンベロープ処理対象番号ECTNが“1
9”未満であるか否かを判断する。未満である場合には
次のステップE2711に進み、未満でない場合にはこ
のルーチンを終了してステップE2に戻る。 〔E2711〕 エンベロープ処理対象番号ECTNを
“1”だけインクリメントしてステップE2702に戻
る。
[E2709] First, from the output coefficient sum ETWT, the elapsed phase number of the effect sound of the output coefficient group of the effect added channel number corresponding to the envelope processing target number ECTN in the effect added channel management map is the elapsed phase number ELFN.
Subtract the output coefficient of. Next, the elapsed phase number ELFN is incremented by "1" and the process returns to step E2706. [E2710] Envelope processing target number ECTN is "1"
It is determined whether or not it is less than 9 ". If it is less than 9, proceed to the next step E2711, and if it is not less, this routine is finished and returns to step E2. [E2711] Envelope processing target number ECTN It increments by "1" and returns to step E2702.

【0106】〔E2712〜E2714〕 楽音発生チ
ャネルと接続され、対応する楽音発生チャネルの発音量
が更新されている効果付加チャネルの発音量を算出する
準備をする。 〔E2712〕 効果付加チャネル管理マップにおける
エンベロープ処理対象番号ECTNに対応する効果付加チャ
ネル番号の接続先楽音発生チャネル番号に対応するエン
ベロープ管理マップのエンベロープチャネル番号のフェ
ーズ番号をフェーズ番号FNOWとする。またエンベロープ
処理対象番号ECTNに対応するエンベロープレベルバッフ
ァの読出しポインタを書込みポインタの直後に設定す
る。 〔E2713、E2714〕 発音量算出処理範囲を次
のようにエンベロープレベルバッファのデータの書き込
まれている範囲に限定する。最大経過フェーズ数EFMNが
フェーズ番号FNOWを超えているか否かを判断し、超えて
いない場合には最大経過フェーズ数EFMNをフェーズ番号
FNOWに設定する。処理を終了するとステップE2706
に進む。
[E2712 to E2714] Preparation is made to calculate the tone generation amount of the effect addition channel which is connected to the tone generation channel and whose tone generation amount of the corresponding tone generation channel is updated. [E2712] The phase number FNOW is the phase number of the envelope channel number of the envelope management map corresponding to the connected tone generation channel number of the effect addition channel number corresponding to the envelope processing target number ECTN in the effect addition channel management map. The read pointer of the envelope level buffer corresponding to the envelope processing target number ECTN is set immediately after the write pointer. [E2713, E2714] The sound amount calculation processing range is limited to the range in which the data of the envelope level buffer is written as follows. Determine whether the maximum elapsed phase number EFMN exceeds the phase number FNOW, and if not, set the maximum elapsed phase number EFMN to the phase number
Set to FNOW. When the processing ends, step E2706
Proceed to.

【0107】操作子データ受信タスク 操作子データ受信タスクは操作子データ受信イベントが
発生すると、操作子データをMIDI回路20から読み
込み、所定の領域に記憶する。 〔G1〕 MIDIチャネルマップおよびパートマップ
とこの操作子データ受信タスクで占有する変数等を初期
値に設定する。 〔G2〕 要求元イベント値NSETを“1”に設定すると
ともに、初期設定完了フラグを“1”に設定して、イベ
ント待ちモニタコールを行う。操作子データ受信イベン
トが発生すると、次のステップG3に進む。 〔G3〕 タスク管理マップにおけるタスク番号“6:
操作子データ受信タスク”の待ちイベント値を“0”
に、第1イベント発生フラグを“0”に設定する。
Manipulator Data Receiving Task When a manipulator data receiving task occurs, the manipulator data receiving task reads manipulator data from the MIDI circuit 20 and stores it in a predetermined area. [G1] The MIDI channel map, the part map, and the variables occupied by this operator data reception task are set to initial values. [G2] The request source event value NSET is set to "1", the initialization completion flag is set to "1", and an event wait monitor call is performed. When an operator data reception event occurs, the process proceeds to the next step G3. [G3] Task number “6: in task management map”
Wait event value of "Operator data reception task" is "0"
Then, the first event occurrence flag is set to "0".

【0108】〔G4〕 MIDI回路から操作子データ
を読み込み、MIDIチャネルマップ、パートマップの
対応するデータを更新する。例えば音色番号に関するデ
ータは、MIDIチャネルマップにおいてそのデータに
含まれるMIDIチャネル番号に対応するMIDIチャ
ネル番号のパート番号を調べ、パートマップにおけるそ
のパート番号に対応するパート番号の音色番号をその音
色番号に関するデータに更新するとともに、音色番号に
対応したトランケート禁止フェーズ番号および持続音系
フラグをROM23より読み出して対応する領域に記憶
する。対応する処理を終了するとステップG2に戻る。
[G4] The operator data is read from the MIDI circuit and the corresponding data in the MIDI channel map and part map is updated. For example, regarding the data on the tone color number, the part number of the MIDI channel number corresponding to the MIDI channel number included in the data is checked in the MIDI channel map, and the tone color number of the part number corresponding to the part number on the part map is related to the tone color number. The data is updated, and the truncate prohibition phase number and the continuous tone system flag corresponding to the tone color number are read from the ROM 23 and stored in the corresponding area. When the corresponding process ends, the process returns to step G2.

【0109】マルチタスキング処理 本実施例の電子楽器は各タスクの実行にあたりマルチタ
スキングを用いているが、以下にこのマルチタスキング
等に関する動作概要について説明する。 (1) 初期設定 電源を投入すると、モニタプログラムのリセットルーチ
ンZAによる処理後に(ステップZA1〜ZA3)、キ
ーデータ受信タスク(ルーチンA)、メインアサイナタ
スク(ルーチンB)、発音タスク(ルーチンC)、プリ
アサイナタスク(ルーチンD)、エンベロープタスク
(ルーチンE)および操作子データ受信タスク(ルーチ
ンG)の初期設定処理がタスク優先順位に従って順次に
行われる(ステップA1,A2、ステップB1,B2、
ステップC1,C2、ステップD1,D2、ステップE
1,E2、ステップG1,G2)。
Multitasking Processing The electronic musical instrument of this embodiment uses multitasking for executing each task. Below, an outline of operations relating to this multitasking will be described. (1) Initialization When the power is turned on, after the processing by the monitor program reset routine ZA (steps ZA1 to ZA3), the key data receiving task (routine A), the main assigner task (routine B), the sounding task (routine C) , Pre-assigner task (routine D), envelope task (routine E) and manipulator data receiving task (routine G) are sequentially performed in accordance with the task priority order (steps A1, A2, steps B1, B2,
Steps C1, C2, Steps D1, D2, Step E
1, E2, steps G1, G2).

【0110】(2) 受信ノートオンメッセージによる
発音処理 MIDIバスを介してノートオンメッセージを受信しM
IDI回路20から割込みがかかると、モニタプログラ
ムのキーデータ受信割込み処理ルーチンZEが開始され
る。
(2) Sound Generation Processing by Received Note-on Message The note-on message is received via the MIDI bus and M
When the IDI circuit 20 receives an interrupt, the key data reception interrupt processing routine ZE of the monitor program is started.

【0111】(2の1) キーデータ受信割込み処理ル
ーチンZEでは、キーデータ受信イベント待ちの状態に
あるので(ステップZE1,ZE3)、タスク管理マッ
プにおけるタスク番号“1:キーデータ受信タスク”の
ステータスを“0:ラン”に設定する(ステップZE
5)。次に、キーデータ受信タスクを実行して(ステッ
プA2〜A7)、演奏情報をMIDI回路から読み込
み、その演奏情報に基づいてノートマップを更新すると
ともに、ノートオンであればイベント発生モニタコール
を行う(ステップA7)。
(2-1) Since the key data reception interrupt processing routine ZE is waiting for a key data reception event (steps ZE1 and ZE3), the status of the task number "1: key data reception task" in the task management map Is set to "0: Run" (step ZE
5). Next, the key data reception task is executed (steps A2 to A7), the performance information is read from the MIDI circuit, the note map is updated based on the performance information, and if the note is on, an event occurrence monitor call is performed. (Step A7).

【0112】(2の2) モニタプログラムのイベント
発生モニタコールルーチンZCにおいて、タスク管理マ
ップにおけるタスク番号“2:メインアサイナタスク”
の第1イベント発生フラグを“1”に設定するとともに
(ステップZC1)、ステータスを“1:レディ”に設
定する(ステップZC2,ZC3)。なお、キーデータ
受信タスクはタスク優先順位がメインアサイナタスクの
タスク優先順位より高いので、キーデータ受信タスクを
再び開始して(ステップZC4)、このキーデータ受信
タスクにおいてイベント待ちモニタコールを行う(ステ
ップA2)。
(2-2) In the event generation monitor call routine ZC of the monitor program, the task number "2: Main assigner task" in the task management map
The first event occurrence flag is set to "1" (step ZC1), and the status is set to "1: ready" (steps ZC2 and ZC3). Since the task priority of the key data reception task is higher than the task priority of the main assigner task, the key data reception task is restarted (step ZC4), and an event wait monitor call is made in this key data reception task ( Step A2).

【0113】(2の3) モニタプログラムのイベント
待ちモニタコールルーチンZBにおいて、キーデータ受
信イベントが発生しているか否かを調べる(ステップZ
B1)。調べた結果、次のキーデータ受信イベントがま
だ発生していないので、タスク管理マップにおけるタス
ク番号“1:キーデータ受信タスク”のステータスを
“2:ウェイト”に設定して(ステップZB2)、タス
ク管理マップを調べる(ステップZB3)。このタスク
管理マップを調べた結果、ステータスが“1:レディ”
である最優先タスクのタスク番号が“2:メインアサイ
ナタスク”であるために、このタスク番号“2:メイン
アサイナタスク”のステータスを“0:ラン”に設定し
て(ステップZB4)、メインアサイナタスクを実行さ
せる(ステップZB5)。このメインアサイナタスクに
おいては、ノート番号NTNMなどを楽音発生チャネル管理
マップに書き込む(ステップB2〜B5)。次にイベン
ト発生モニタコールを行う(ステップB6)。
(2-3) In the event waiting monitor call routine ZB of the monitor program, it is checked whether a key data reception event has occurred (step Z).
B1). As a result of the examination, the next key data reception event has not occurred yet, so the status of the task number "1: key data reception task" in the task management map is set to "2: wait" (step ZB2), and the task Examine the management map (step ZB3). As a result of checking this task management map, the status is "1: ready"
Since the task number of the highest priority task of "2: Main Assigner Task" is "2: Main Assigner Task", the status of this task number "2: Main Assigner Task" is set to "0: Run" (step ZB4). The main assigner task is executed (step ZB5). In this main assigner task, note numbers NTNM and the like are written in the tone generation channel management map (steps B2 to B5). Next, an event occurrence monitor call is made (step B6).

【0114】(2の4) モニタプログラムのイベント
発生モニタコールルーチンZCにおいて、タスク管理マ
ップにおけるタスク番号“3:発音タスク”の第2イベ
ント発生フラグを“1”に設定するとともに、ステータ
スを“1:レディ”に設定する。なお、メインアサイナ
タスクのタスク優先順位が発音タスクのタスク優先順位
より高いので、メインアサイナタスクを再び開始して、
このメインアサイナタスクにおいて対象アサイン順位を
“1”だけインクリメントして次のアサイン順位に更新
し(ステップB7)、イベント待ちモニタコールを行う
(ステップB2)。
(2-4) In the event generation monitor call routine ZC of the monitor program, the second event generation flag of the task number "3: sounding task" in the task management map is set to "1" and the status is set to "1". : Ready ”. Since the task priority of the main assigner task is higher than the task priority of the pronunciation task, restart the main assigner task,
In this main assigner task, the target assign order is incremented by "1" to update to the next assign order (step B7), and an event wait monitor call is made (step B2).

【0115】(2の5) モニタプログラムのイベント
待ちモニタコールルーチンZBにおいてアサイン要求イ
ベントが発生しているか否かを調べる。調べた結果、次
のアサイン要求イベントがまだ発生していないので、タ
スク管理マップにおけるタスク番号“2:メインアサイ
ナタスク”のステータスを“2:ウェイト”に設定し
て、タスク管理マップを調べる。タスク管理マップを調
べた結果、ステータスが“1:レディ”である最優先タ
スクのタスク番号が“3:発音タスク”であるために、
タスク番号“3:発音タスク”のステータスを“0:ラ
ン”に設定して、発音タスクを実行させる。この発音タ
スクにおいては、楽音発生チャネル管理マップに書き込
まれたノート番号NTNMなどに基づき楽音発生に関する各
種パラメータを演算して設定し、発音の開始を指示する
(ステップC2〜C25)。次に、イベント待ちモニタ
コールを行う(ステップC2)。
(2-5) It is checked whether or not an assignment request event has occurred in the monitor call event waiting monitor call routine ZB of the monitor program. As a result of the examination, since the next assign request event has not yet occurred, the status of the task number “2: main assigner task” in the task management map is set to “2: wait” and the task management map is examined. As a result of checking the task management map, the task number of the highest priority task whose status is "1: ready" is "3: sound task",
The status of the task number “3: pronunciation task” is set to “0: run” and the pronunciation task is executed. In this tone generation task, various parameters relating to the tone generation are calculated and set based on the note number NTNM written in the tone generation channel management map and the start of tone generation is instructed (steps C2-C25). Next, an event wait monitor call is made (step C2).

【0116】(2の6) モニタプログラムのイベント
待ちモニタコールルーチンZBにおいて発音要求イベン
トが発生しているか否かを調べる。調べた結果、次の発
音要求イベントがまだ発生していないために、タスク管
理マップにおけるタスク番号“3:発音タスク”のステ
ータスを“2:ウェイト”に設定して、タスク管理マッ
プを調べる。タスク管理マップを調べた結果、全てのタ
スク番号のステータスが“2:ウェイト”である場合に
はスリープする。
(2-6) It is checked in the event waiting monitor call routine ZB of the monitor program whether or not a tone generation request event has occurred. As a result of the examination, since the next pronunciation request event has not occurred yet, the status of the task number “3: pronunciation task” in the task management map is set to “2: wait” and the task management map is examined. As a result of checking the task management map, if the statuses of all the task numbers are “2: wait”, the task sleeps.

【0117】(3) プリアサイナタスク(ルーチン
D)は対応するタイマイベントが発生すると、楽音発生
チャネル管理マップの発音量に基づいてアサイン順位を
更新する(ステップD2〜D11)。次に、イベント待
ちモニタコールを行う(ステップD2)。
(3) When the corresponding timer event occurs, the pre-signer task (routine D) updates the assignment order based on the tone generation amount of the tone generation channel management map (steps D2 to D11). Next, an event wait monitor call is made (step D2).

【0118】(4) エンベロープタスク(ルーチン
E)は対応するタイマイベントが発生すると、ノートス
テータス、楽音発生チャネル管理マップおよびエンベロ
ープ管理マップに基づいて楽音発生チャネル管理マップ
の発音量およびエンベロープ管理マップのエンベロープ
レベルなどを更新等する(ステップE2〜E27)。次
に、イベント待ちモニタコールを行う(ステップE
2)。
(4) When the corresponding timer event occurs, the envelope task (routine E) generates the tone amount of the tone generation channel management map and the envelope of the envelope management map based on the note status, the tone generation channel management map and the envelope management map. The level and the like are updated (steps E2 to E27). Next, an event wait monitor call is made (step E
2).

【0119】以上に説明したように本実施例の電子楽器
においては、新たな楽音を割り当てる楽音発生チャネル
を、発音割当てのために急速減衰中および発音開始から
所定時間経過していないいわゆるアタック中の楽音発生
チャネルを除いた楽音発生チャネルを選定対象としてそ
の中から選定している。また新たな楽音を割り当てる効
果付加チャネルを、発音割当てのために急速減衰中また
は発音開始から所定時間経過していないいわゆるアタッ
ク中の楽音発生チャネルに対応する効果付加チャネルを
除いた効果付加チャネルを選定対象としてその中から選
定している。なお、この選定対象の楽音発生チャネルに
ついては、楽音発生チャネルの発音量に基づき選定順位
を設定し、効果付加チャネルについては、効果付加チャ
ネルの発音量および対応する楽音発生チャネルの選定順
位に基づき選定順位を設定している。
As described above, in the electronic musical instrument of this embodiment, the tone generation channel to which a new tone is to be assigned is being rapidly attenuated for assigning the tone generation, or during a so-called attack in which a predetermined time has not elapsed from the start of tone generation. The tone generation channels excluding the tone generation channels are selected as the selection targets. Also, for effect addition channels to which new musical tones are assigned, the effect addition channels corresponding to the tone generation channels that are being rapidly attenuated for sounding assignment or during so-called attack in which a predetermined time has not elapsed since the start of sounding are selected. The target is selected from them. It should be noted that the tone generation channels to be selected are set in the selection order based on the sound output of the tone generation channels, and the effect addition channels are selected based on the sound output amount of the effect addition channels and the selection order of the corresponding tone generation channels. The ranking is set.

【0120】ここで、本実施例においては、楽音発生チ
ャネルの発音量は、接続されている効果付加チャネルか
ら出力する発音量であり、次のように算出している。ま
ず発音量の算出時点以降に楽音発生チャネルで発生する
と予測される楽音に基づく発音量をエンベロープレベル
およびレートなどに基づいて算出し、次にその発音量を
効果付加チャネルにおける音響効果の付加に対応して補
正している。また、効果付加チャネルの発音量は、効果
付加チャネルに蓄積されている楽音の発音量であり、発
音量の算出時点以前のエンベロープレベルに基づいて算
出している。なお効果付加チャネルの選定順位の設定に
際しては、対応する楽音発生チャネルの選定順位よりも
早い選定順位を設定しない。
Here, in the present embodiment, the tone generation amount of the tone generation channel is the tone generation amount output from the connected effect addition channel, and is calculated as follows. First, the sound volume based on the musical tones predicted to be generated in the musical sound generation channel after the calculation of the sound volume is calculated based on the envelope level and rate, and then the sound volume corresponds to the addition of the acoustic effect in the effect addition channel. I am correcting it. The tone generation amount of the effect addition channel is the tone generation amount of the musical sound accumulated in the effect addition channel, and is calculated based on the envelope level before the calculation time of the tone generation amount. When setting the selection order of the effect-added channels, do not set the selection order earlier than the selection order of the corresponding tone generation channel.

【0121】種々の変形態様 なお処理を簡単にするために、楽音発生チャネルの発音
量および効果付加チャネルの発音量を、効果付加チャネ
ルより出力する発音量としてもよい。なおこの場合、効
果付加チャネルの選定順位が対応する楽音発生チャネル
の選定順位よりも早い選定順位となることはないので、
プリアサイン順位設定ルーチンにおいてステップD61
4〜D627の処理を省略し、ステップD613を処理
を終了すると、プリアサイン順位設定ルーチンを終了す
る。具体的には次のように発音量の算出をする。
Various Modifications In order to simplify the processing, the tone generation amount of the tone generation channel and the tone generation amount of the effect addition channel may be the tone generation amount output from the effect addition channel. In this case, the order of selecting the effect-added channels will not be earlier than the order of selecting the corresponding tone-generating channels.
In the preassign order setting routine, step D61
When the processes of 4 to D627 are omitted and the process of step D613 is completed, the pre-assign order setting routine is completed. Specifically, the sound production amount is calculated as follows.

【0122】楽音発生チャネルの発音量を、実施例にお
いて算出した楽音発生チャネルの発音量に、実施例にお
いて算出した接続されている効果付加チャネルの発音量
を加算した値を“2”で除算した値に設定する。なお発
音を終了した楽音発生チャネルや効果付加チャネルに接
続されていない楽音発生チャネルの発音量は“0”とす
る。楽音発生チャネルに接続されている効果付加チャネ
ルの発音量を、その接続されている楽音発生チャネルの
発音量と同じ発音量に設定し、楽音発生チャネルに接続
されていない効果付加チャネルや発音を終了した楽音発
生チャネルに接続されている効果付加チャネルの発音量
は実施例において算出した効果付加チャネルに蓄積され
ている楽音の発音量を“2”で除算した値に設定する。
The tone generation amount of the tone generation channel is divided by "2" by adding the tone generation amount of the tone generation channel calculated in the embodiment to the tone generation amount of the connected effect-added channel calculated in the embodiment. Set to the value. It should be noted that the tone generation amount of the tone generation channel that has finished tone generation and the tone generation channel that is not connected to the effect addition channel is "0". Set the sound volume of the effect-added channel connected to the tone generation channel to the same sound volume as that of the connected music-tone generation channel, and terminate the effect-added channels and sound generation that are not connected to the tone generation channel. The tone generation amount of the effect addition channel connected to the tone generation channel is set to a value obtained by dividing the tone generation amount of the tone stored in the effect addition channel calculated in the embodiment by "2".

【0123】また、次のように処理してもよい。 まず、楽音発生チャネルを楽音発生チャネルの発音
量に基づいて選定する。 アサイン順位が“0”の楽音発生チャネルの発音量
が“0”である場合には、対応する楽音発生チャネルが
発音を終了している効果付加チャネルおよび楽音発生チ
ャネルに接続されていない効果付加チャネルのなかで発
音量が最も少ない効果付加チャネルを選定する。 アサイン順位が“0”の楽音発生チャネルの発音量
が“0”でない場合には、アサイン順位が“0”の楽音
発生チャネルに対応する効果付加チャネル、対応する楽
音発生チャネルが発音を終了している効果付加チャネ
ル、および楽音発生チャネルに接続されていない効果付
加チャネルのなかで発音量が最も少ない効果付加チャネ
ルを選定する。 以降のアサイン順位についても同様に行う。ただ
し、既に選定した効果付加チャネルは除く。
Further, the following processing may be performed. First, a tone generation channel is selected based on the sound output of the tone generation channel. When the tone generation amount of the tone generation channel whose assignment order is "0" is "0", the effect addition channel whose corresponding tone generation channel has finished generating sound and the effect addition channel not connected to the tone generation channel Select the effect-added channel that produces the least amount of sound. If the tone generation amount of the tone generation channel having the assignment order of “0” is not “0”, the effect addition channel corresponding to the tone generation channel having the assignment order of “0” and the corresponding tone generation channel have finished producing sound. Select the effect-added channel that produces the least amount of sound among the effect-added channels that are present and the effect-added channels that are not connected to the tone generation channel. The same applies to subsequent assignment orders. However, the effect-added channels that have already been selected are excluded.

【0124】また、この処理を簡略化して次のようにし
てもよい。 まず楽音発生チャネルを楽音発生チャネルの発音量
に基づき選定する。 効果付加チャネルについては、まず、対応する楽音
発生チャネルが発音を終了している効果付加チャネル、
および楽音発生チャネルに接続されていない効果付加チ
ャネルを効果付加チャネルの発音量に基づき選定する。
次に対応する楽音発生チャネルが発音を終了していない
効果付加チャネルを、対応する楽音発生チャネルと同じ
順番で選定する。
Further, this processing may be simplified as follows. First, the tone generation channel is selected based on the sound output of the tone generation channel. Regarding the effect-added channel, first, the effect-added channel whose corresponding tone generation channel has finished sounding,
And an effect-added channel that is not connected to the tone generation channel is selected based on the sound output of the effect-added channel.
Next, the effect-added channels whose corresponding tone generation channels have not finished sounding are selected in the same order as the corresponding tone generation channels.

【0125】なお、楽音発生チャネルの発音量を特開平
1−169496号公報にて提案した各種方法などによ
って算出してもよい。例えば、持続音系の楽音の発音量
の処理ルーチンのステップE2512におけるノートオ
ンの発音状態の発音量を所定期間シミュレートしたり、
あるいは次のようにして算出する。 ROM23に音色、音高、ベロシティ等に対応して
各フェーズ番号における発音量をあらかじめ記憶してお
く。 対応する音色、音高、ベロシティ等における所定期
間の発音量の総和を発音量とする。
The tone generation amount of the tone generation channel may be calculated by various methods proposed in Japanese Patent Laid-Open No. 1-1649496. For example, in step E2512 of the processing routine of the sound volume of the continuous tone system, the sound volume of the note-on sound state at step E2512 is simulated for a predetermined period,
Alternatively, it is calculated as follows. The ROM 23 stores in advance the tone generation amount in each phase number in correspondence with the tone color, tone pitch, velocity, and the like. The total amount of sound generation for a corresponding tone color, pitch, velocity, etc. for a predetermined period is set as the sound generation amount.

【0126】また、ノートオンの発音状態の楽音発生チ
ャネルについては、処理の簡略化のため、その発音量を
ノートオンの発音状態の期間についてのみ算出したが、
ノートオフ後の発音量をノートオフの発音状態の処理に
準じて算出し、それをノートオンの発音状態の期間につ
いて算出した発音量に加算してもよい。また、この発音
量を、疑似エンベロープレベル、発音される楽音信号の
振幅レベルより検出したエンベロープレベル等に基づい
て算出してもよい。また実施例では、発音を終了するま
での発音量を算出したが、エンベロープレベルが所定レ
ベルになるまでの発音量を算出するようにしてもよく、
その所定レベルを音色、音高に応じて設定してもよい。
For the tone generation channel in the note-on tone generation state, the tone generation amount is calculated only for the note-on tone generation period for simplification of processing.
The tone generation amount after note-off may be calculated according to the processing of the note-off tone generation state, and may be added to the tone generation amount calculated for the period of the note-on tone generation state. Further, this sound generation amount may be calculated based on the pseudo envelope level, the envelope level detected from the amplitude level of the sound signal to be sounded, and the like. Further, in the embodiment, the sound generation amount until the end of sound generation is calculated, but the sound generation amount until the envelope level reaches a predetermined level may be calculated,
The predetermined level may be set according to the tone color and tone pitch.

【0127】また、発音量の算出にあたってエンベロー
プレベルによる重みづけをしてもよい。例えば、ステッ
プE17、E25などにおいてエンベロープレベルに応
じて係数を乗じる。係数としてはエンベロープレベルEL
ENが“4000H”未満である場合には“1/4”、エ
ンベロープレベルELENが“4000H”から“8000
H”未満である場合には“1/2”、エンベロープレベ
ルELENが“8000H”から“C000H”未満である
場合には“3/4”、エンベロープレベルELENが“C0
00H”以上である場合には“1”とする。
Further, in calculating the amount of sound generation, weighting may be performed according to the envelope level. For example, in steps E17 and E25, a coefficient is multiplied according to the envelope level. Envelope level EL as a coefficient
If EN is less than "4000H", "1/4", and envelope level ELEN is "4000H" to "8000".
If it is less than H, it is "1/2", if the envelope level ELEN is from "8000H" to less than "C000H", it is "3/4", and the envelope level ELEN is "C0.
When it is 00H or more, it is set to "1".

【0128】また、楽音発生チャネルの発音量を効果付
加チャネルにおける音響効果の付加に対応して補正する
処理を簡略化しても良い。例えば効果付加態様(効果の
種類、効果のかかり具合、エフェクタ制御パラメータな
ど、またはそれらの適宜の組合せ)に応じてその効果を
付加した場合の補正と同程度の補正がなされる補正係数
をあらかじめ設定記憶し、効果付加態様に応じてその補
正係数を楽音発生チャネルの発音量に乗算して、補正を
行う。
Further, the process of correcting the tone generation amount of the tone generation channel in response to the addition of the acoustic effect in the effect addition channel may be simplified. For example, a correction coefficient is set in advance that is similar to the correction when the effect is added according to the effect addition mode (type of effect, degree of effect, effector control parameter, etc., or an appropriate combination thereof). The correction amount is stored, and the correction coefficient is multiplied by the correction coefficient in accordance with the effect addition mode to perform correction.

【0129】また、楽音発生チャネルの発音量の算出お
よび/または比較に際して、演奏表現上の有用性の高い
楽音の発音が有用性の低い楽音よりも優先的に継続され
るように、発音量を楽音の有用性に応じて補正するよう
にしてもよい。例えば、楽音への効果のかかり具合に基
づきその楽音の有用性が変化する場合には、この効果の
かかり具合に基づく楽音の有用性の変化に対応した補正
係数をあらかじめ設定記憶しておき、発音量の算出に際
しては、その楽音への効果のかかり具合に対応する補正
係数を実施例において算出した発音量に乗算する。この
場合、楽音の有用性を変化させるパラメータとしては、
上述の効果のかかり具合の他に、効果の種類、効果の種
類と効果のかかり具合、エフェクタ制御パラメータ、音
色、音高など、またはそれらの適宜の組合せなどを用い
てもよい。
Further, in calculating and / or comparing the pronunciation amount of the tone generation channel, the pronunciation amount is set so that the pronunciation of the musical tone having high usefulness in performance expression is continued preferentially over the musical tone having low usefulness. You may make it correct according to the usefulness of a musical sound. For example, when the usefulness of a musical tone changes based on the degree of effect on the musical tone, a correction coefficient corresponding to the change in usefulness of the musical tone based on the degree of the effect is set and stored in advance. When calculating the amount, the tone amount calculated in the embodiment is multiplied by a correction coefficient corresponding to the degree of the effect on the musical sound. In this case, the parameters that change the usefulness of the musical sound are
In addition to the degree of effect described above, the type of effect, the type of effect and the degree of effect, the effector control parameter, the tone color, the pitch, etc., or an appropriate combination thereof may be used.

【0130】また、次のような楽音を有用性の高い楽音
として発音量が大きくなるように補正するとよい。すな
わち、通奏低音的な音となる音高または音域の楽音、メ
ロディ部の最高音、ソロとなる音色の楽音、自動演奏装
置からの演奏情報と鍵盤からの演奏情報を併せて演奏す
る場合におけるその演奏で重視する演奏情報に基づく楽
音(例えば鍵盤で使用しているパートの楽音)、楽音が
部分音など複数の音で構成される場合におけるそれらの
うちの主要な音、あるいはノートステータスがオンであ
る楽音やソステヌートステータスがオンである楽音をよ
り強調したい場合などにおけるそられ強調したい楽音な
どを有用性の高い楽音としてその発音量が大きくなるよ
うに補正する。
Further, it is preferable to correct the following musical tones as highly useful musical tones so as to increase the pronunciation amount. In other words, in the case of playing a musical tone in the pitch or range that is a low-pitched tone, the highest tone of the melody part, a musical tone of a solo tone, and performance information from the automatic performance device and performance information from the keyboard. A musical tone based on performance information that is important in the performance (for example, a musical tone of a part used on the keyboard), a main tone among them when the musical tone is composed of multiple tones such as partial tones, or the note status is on. In the case where it is desired to further emphasize a musical sound that is "1" or a musical sound whose sostenuto status is ON, the musical sound to be warped and the like is corrected as a highly useful musical sound so that its pronunciation amount is increased.

【0131】また、いわゆる連打処理を施した場合に
は、連打関係にある楽音発生チャネルは有用性が低いと
見なして、そのアサイン順位を早くしても良い。例え
ば、プリアサイナタスクのステップD5の処理を終える
と、同一パートで同一音高の楽音を発生している連打関
係にある楽音発生チャネルを検出し、楽音発生チャネル
番号GNのプリアサイナ発音量PLEV[GN]を次のように補正
してから、ステップD6に進むようにする。すなわち、
ノートステータスがノートオンの楽音発生チャネルと連
打関係にあるノートステータスがノートオフの楽音発生
チャネルについては、その楽音発生チャネル番号GNのプ
リアサイナ発音量PLEV[GN]をその値の1/10に変更す
る補正を行う。また、連打関係にある全ての楽音発生チ
ャネルのノートステータスがノートオフである場合に
は、最も大きい楽音発生チャネル番号GNのプリアサイナ
発音量PLEV[GN]を除く連打関係にある楽音発生チャネル
について、その楽音発生チャネル番号GNのプリアサイナ
発音量PLEV[GN]をその値の1/10に変更する補正を行
う。
When the so-called continuous hitting process is performed, the tone generation channels having the continuous hitting relationship may be considered to have low usefulness, and the assignment order may be increased. For example, after the processing of step D5 of the pre-assigner task is completed, a tone generation channel in a continuous hitting relationship that produces musical tones with the same pitch in the same part is detected, and the pre-assigner pronunciation level PLEV [GN of the tone generation channel number GN is detected. Is corrected as follows, and then the process proceeds to step D6. That is,
For the tone generation channel whose note status is Note-on and which has a continuous hit relationship with the tone generation channel whose note status is Note-on, change the pre-assigner pronunciation amount PLEV [GN] of the tone generation channel number GN to 1/10 of that value. Make a correction. If the note statuses of all the tone generation channels that are in the continuous hit relationship are note-off, the tone generation channels that are in the continuous hit relationship except the pre-assigner pronunciation amount PLEV [GN] of the largest tone generation channel number GN are Correction is performed to change the pre-assigner pronunciation amount PLEV [GN] of the tone generation channel number GN to 1/10 of that value.

【0132】また、特開昭64−42695号公報に開
示されている協和度に応じた発音量の補正を連打処理に
準じて行なってもよい。また特公昭62−52319号
公報に開示されている派生音を押鍵音に優先する処理に
換えて、派生音の有用性に応じて派生音の発音量を補正
(例えば係数1/10を乗算)するなどして派生音と押
鍵音との評価のバランスを取るようにしてもよい。ま
た、効果付加チャネルの発音量も効果付加中の楽音信号
の有用性、効果付加態様の有用性などに基づいて補正し
てもよい。
Further, the correction of the tone generation amount according to the degree of consonance disclosed in Japanese Patent Laid-Open No. 64-42695 may be performed in accordance with the continuous hitting process. Further, instead of the process of prioritizing the derived sound over the key depression sound, which is disclosed in Japanese Patent Publication No. 62-52319, the amount of the derived sound is corrected according to the usefulness of the derived sound (for example, a coefficient is multiplied by 1/10). ) May be used to balance the evaluation of the derived sound and the key depression sound. Further, the tone generation amount of the effect addition channel may be corrected based on the usefulness of the tone signal during the effect addition, the usefulness of the effect addition mode, and the like.

【0133】また、新たな楽音の割当てに際して、割当
て先の楽音発生チャネルが発音中である場合には、その
楽音発生チャネルに新たな楽音を割り当てるのとその楽
音発生チャネルで従前の発音を継続するのとでは、どち
らが演奏表現上の違和感が少ないかを予め判断して、従
前の発音を継続するほうが違和感が少ない場合には、新
たな楽音の割当てを行わないようにしてもよい。これを
行うには、例えばメインアサイナタスクのステップB5
の処理に先立って次の処理をする。まず新たな楽音の発
音量(効果付加に伴い付加される発音量を含めた)を実
施例に準じて算出する。次いで、新たな楽音の発音量と
割当て先の楽音発生チャネルの従前の発音量とを比較す
る。新たな楽音の発音量が大きい場合にはステップB5
に進み、大きくない場合にはステップB2に戻る。
When a new tone is assigned, if the tone generation channel to which the tone is assigned is being sounded, a new tone is assigned to the tone generation channel and the previous tone generation is continued on the tone generation channel. In this case, it may be determined in advance which one has less discomfort in performance expression, and if it is less discomfort to continue the previous sound generation, a new musical tone may not be assigned. To do this, for example, step B5 of the Main Assigner task.
The following processing is performed prior to the processing of. First, a new tone generation amount (including the tone generation amount added with the addition of an effect) is calculated according to the embodiment. Next, the amount of sound generation of the new musical tone is compared with the amount of sound generation of the assigned tone generation channel. If the volume of the new musical sound is large, step B5
If not, go back to step B2.

【0134】なお、新たな発音を優先したい場合には、
新たな楽音の発音量に1より大なる値の発音優先係数を
乗算するなどして補正してもよい。反対に、新たな発音
を抑制したい場合には、新たな楽音の発音量に1より小
なる値の発音抑制係数を乗算するなどして補正してもよ
い。また演奏表現上の有用性などに基づいて発音量を補
正するとよい。
If the user wants to give priority to a new pronunciation,
It is also possible to correct the tone generation amount of a new musical tone by multiplying it by a tone generation priority coefficient having a value greater than 1. On the contrary, when it is desired to suppress a new sound, the sound volume of the new musical sound may be corrected by multiplying the sound suppression coefficient of a value smaller than 1. Further, it is preferable to correct the pronunciation amount based on the usefulness in expression of performance.

【0135】また、効果を付加しない楽音発生チャネル
の楽音を効果付加チャネルを経由せずに直接出力するよ
うにしてもよい。例えば、効果付加チャネル管理マップ
に効果付加チャネル番号“21”を用意するとともに、
その発音量を“0”に設定し出力係数の総和を“1”に
設定する。ここで効果付加チャネル管理番号“21”の
効果付加チャネルは仮想的なものである。また効果付加
チャネル用の対象アサイン順位を別に設ける。メインア
サイナタスクのステップB5の処理に先立って、パート
番号PTNMなどに基づき効果の付加の有無を判断する。効
果を付加しない楽音と判断した場合には、ステップB5
の処理に準じて処理対象楽音発生チャネル番号MGCHを設
定するとともに、楽音発生チャネル管理マップのノート
番号などを設定する。なお接続先効果付加チャネル番号
は“21”に設定する。そしてステップB6に進む。ま
た効果付加チャネル管理マップの更新はしない。効果を
付加する楽音と判断した場合には、ステップB5に進
む。なお効果付加チャネル用の対象アサイン順位を
“1”だけインクリメントする。楽音信号交換装置は楽
音発生チャネルと効果付加チャネル“21”の接続を指
示されると、指示された楽音発生チャネルと従前の効果
付加チャネルの接続を解除した後、その楽音発生チャネ
ルを楽音発生回路26の出力に接続する。したがって指
示された楽音発生チャネルに従前に接続されていた効果
付加チャネルへの新たな楽音信号の入力は遮断される
が、入力済みの楽音への効果の付加は継続される。なお
同時に全ての楽音発生チャネルを効果付加チャネル“2
1”に接続できる。
Further, the musical sound of the musical tone generation channel to which no effect is added may be directly output without passing through the effect added channel. For example, the effect addition channel number “21” is prepared in the effect addition channel management map, and
The amount of sound generation is set to "0" and the total sum of output coefficients is set to "1". Here, the effect-added channel with the effect-added channel management number “21” is virtual. In addition, a target assignment order for effect-added channels is separately provided. Prior to the processing of step B5 of the main assigner task, it is determined whether or not the effect is added based on the part number PTNM or the like. If it is determined that the sound does not have an effect added, step B5
The tone generation channel number MGCH to be processed is set in accordance with the above process, and the note number and the like of the tone generation channel management map are set. In addition, the connection destination effect addition channel number is set to "21". Then, the process proceeds to step B6. The effect-added channel management map is not updated. If it is determined that the sound is a tone to which an effect is added, the process proceeds to step B5. The target assignment order for the effect-added channel is incremented by "1". When the tone signal exchange apparatus is instructed to connect the tone generation channel and the effect addition channel "21", the tone generation channel is disconnected from the previous effect addition channel and then the tone generation circuit is set to the tone generation circuit. 26 output. Therefore, the input of a new musical tone signal to the effect-added channel that was previously connected to the designated musical tone generation channel is blocked, but the addition of the effect to the already input musical tone is continued. At the same time, all the tone generation channels are added to the effect addition channel "2
Can be connected to 1 ".

【0136】また、新たな楽音の割当てに際して、割当
て先の効果付加チャネルが効果付加中である場合には、
新たな楽音に効果を付加するのと新たな楽音には効果を
付加しない(なお割当て先の効果付加チャネルで従前の
効果の付加を継続する)のとでは、どちらが演奏表現上
の違和感が少ないかをあらかじめ判断して、新たな楽音
には効果を付加しないほうが違和感が少ない場合には、
新たな楽音には効果を付加しないようにしてもよい。例
えば違和感を効果付加チャネルで付加する発音量と効果
付加チャネルに蓄積されている発音量の和に基づいて判
断する場合には次のようにする。ここで効果付加チャネ
ルで付加する発音量は、エンベロープタスクのステップ
E18における変更後の発音量から変更前の発音量を減
算した値である。まずメインアサイナタスクのステップ
B5の処理に次の処理を追加する。新たな楽音の発音中
に効果付加チャネルで付加される発音量と、割当て先の
効果付加チャネルにおける効果付加チャネルで付加する
発音量および効果付加チャネルに蓄積されている発音量
の和とを比較する。新たな楽音の発音中に効果付加チャ
ネルで付加される発音量が大きい場合には、そのままス
テップB5の処理を行う。大きくない場合には、前記効
果を付加しない楽音発生チャネルの楽音に関する処理に
準じた処理をする。
In addition, when assigning a new musical tone, if the effect-added channel of the assignee is adding effects,
Which one has less discomfort in performance expression between adding an effect to a new musical sound and adding no effect to a new musical sound (still adding the previous effect on the effect addition channel of the assignee) If there is less discomfort if you do not add the effect to the new musical sound,
The effect may not be added to the new musical sound. For example, in the case of making a judgment based on the sum of the sound production amount to which the sense of discomfort is added in the effect addition channel and the sound production amount accumulated in the effect addition channel, the following is performed. The tone generation amount added in the effect addition channel is a value obtained by subtracting the tone generation amount before the change from the tone generation amount after the change in step E18 of the envelope task. First, the following process is added to the process of step B5 of the main assigner task. Compare the amount of sound added in the effect addition channel during sounding of a new musical tone to the sum of the amount of sound added in the effect addition channel of the allocation destination and the amount of sound accumulated in the effect addition channel. .. When the tone generation amount added by the effect addition channel is large during the generation of a new musical tone, the process of step B5 is performed as it is. If it is not large, the processing according to the processing relating to the musical tone of the musical tone generating channel to which the above effect is not added is performed.

【0137】また、新たな楽音への効果の付加を優先す
るように、新たな楽音の発音中に効果付加チャネルで付
加される発音量に1より大なる値の発音優先係数を乗算
するなどして補正してもよい。反対に、新たな楽音への
効果の付加を抑制するように、新たな楽音の発音中に効
果付加チャネルで付加される発音量に1よりなる値の発
音抑制係数を乗算するなどして補正してもよい。また演
奏表現上の有用性などに基づいて各発音量を補正するし
てもよい。以上のような処理をする場合には、効果付加
チャネルのアサイン順位を、効果付加チャネルで付加す
る発音量と効果付加チャネルに蓄積されている発音量の
和に基づいて設定するとよい。また効果付加チャネルの
アサイン順位を、発音量に換えて効果の種類などに基づ
き設定した有用度などで比較し設定するものであっても
よい。また新たな楽音に効果を付加しない場合には、そ
の後いずれかの効果付加チャネルでの効果付加を終了す
ると、その効果付加チャネルを使用して効果を付加する
ようにしてもよい。
Further, in order to give priority to the addition of an effect to a new musical sound, the sound production amount added in the effect addition channel during the sounding of a new musical sound is multiplied by a sounding priority coefficient having a value greater than 1. You may correct it. On the contrary, in order to suppress the addition of the effect to the new musical sound, the amount of sound added in the effect addition channel during the sounding of the new musical sound is corrected by multiplying by the sounding suppression coefficient of 1 or the like. May be. In addition, each pronunciation amount may be corrected based on the usefulness in performance expression. In the case of performing the above-described processing, the assignment order of the effect addition channels may be set based on the sum of the sound production amount added by the effect addition channel and the sound production amount accumulated in the effect addition channel. Further, the assignment order of the effect-added channels may be set by comparing with the usefulness or the like set based on the type of effect instead of the sound generation amount. Further, in the case where the effect is not added to the new musical sound, the effect may be added using the effect addition channel when the effect addition in any one of the effect addition channels is finished thereafter.

【0138】また、割当て可能な効果付加チャネルで付
加中の効果と新たな楽音に付加する効果が同一または許
容される範囲の相違である場合には、その効果付加チャ
ネルを共用してもよい。この場合、その効果付加チャネ
ルで付加中の効果の付加は継続する。また、全ての楽音
に共通の効果を付加するように、効果付加チャネルの出
力を共通の効果付加用の効果付加装置を経由して出力す
るようにしてもよい。また、複数のパートに共通の効果
を付加するように、それらのパートの楽音を割り当てら
れた楽音発生チャネルに接続された効果付加チャネルの
出力のみを、共通の効果付加用の効果付加装置を経由し
て出力するようにしてもよい。なお追加して付加される
効果に対応して楽音発生チャネルおよび/または効果付
加チャネルの発音量をさらに補正するなどするとよい。
If the effect being added in the assignable effect-adding channel and the effect added to the new musical tone are the same or different in the allowable range, the effect-adding channel may be shared. In this case, the addition of the effect being added in the effect addition channel continues. Further, the output of the effect addition channel may be output via the effect addition device for adding the common effect so that the common effect is added to all the musical tones. Also, in order to add a common effect to multiple parts, only the output of the effect addition channel connected to the tone generation channel to which the musical sounds of those parts are assigned is passed through the effect addition device for adding the common effect. You may make it output it. Note that it is preferable to further correct the tone generation amount of the tone generation channel and / or the effect addition channel in accordance with the effect added additionally.

【0139】前述の実施例では、トランケート禁止フェ
ーズ番号をアタック期間を終了するフェーズ番号とした
が、発音開始直後の演奏表現に大きな影響を与える期間
が更に長いなどする場合には、その期間に応じてトラン
ケート禁止フェーズ番号を変更しても良い。例えばディ
ケイ期間を含めるようにしてもよい。
In the above-mentioned embodiment, the truncate prohibition phase number is set as the phase number at which the attack period ends. You may change the truncation prohibition phase number. For example, a decay period may be included.

【0140】発音量の算出におけるノートオンの発音状
態の発音継続フェーズ数FVCNは、ノートオンの発音状態
が持続する場合には、次のように推移する。すなわちこ
の発音継続フェーズ数FVCNは最短押鍵フェーズ番号FPSN
からフェーズの進行と共に減少し、押鍵継続フェーズ数
FPCNに達するとその値を維持する。この推移に際しフェ
ーズの進行に応じて減少量を変更するようにしてもよ
い。この発音量の算出における最短押鍵フェーズ番号FP
SN、押鍵継続フェーズ数FPCNは、演奏のテンポ、曲想等
に応じて適宜設定し変更するようにしてもよい。
The tone generation continuation phase number FVCN of the note-on tone generation state in the calculation of the tone generation amount changes as follows when the note-on tone generation state continues. In other words, the number FVCN of the continuation pronunciation phase is the shortest key depression phase number FPSN.
To the number of continuous key depression phases
When FPCN is reached, it keeps that value. In this transition, the reduction amount may be changed according to the progress of the phase. Shortest key depression phase number FP in the calculation of this pronunciation
The SN and the key-depression continuation phase number FPCN may be appropriately set and changed according to the tempo of the performance, the musical idea, and the like.

【0141】また、発音量に基づく並べ換え処理を簡略
化するために、その並べ換え処理に先立って、発音を終
了している楽音発生チャネルをアサイン順位の小なる順
位に設定するようにしてもよい。例えば、プリアサイン
順位設定ルーチンのステップD602〜D606の処理
に先立って、発音を終了している楽音発生チャネルの楽
音発生チャネル番号を第Nプリアサイン順位楽音発生チ
ャネル番号PASS[N] に順次に設定する。
Further, in order to simplify the rearrangement process based on the amount of sound generation, the tone generation channels for which sound generation has ended may be set to a lower order of assignment prior to the rearrangement process. For example, prior to the processing of steps D602 to D606 of the preassign order setting routine, the tone generation channel numbers of the tone generation channels whose sound generation has ended are sequentially set to the Nth preassigned tone generation channel number PASS [N]. To do.

【0142】また、発音量に基づくアサイン順位の設定
処理を簡略化するために、発音量が所定値以下の楽音発
生チャネルのアサイン順位を、押鍵順、楽音発生チャネ
ル番号順、所定値以下になった順などに設定するように
してもよい。
Further, in order to simplify the assigning order setting process based on the sound generation amount, the assigning order of the tone generation channels whose sound generation amount is equal to or lower than a predetermined value is set to the key pressing order, the tone generation channel number order, and the predetermined value or less. You may set it in the order that it became.

【0143】また、処理を簡略化するため、プリアサイ
ナ発音レベルにのみ基づいてアサイン順位を設定するな
どしてもよい。例えばプリアサイン順位設定ルーチンD
601〜D607ではプリアサイナ発音レベルPLEV[GN]
の小なる順に第Nプリアサイン順位楽音発生チャネル番
号PASS[N] を設定する処理のみを行う。この場合、急速
減衰中の楽音発生チャネルの選定順位としては押鍵順が
望ましいので、急速減衰中の楽音発生チャネルの発音量
として“FFF0H”に押鍵順位を加算した値にすると
よい。
Further, in order to simplify the processing, the assigning order may be set based only on the pre-assigner sound level. For example, preassign order setting routine D
In 601 to D607, pre-assigner pronunciation level PLEV [GN]
Only the process of setting the Nth preassigned tone generation channel number PASS [N] is performed in ascending order. In this case, the order of key depression is desirable as the order of selection of the tone generation channels during rapid decay, so it is preferable to add "FFF0H" to the value of the key depression as the sound generation amount of the tone generation channels during rapid decay.

【0144】変形例1 前述の実施例のように評価基準として発音量を用いる代
わりに、評価基準として押鍵順を用いる場合の具体例に
ついて以下に説明する。この場合、効果付加チャネルで
付加される効果は遅延時間に換算されて効果付加チャネ
ルの評価基準とされる。前述の実施例との相違点を述べ
ると、この変形例1では楽音発生チャネルの発音量を次
のように算出する。すなわち、発音タスクのステップC
16において、発音量を、接続先の効果付加チャネルに
おける遅延時間に相当するフェーズ数に“8000H”
を加算した値に設定する。エンベロープタスクにおいて
は、急速減衰中の楽音発生チャネルを除いては発音量が
“0”になるまで発音量を“1”ずつデクリメントす
る。
MODIFIED EXAMPLE 1 A specific example in which the key pressing order is used as the evaluation reference instead of using the tone generation amount as the evaluation reference as in the above-described embodiment will be described below. In this case, the effect added by the effect-added channel is converted into the delay time and used as the evaluation reference of the effect-added channel. The difference from the above-described embodiment will be described. In this modified example 1, the tone generation amount of the tone generation channel is calculated as follows. That is, step C of the pronunciation task
In 16, the tone generation amount is set to “8000H” as the number of phases corresponding to the delay time in the effect-added channel at the connection destination.
Set to the value obtained by adding. In the envelope task, the tone generation amount is decremented by "1" until the tone generation amount becomes "0" except for the tone generation channel which is being rapidly attenuated.

【0145】またこの変形例1では効果付加チャネルの
発音量を次のように算出する。発音タスクのステップC
16において、発音量を効果付加チャネルにおける遅延
時間に相当するフェーズ数に設定する。エンベロープタ
スクにおいては、発音を終了している楽音発生チャネル
に接続されている効果付加チャネル、または楽音発生チ
ャネルに接続されていない効果付加チャネルの発音量を
“0”に達するまで“1”ずつデクリメントする。ここ
で効果付加チャネルにおける遅延時間に相当するフェー
ズ数は次のようにして算出する。出力係数を最大経過フ
ェーズ数から経過フェーズ数の小なる(言い換えれば遅
延時間の短い)向きに順次に累算し、累算した値が0.
3を超える経過フェーズ数を、求めるフェーズ数とす
る。このようにして算出した効果付加チャネルにおける
遅延時間に相当するフェーズ数以降において出力する楽
音のエンベロープレベルの総和は、入力する楽音のエン
ベロープレベルの約30%となる。なおこの求めんとす
るフェーズ数を、出力係数が0.2以上の出力係数を有
する経過フェーズ数の最大値とするなどして、その算出
処理を簡略化してもよい。
Further, in this modification 1, the tone generation amount of the effect-added channel is calculated as follows. Step C of pronunciation task
At 16, the tone generation amount is set to the number of phases corresponding to the delay time in the effect addition channel. In the envelope task, the sound generation amount of the effect addition channel connected to the tone generation channel whose sound generation is terminated or the effect addition channel not connected to the tone generation channel is decremented by "1" until it reaches "0". To do. Here, the number of phases corresponding to the delay time in the effect-added channel is calculated as follows. The output coefficients are sequentially accumulated from the maximum number of elapsed phases toward the smaller number of elapsed phases (in other words, the delay time is short), and the accumulated value is 0.
The number of elapsed phases exceeding 3 is the number of phases to be obtained. The total sum of the envelope levels of the musical tones output after the number of phases corresponding to the delay time in the effect-added channel calculated in this manner is about 30% of the envelope level of the inputted musical tones. Note that the calculation process may be simplified by setting the number of phases to be obtained to the maximum value of the number of elapsed phases having an output coefficient of which the output coefficient is 0.2 or more.

【0146】なお、この変形例1では、楽音発生チャネ
ルの選定順位を実施例における押鍵順位に基づいてもよ
い。また、この変形例1は、離鍵順位、発音終了順位、
発音残り時間などに基づく処理に適宜変更して適用して
もよい。
In the first modification, the selection order of the tone generation channels may be based on the key pressing order in the embodiment. Further, in this modification 1, the key release order, the pronunciation ending order,
The processing may be appropriately changed and applied based on the remaining pronunciation time.

【0147】変形例2 減衰音系の楽音を発生する電子楽器において評価基準と
してエンベロープレベルを用いる場合について以下に説
明する。まず、この変形例2では、楽音発生チャネルの
発音量は次のように算出する。楽音発生チャネルの発音
量をエンベロープレベルに原音の出力係数を乗算し、そ
れを“2”で除算した値に設定する。なお、このエンベ
ロープレベルにノートオンの発音状態であることなどに
基づく重み付けをしてもよい。また、この変形例2で
は、効果付加チャネルの発音量は次のように算出する。
エンベロープレベルをエンベロープレベルバッファから
順次に読み出し、読み出したエンベロープレベルに対応
する出力係数を乗算した値を累算し、さらにその値を
“800”で除算して発音量とする。
Modified Example 2 A case will be described below in which an envelope level is used as an evaluation reference in an electronic musical instrument which produces a musical sound of a damped sound system. First, in the second modification, the tone generation amount of the tone generation channel is calculated as follows. The tone level of the tone generation channel is set to a value obtained by multiplying the envelope level by the output coefficient of the original tone and dividing it by "2". It should be noted that this envelope level may be weighted based on the note-on sounding state. In the second modification, the sound output amount of the effect-added channel is calculated as follows.
The envelope levels are sequentially read from the envelope level buffer, the values obtained by multiplying the read envelope levels by the output coefficients are accumulated, and the values are divided by "800" to obtain the tone generation amount.

【0148】この変形例2を上述の減衰音系に換えて持
続音系の楽音を発生する電子楽器に適用する場合には、
楽音発生チャネルの発音量は、ノートオフの発音状態の
楽音については前記のようにして算出し、ノートオンの
発音状態の楽音については、エンベロープレベルに出力
係数の総和および補正係数(1より大なる値)を乗算し
て算出するとよい。なお、前述の実施例や変形例1、変
形例2を適宜に組み合せるなどしてもよい。
When this modified example 2 is applied to an electronic musical instrument which generates a continuous tone type musical tone in place of the above-mentioned attenuated tone type system,
The tone generation amount of the tone generation channel is calculated as described above for the tone-off tone-like tone, and for the note-on tone-like tone, the sum of the output coefficients and the correction coefficient (greater than 1 are added to the envelope level. It is good to calculate by multiplying by (value). It should be noted that the above-described embodiment, the first modification, and the second modification may be appropriately combined.

【0149】また、本発明は、実施例や変形例などにお
ける楽音発生回路において、単一の楽音を複数の構成音
で構成し、各構成音を発生する楽音発生チャネルの出力
をそれらの構成音に共通の効果付加チャネルで音響効果
を付加するとともに楽音を単位として発音等の処理を行
う場合にも、適用することができるものである。
Further, according to the present invention, in the musical tone generating circuit in the embodiment or the modified example, a single musical tone is composed of a plurality of constituent sounds, and the output of the musical sound generating channel for generating each constituent sound is made into those constituent sounds. The present invention can also be applied to a case where a sound effect is added to a common effect addition channel and a processing such as sound generation is performed in units of musical sound.

【0150】この場合、割当て対象の選定における発音
量の比較に際して、楽音発生チャネルの発音量として
は、同じ楽音を構成する各構成音の発音量の総和、また
は各構成音の重要度に応じて重み付けをした発音量の総
和、または最大発音量、または重要度の高い構成音の発
音量などを用いる。楽音の発音の開始の指示は、全ての
構成音について準備が整うと、楽音を単位として指示す
る。この場合、楽音発生チャネルの数は楽音を単位とし
て扱うため、実質的には効果付加チャネルの数以下とな
る。
In this case, at the time of comparing the sound amounts in the selection of the allocation target, the sound amount of the tone generation channel is determined by the sum of the sound amounts of the constituent sounds forming the same musical sound or the importance of each constituent sound. The weighted sum of the pronunciation amounts, the maximum pronunciation amount, or the pronunciation amounts of the constituent sounds of high importance are used. The instruction to start the pronunciation of a musical tone is given in units of musical tone when all the component sounds are ready. In this case, since the number of tone generation channels is handled in units of tone, it is substantially less than the number of effect-added channels.

【0151】またパートによる発音態様の差異を考慮し
て本出願人に係る特開昭64−19393号公報にて提
案した方法に基づきリザーブ処理をするとともに、リザ
ーブ数を超えている楽音発生チャネルの選定に際して
は、本発明を適用するようにしてもよい。
Further, in consideration of the difference in sounding mode between parts, the reserve processing is performed based on the method proposed in Japanese Patent Laid-Open No. 64-19393 of the present applicant, and at the same time, the tone generation channels exceeding the number of reserves are generated. The present invention may be applied to the selection.

【0152】効果付加チャネルにおいて付加する効果を
特開平2−110500号公報にて提案しているよう
に、ノートオフの発音状態になると変更するなどしても
よい。なお、付加する効果を変更する場合には、それに
対応して出力係数などを変更するとよい。
The effect to be added in the effect addition channel may be changed when the note-off sound is produced, as proposed in Japanese Patent Laid-Open No. 2-110500. When changing the effect to be added, the output coefficient or the like may be changed correspondingly.

【0153】前述の実施例では、効果付加チャネルにお
いてリバーブ効果を付加する場合について説明したが、
本発明はこれに限られるものではなく、他の音響効果を
付加する場合、あるいは複数の音響効果を組み合わせて
付加する場合にも適用できる。
In the above embodiment, the case where the reverb effect is added in the effect addition channel has been described.
The present invention is not limited to this, and can be applied to the case of adding another acoustic effect or the case of adding a plurality of acoustic effects in combination.

【0154】また本発明においては、アサイン順位の設
定を特開昭64−19393号公報に示されている技術
のようにリンクの設定によって行ってもよい。また上述
の実施例ではマルチティンバ電子楽器について説明した
が、単一の音色の楽音を発音する電子楽器にも本発明を
適用できることは言うまでもない。また本実施例はマル
チタスク処理によったが、シングルタスク処理により実
施してもよい。
Further, in the present invention, the assigning order may be set by setting the link as in the technique disclosed in Japanese Patent Laid-Open No. 64-19393. Further, although the multi-timbre electronic musical instrument has been described in the above-mentioned embodiments, it goes without saying that the present invention can be applied to an electronic musical instrument which produces a musical sound of a single tone color. Further, although the present embodiment is based on multitask processing, it may be carried out by single task processing.

【0155】また本実施例では、アサイン順位を予め設
定して、設定したアサイン順位に従って選定するいわゆ
るプリアサイン処理によったが、これに換えて、ノート
オン情報を受信する度に新たな楽音を割り当てる楽音発
生チャネルを選定する一般的な処理に準じて楽音発生チ
ャネル、効果付加チャネルを選定してもよい。なお、こ
の場合、効果付加チャネルの選定を次のように行っても
良い。まず楽音発生チャネルに接続されていない効果付
加チャネル、または接続されている楽音発生チャネルの
発音が終了している効果付加チャネルでかつ効果の付加
も終了している効果付加チャネルを選定する。そのよう
な効果付加チャネルがなければ、実施例などの方法によ
り効果付加チャネルを選定する。効果の付加を終了して
いる効果付加チャネルに換えて発音量が所定値以下の効
果付加チャネルなどとしてもよい。楽音発生チャネルの
選定も同様に行なってもよい。まず発音を終了している
楽音発生チャネルを選定し、そのような楽音発生チャネ
ルがなければ実施例などの方法により楽音発生チャネル
を選定するようにしてもよい。発音を終了している楽音
発生チャネルに換えて発音量が所定値以下楽音発生チャ
ネルなどとしてもよい。
Further, in the present embodiment, the so-called pre-assignment processing in which the assigning order is set in advance and selected in accordance with the set assigning order is used. The tone generation channel and the effect addition channel may be selected according to a general process of selecting the tone generation channel to be assigned. In this case, the effect-added channel may be selected as follows. First, an effect addition channel that is not connected to the tone generation channel or an effect addition channel in which the sound generation of the connected tone generation channel is completed is selected. If there is no such effect-added channel, the effect-added channel is selected by the method of the embodiment. Instead of the effect addition channel for which the addition of the effect has been completed, an effect addition channel whose sound generation amount is equal to or less than a predetermined value may be used. The tone generation channel may be similarly selected. First, a tone generation channel that has finished sounding may be selected, and if there is no such tone generation channel, a tone generation channel may be selected by the method of the embodiment or the like. Instead of the tone generation channel that has finished sounding, a tone generation channel whose sound generation amount is a predetermined value or less may be used.

【0156】また、本実施例では鍵盤部を有しない電子
楽器について説明したが、鍵盤部を付した電子鍵盤楽
器、あるいは自動リズムなどにも本発明を適用できるこ
とは言うまでもない。
Further, although an electronic musical instrument having no keyboard portion has been described in this embodiment, it is needless to say that the present invention can be applied to an electronic keyboard musical instrument having a keyboard portion or an automatic rhythm.

【0157】[0157]

【発明の効果】以上に説明したように、本発明によれ
ば、楽音発生チャネルと効果付加チャネルを合理的に選
定することができる。例えば接続中の楽音発生チャネル
と効果付加チャネルのうち効果付加チャネルのほうだけ
が先に選定されることでその楽音が突然停止されてしま
ったり、効果付加の大きい有用な楽音が先に停止されて
しまったりすることによる演奏表現上の不自然さを軽減
できる。
As described above, according to the present invention, the tone generation channel and the effect addition channel can be rationally selected. For example, if only the effect-adding channel of the connected tone generation channel and effect-adding channel is selected first, that tone may suddenly be stopped, or useful tones with large effect addition may be stopped first. It is possible to reduce unnaturalness in expression of performance due to being lost.

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

【図1】本発明の一実施例としてのアサイナが適用され
る電子楽器の全体構成図である。
FIG. 1 is an overall configuration diagram of an electronic musical instrument to which an assigner as an embodiment of the present invention is applied.

【図2】MIDIチャネルマップを示す図である。FIG. 2 is a diagram showing a MIDI channel map.

【図3】パートマップを示す図である。FIG. 3 is a diagram showing a part map.

【図4】エンベロープ管理マップを示す図である。FIG. 4 is a diagram showing an envelope management map.

【図5】効果付加チャネル管理マップを示す図である。FIG. 5 is a diagram showing an effect-added channel management map.

【図6】タスク管理マップを示す図である。FIG. 6 is a diagram showing a task management map.

【図7】楽音発生チャネル管理マップを示す図である。FIG. 7 is a diagram showing a tone generation channel management map.

【図8】リセットルーチンを示す流れ図である。FIG. 8 is a flowchart showing a reset routine.

【図9】イベント待ちモニタコールルーチンを示す流れ
図である。
FIG. 9 is a flowchart showing an event wait monitor call routine.

【図10】イベント発生モニタコールルーチンを示す流
れ図である。
FIG. 10 is a flowchart showing an event occurrence monitor call routine.

【図11】タイマ割込み処理ルーチンを示す流れ図であ
る。
FIG. 11 is a flowchart showing a timer interrupt processing routine.

【図12】キーデータ受信割込み処理ルーチンを示す流
れ図である。
FIG. 12 is a flowchart showing a key data reception interrupt processing routine.

【図13】キーデータ受信タスクを示す流れ図である。FIG. 13 is a flowchart showing a key data reception task.

【図14】メインアサイナタスクを示す流れ図である。FIG. 14 is a flowchart showing a main assigner task.

【図15】発音タスク(1/2)を示す流れ図である。FIG. 15 is a flowchart showing a pronunciation task (1/2).

【図16】発音タスク(2/2)を示す流れ図である。FIG. 16 is a flowchart showing a pronunciation task (2/2).

【図17】プリアサイナタスクを示す流れ図である。FIG. 17 is a flowchart showing a pre-assigner task.

【図18】プリアサイン順位設定ルーチン(1/3)を
示す流れ図である。
FIG. 18 is a flowchart showing a pre-assign order setting routine (1/3).

【図19】プリアサイン順位設定ルーチン(2/3)を
示す流れ図である。
FIG. 19 is a flowchart showing a pre-assign order setting routine (2/3).

【図20】プリアサイン順位設定ルーチン(3/3)を
示す流れ図である。
FIG. 20 is a flowchart showing a preassign order setting routine (3/3).

【図21】エンベロープタスク(1/2)を示す流れ図
である。
FIG. 21 is a flowchart showing the envelope task (1/2).

【図22】エンベロープタスク(2/2)を示す流れ図
である。
FIG. 22 is a flowchart showing an envelope task (2/2).

【図23】減衰音系の発音量の算出ルーチンを示す流れ
図である。
FIG. 23 is a flow chart showing a calculation routine of a sound generation amount of the attenuated sound system.

【図24】持続音系の発音量の算出ルーチンを示す流れ
図である。
FIG. 24 is a flowchart showing a routine for calculating a sound volume of a continuous sound system.

【図25】効果付加チャネル管理マップの更新ルーチン
を示す流れ図である。
FIG. 25 is a flowchart showing an effect addition channel management map updating routine.

【符号の説明】 20 MIDI回路 21 バス 22 CPU(中央処理装置) 23 ROM(読出し専用メモリ) 24 RAM(ランダムアクセスメモリ) 25 タイマ 26 楽音発生回路 27 増幅器 28 スピーカ[Explanation of Codes] 20 MIDI Circuit 21 Bus 22 CPU (Central Processing Unit) 23 ROM (Read Only Memory) 24 RAM (Random Access Memory) 25 Timer 26 Musical Sound Generation Circuit 27 Amplifier 28 Speaker

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 入力される楽音情報に基づき楽音信号を
発生する複数の楽音発生チャネルと、該楽音発生チャネ
ルから出力される楽音信号に効果を付加する複数の効果
付加チャネルと、選定された楽音発生チャネルと効果付
加チャネルとを接続する楽音信号交換装置とを具備した
電子楽器に用いられて入力楽音情報に割り当てる楽音発
生チャネルと効果付加チャネルの選定を行うアサイナで
あって、 該楽音発生チャネルの状態に基づいて楽音発生チャネル
選定のための評価量を各楽音発生チャネルについて演算
する楽音発生チャネル評価手段と、 該楽音発生チャネル評価手段で演算された各楽音発生チ
ャネルの評価量に基づいて楽音発生チャネルの選定を行
う楽音発生チャネル選定手段と、 該効果付加チャネルの状態に基づいて効果付加チャネル
選定のための評価量を各効果付加チャネルについて演算
する効果付加チャネル評価手段と、 該効果付加チャネル評価手段で演算された各効果付加チ
ャネルの評価量に基づいて効果付加チャネルの選定を行
う効果付加チャネル選定手段とを具備した電子楽器のア
サイナ。
1. A plurality of tone generation channels for generating a tone signal based on inputted tone information, a plurality of effect addition channels for adding an effect to a tone signal output from the tone generation channel, and a selected tone. An assigner for use in an electronic musical instrument equipped with a tone signal exchanging device for connecting a tone generation channel and an effect addition channel, the assigner selecting a tone generation channel and an effect addition channel to be assigned to input tone information, comprising: A tone generation channel evaluation means for calculating an evaluation amount for selecting a tone generation channel for each tone generation channel based on the state, and a tone generation based on the evaluation amount of each tone generation channel calculated by the tone generation channel evaluation means. A tone generation channel selection means for selecting a channel, and an effect addition channel based on the state of the effect addition channel. Effect addition channel evaluation means for calculating an evaluation amount for each effect addition channel, and an effect of selecting an effect addition channel based on the evaluation amount of each effect addition channel calculated by the effect addition channel evaluation means An electronic musical instrument assigner equipped with additional channel selection means.
【請求項2】 該効果付加チャネル選定手段は、選定対
象の効果付加チャネルが既に楽音発生チャネルに接続さ
れた状態のものである時には、その接続された楽音発生
チャネルが選定されるまでその効果付加チャネルを選定
しないようにした請求項1記載の電子楽器のアサイナ。
2. The effect-added channel selecting means, when the effect-added channel to be selected is already connected to the tone generation channel, adds the effect until the connected tone generation channel is selected. The electronic musical instrument assigner according to claim 1, wherein no channel is selected.
【請求項3】 該楽音発生チャネル評価手段は、楽音発
生チャネルに効果付加チャネルが接続されている時には
その効果付加チャネルで付加する効果に対応した補正を
行って評価量を演算するようにした請求項1または2記
載の電子楽器アサイナ。
3. The tone generation channel evaluation means calculates the evaluation amount by performing correction corresponding to the effect added by the effect addition channel when the effect addition channel is connected to the tone generation channel. The electronic musical instrument assigner according to Item 1 or 2.
JP4108919A 1991-09-12 1992-04-01 Assigner for electronic musical instrument Pending JPH05150784A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4108919A JPH05150784A (en) 1991-09-12 1992-04-01 Assigner for electronic musical instrument

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-261015 1991-09-12
JP26101591 1991-09-12
JP4108919A JPH05150784A (en) 1991-09-12 1992-04-01 Assigner for electronic musical instrument

Publications (1)

Publication Number Publication Date
JPH05150784A true JPH05150784A (en) 1993-06-18

Family

ID=26448743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4108919A Pending JPH05150784A (en) 1991-09-12 1992-04-01 Assigner for electronic musical instrument

Country Status (1)

Country Link
JP (1) JPH05150784A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008233236A (en) * 2007-03-16 2008-10-02 Casio Comput Co Ltd Sound effect assignment control device and sound effect assignment control program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008233236A (en) * 2007-03-16 2008-10-02 Casio Comput Co Ltd Sound effect assignment control device and sound effect assignment control program

Similar Documents

Publication Publication Date Title
JP2002311957A (en) Resonator, resonance method, and computer program for resonance processing
JP2500489B2 (en) Electronic musical instrument
JP3694172B2 (en) Reverberation resonance apparatus and reverberation resonance method
JPH05150784A (en) Assigner for electronic musical instrument
JP2525853B2 (en) Continuous hit processing device for electronic musical instruments
JP3117482B2 (en) Electronic musical instrument assigner
US5280129A (en) Assigning device which assigns new musical tones to tone-generating channels based upon a successive strike relation among the channels
JP4258991B2 (en) Musical sound generator and musical sound generation processing program
JPH05158477A (en) Electronic musical instrument assigner
JPH05150783A (en) Assigner for electronic musical instrument
JPH0619474A (en) Assignor of electronic musical instrument
JPH05134668A (en) Multitainba electronic musical instrument assigner
JP3235160B2 (en) Music control device
JPH056181A (en) Continuous hit processing device for electronic musical instruments
JPH04218098A (en) Assigner of multitimbre electronic musical instrument
JPH0535271A (en) Electronic musical instrument assigner
JP3646611B2 (en) Music generator
JP2715795B2 (en) Musical sound synthesizer having pronunciation assigning means
JPH052392A (en) Electronic musical instrument allocation device
JPH10198369A (en) Electronic musical instrument
JP3508564B2 (en) Sound source device
JP3048526B2 (en) Electronic musical instrument
JP4329276B2 (en) Musical sound generator and musical sound generation processing program
JP3067145B2 (en) Envelope generation control device, sound emission form control device, envelope generation control method, and sound emission form control method
JP2909985B2 (en) Electronic musical instrument