JP2002297138A - Musical sound generating device and program for musical sound generation and processing - Google Patents

Musical sound generating device and program for musical sound generation and processing

Info

Publication number
JP2002297138A
JP2002297138A JP2001103011A JP2001103011A JP2002297138A JP 2002297138 A JP2002297138 A JP 2002297138A JP 2001103011 A JP2001103011 A JP 2001103011A JP 2001103011 A JP2001103011 A JP 2001103011A JP 2002297138 A JP2002297138 A JP 2002297138A
Authority
JP
Japan
Prior art keywords
sounding
priority
event
tone
channel
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.)
Granted
Application number
JP2001103011A
Other languages
Japanese (ja)
Other versions
JP4258991B2 (en
Inventor
Hirotake Sato
博毅 佐藤
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2001103011A priority Critical patent/JP4258991B2/en
Publication of JP2002297138A publication Critical patent/JP2002297138A/en
Application granted granted Critical
Publication of JP4258991B2 publication Critical patent/JP4258991B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To give no musically unnatural influence even when assignment processing for securing a sound generation channel is performed by forcibly muting a musical sound signal in sound generation. SOLUTION: When eight sound generation channels of a sound source LSI 8 are all in sound generation and MIDI data of a new sound generation event are inputted through a MIDI interface 7, a CPU 1 calculates the priority of the sound generation event according to the kind of control data giving musical effect and the respective sound generation parts and assigns the new sound generation event by forcibly muting the sound generation event of a sound generation channel when the priority of the new sound generation event is higher than the lowest priority of the sound generation event in the sound generation.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、楽音発生装置及び
楽音発生処理のプログラムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical sound generating device and a musical sound generating program.

【0002】[0002]

【従来の技術】近年の電子楽器等の楽音発生装置におい
ては、複数の発音イベントを同時に発音して豊かな楽音
を提供できる構成になっている。そのために、音源等の
発音手段は所定数の発音チャンネル(「ボイス」ともい
う)を備え、アサイナ等によって、各発音チャンネルに
発音イベントを割り当てる処理を行っている。MIDI
データの入力や演奏等により発音イベントが発生したと
きに、所定数の発音チャンネルがすべて発音中である場
合には、その中の1つの発音イベントをファーストダン
プして強制的に消音させて発音チャンネルを確保するア
サイン処理(「トランケート処理」ともいう)、すなわ
ち後着優先のアサイン処理を行うのが一般的である。こ
のアサイン処理では、何らかの条件で消音する発音チャ
ンネルを選択する必要がある。従来においては、次の3
つの選択方法が採られていた。第1の方法は、発音して
いる楽音信号のエンベロープの段階が最も進んでいるも
のを選択する。第2の方法は、楽音信号のエンベロープ
のレベルが最も低いものを選択する。第3の方法は、受
信したMIDIデータ又は演奏例えば押鍵が最も古いも
のを選択する。
2. Description of the Related Art In recent years, musical tone generating apparatuses such as electronic musical instruments have a configuration in which a plurality of tone generating events can be simultaneously generated to provide rich musical tones. For this purpose, a sounding means such as a sound source has a predetermined number of sounding channels (also referred to as "voices"), and assigns sounding events to each sounding channel by an assigner or the like. MIDI
When a sound generation event occurs due to data input, performance, or the like, if a predetermined number of sound channels are all sounding, one of the sound events is first dumped to forcibly mute the sound, and the sound channel is forcibly muted. (Also referred to as a “truncation process”), that is, an assignment process that gives priority to late arrival. In this assignment process, it is necessary to select a sound generation channel to be muted under some conditions. Conventionally, the following 3
There were two selection methods. The first method is to select the tone signal having the most advanced envelope of the tone signal being emitted. The second method selects the tone signal having the lowest envelope level. A third method is to select the MIDI data or performance that has been received, for example, the oldest key.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、上記従
来の技術においては、消音する発音チャンネルの選択方
法が音楽的な要素を考慮していないために、強制的な消
音の結果によっては発生する音に不自然な影響を与える
という課題があった。例えば、同じ音源手段でメロディ
パートのような主旋律の発音パート及びリズムパートや
コードパート等の伴奏の発音パートが同時に発音してい
る場合に、従来の選択方法で主旋律の発音パートを消音
することは音楽的に好ましくない。あるいは、例えば、
鍵盤のアフタータッチを付加することによって、演奏者
が意図的に音色を変化させる演奏を行った場合に、その
発音イベントを消音することは演奏者の意図を無視する
ことになり音楽的に好ましくない。本発明の課題は、発
音中の発音イベントを強制的に消音させて発音チャンネ
ルを確保するアサイン処理を行っても、音楽的に不自然
な影響を与えないようにすることである。
However, in the above-mentioned prior art, since the method of selecting the sounding channel to be silenced does not take into account musical elements, the sound generated depending on the result of the forced silence is reduced. There was a problem of having an unnatural effect. For example, if the sound source of the main melody such as the melody part and the sound part of the accompaniment such as the rhythm part and chord part are sounding simultaneously by the same sound source means, it is impossible to mute the sound part of the main melody by the conventional selection method Not musically desirable. Or, for example,
If the performer intentionally changes the timbre by adding aftertouch to the keyboard, silencing the sounding event will ignore the performer's intention and is not musically desirable. . It is an object of the present invention to prevent musically unnatural effects even when an assignment process for securing a sounding channel by forcibly silencing a sounding event during sounding is performed.

【0004】[0004]

【課題を解決するための手段】請求項1に記載の楽音発
生装置は、所定数の発音チャンネルによって複数の発音
パートを分担する発音手段(実施形態においては、図1
の音源LSI8に対応する)の各発音チャンネルに割り
当てられる発音イベントに対して音楽的効果を付加する
制御データの種別及び各発音パートに応じて優先度係数
を設定する設定手段(実施形態においては、図1のCP
U1に対応する)と、所定数の発音チャンネルのすべて
が発音状態である場合に新たな発音イベントが発生した
ときは各発音チャンネルにおいて発音中の発音イベント
及び新たな発音イベントに対する優先度を優先度係数に
基づいて算出する演算手段(実施形態においては、図1
のCPU1に対応する)と、この演算手段によって算出
された各発音チャンネルの優先度のうち最も低い優先度
が前記新たな発音イベントの優先度より低いか否かを判
定する判定手段(実施形態においては、図1のCPU1
に対応する)と、この判定手段によって最も低い優先度
が新たな発音イベントの優先度より低いと判定された場
合に最も低い優先度の発音イベントを強制的に消音させ
てその発音チャンネルに新たな発音イベントを割り当て
る割当手段(実施形態においては、図1のCPU1に対
応する)とを備えた構成になっている。
According to a first aspect of the present invention, there is provided a musical sound generating apparatus for generating a plurality of sounding parts by a predetermined number of sounding channels.
Setting means (in this embodiment, a priority coefficient is set according to the type of control data for adding a musical effect to the sounding event assigned to each sounding channel of the sound source LSI 8 and the sounding part). CP in FIG.
U1), and when a new sounding event occurs when all of the predetermined number of sounding channels are sounding, the priority for the sounding event being sounded and the new sounding event in each sounding channel is set to the priority. Calculation means for calculating based on the coefficient (in the embodiment, FIG.
And a determining unit (in the embodiment) for determining whether the lowest priority among the priorities of the respective sound channels calculated by the calculating unit is lower than the priority of the new sound event. Is the CPU 1 in FIG.
), When the determination unit determines that the lowest priority is lower than the priority of the new sounding event, the sounding event of the lowest priority is forcibly muted and a new sounding channel is assigned to the sounding channel. An assignment unit (corresponding to the CPU 1 in FIG. 1 in the embodiment) for assigning a sounding event is provided.

【0005】請求項7に記載の楽音発生処理のプログラ
ムは、楽音発生装置のコンピュータ(実施形態において
は、図1のCPU1に対応する)によって実行される楽
音発生処理のプログラムであって、所定数の発音チャン
ネルによって複数の発音パートを分担する発音手段の各
発音チャンネルに割り当てられる発音イベントに対して
音楽的効果を付加する制御データの種別及び各発音パー
トに応じて優先度係数を設定するステップと、所定数の
発音チャンネルのすべてが発音状態である場合に新たな
発音イベントが発生したときは各発音チャンネルにおい
て発音中の発音イベントに対する優先度を優先度係数に
基づいて算出するステップと、この算出するステップに
よって算出された各発音チャンネルの優先度のうち最も
低い優先度が新たな発音イベントの優先度より低いか否
かを判定するステップと、この判定するステップによっ
て最も低い優先度が新たな発音イベントの優先度より低
いと判定された場合に最も低い優先度の発音イベントを
強制的に消音させてその発音チャンネルに前記新たな発
音イベントを割り当てるステップとを有する構成になっ
ている。
According to a seventh aspect of the present invention, there is provided a musical tone generating program executed by a computer of the musical tone generating apparatus (corresponding to the CPU 1 in FIG. 1 in the embodiment). Setting a priority coefficient in accordance with the type of control data for adding a musical effect to a sound event assigned to each sound channel of the sound means of the sound means for sharing a plurality of sound parts by the sound channels of each sound part and each sound part. Calculating a priority of a sounding event being sounded in each sounding channel based on a priority coefficient when a new sounding event occurs when all of the predetermined number of sounding channels are sounding; The lowest priority among the priorities of each sounding channel calculated by the A step of determining whether or not the priority is lower than the priority of the sounding event, and forcing the lowest priority sounding event when the determining step determines that the lowest priority is lower than the priority of the new sounding event. And silencing the sound, and assigning the new sounding event to the sounding channel.

【0006】請求項1又は請求項7に記載の発明によれ
ば、所定数の発音チャンネルによって複数の発音パート
を分担する場合に、各発音チャンネルに割り当てられる
発音イベントに対して音楽的効果を付加する制御データ
の種別及び各発音パートに応じて優先度を算出し、発音
チャンネルのすべてが発音状態である場合に新たな発音
イベントが発生したときは、その新たな発音イベントの
優先度が発音中の発音イベントのうち最も低い優先度よ
り高い場合に、その発音チャンネルの発音イベントを強
制的に消音して新たな発音イベントを割り当てる。
According to the first or seventh aspect of the invention, when a plurality of sounding parts are shared by a predetermined number of sounding channels, a musical effect is added to a sounding event assigned to each sounding channel. The priority is calculated according to the type of control data to be performed and each sounding part, and when a new sounding event occurs when all sounding channels are sounding, the priority of the new sounding event is sounding. If the sounding event of the sounding channel is higher than the lowest priority, the sounding event of the sounding channel is forcibly muted and a new sounding event is assigned.

【0007】請求項5に記載の楽音発生装置は、所定数
の発音チャンネルを有する発音手段(実施形態において
は、図1の音源LSI8に対応する)の各発音チャンネ
ルに割り当てられる発音イベントに対して音色変化を与
える制御データの種別に応じて優先度係数を設定する設
定手段(実施形態においては、図1のCPU1に対応す
る)と、所定数の発音チャンネルのすべてが発音状態で
ある場合に新たな発音イベントが発生したときは各発音
チャンネルにおいて発音中の発音イベントに対する優先
度を優先度係数に基づいて算出する演算手段(実施形態
においては、図1のCPU1に対応する)と、この演算
手段によって算出された各発音チャンネルの優先度のう
ち最も低い優先度が新たな発音イベントの優先度より低
いか否かを判定する判定手段(実施形態においては、図
1のCPU1に対応する)と、この判定手段によって最
も低い優先度が新たな発音イベントの優先度より低いと
判定された場合に最も低い優先度の発音イベントを強制
的に消音させてその発音チャンネルに新たな発音イベン
トを割り当てる割当手段(実施形態においては、図1の
CPU1に対応する)とを構成になっている。
According to a fifth aspect of the present invention, there is provided a musical sound generating apparatus for generating a sounding event assigned to each sounding channel of sounding means having a predetermined number of sounding channels (corresponding to the tone generator LSI in FIG. 1 in the embodiment). A setting means (corresponding to the CPU 1 in FIG. 1 in the embodiment) for setting the priority coefficient in accordance with the type of control data for giving a tone change, and a new setting when all of a predetermined number of sounding channels are sounding. Calculating means for calculating a priority for a sounding event being sounded in each sounding channel based on a priority coefficient when the sounding event occurs (corresponding to the CPU 1 in FIG. 1 in the embodiment); It is determined whether the lowest priority among the priorities of the respective sound channels calculated by the above is lower than the priority of the new sound event. The determining means (corresponding to the CPU 1 in FIG. 1 in the embodiment) and the sounding event having the lowest priority when the lowest priority is determined to be lower than the priority of the new sounding event. An assigning means (corresponding to the CPU 1 in FIG. 1 in the embodiment) for forcibly silencing the sound and assigning a new sounding event to the sounding channel is configured.

【0008】請求項11に記載の楽音発生処理のプログ
ラムは、楽音発生装置のコンピュータ(実施形態におい
ては、図1のCPU1に対応する)によって実行される
楽音発生処理のプログラムであって、所定数の発音チャ
ンネルを有する発音手段の各発音チャンネルに割り当て
られる発音イベントに対して音色変化を与える制御デー
タの種別に応じて優先度係数を設定するステップと、所
定数の発音チャンネルのすべてが発音状態である場合に
新たに発音すべき発音イベントが発生したときは各発音
チャンネルにおいて発音中の発音イベントに対する優先
度を優先度係数に基づいて算出するステップと、この算
出するステップによって算出された各発音チャンネルの
優先度のうち最も低い優先度が新たな発音イベントの優
先度より低いか否かを判定するステップと、この判定す
るステップによって最も低い優先度が新たな発音イベン
トの優先度より低いと判定された場合に最も低い優先度
の発音イベントを強制的に消音させてその発音チャンネ
ルに新たな発音イベントを割り当てるステップとを有す
る構成になっている。
[0010] The program for the tone generation processing according to claim 11 is a program for the tone generation processing executed by a computer (corresponding to the CPU 1 in FIG. 1 in the embodiment) of the tone generator, and Setting a priority coefficient in accordance with a type of control data for giving a timbre change to a sounding event assigned to each sounding channel of a sounding means having a sounding channel of Calculating a priority for a sounding event being sounded in each sounding channel based on a priority coefficient when a sounding event to be newly sounded occurs, and each sounding channel calculated by the calculating step Whether the lowest priority among the priorities of the new is lower than the priority of the new sound event And if the lowest priority is determined to be lower than the priority of the new sounding event by this determining step, the sounding event of the lowest priority is forcibly muted and a new sounding channel is assigned to the sounding channel. Assigning a proper sounding event.

【0009】請求項5又は請求項11に記載の発明によ
れば、所定数の発音チャンネルを有する発音手段の各発
音チャンネルに発音イベントを割り当てる場合に、各発
音チャンネルに割り当てられる発音イベントに対して音
色変化を与える制御データの種別に応じて優先度を算出
し、発音チャンネルのすべてが発音状態である場合に新
たな発音イベントが発生したときは、その新たな発音イ
ベントの優先度が発音中の発音イベントのうち最も低い
優先度より高い場合に、その発音チャンネルの発音イベ
ントを強制的に消音して新たな発音イベントを割り当て
る。
According to the fifth or eleventh aspect of the present invention, when sounding events are assigned to each sounding channel of the sounding means having a predetermined number of sounding channels, the sounding event assigned to each sounding channel is The priority is calculated according to the type of control data that gives a tone change, and when a new sound event occurs when all sound channels are sounding, the priority of the new sound event is set to When the priority is higher than the lowest priority among the sounding events, the sounding event of the sounding channel is forcibly muted and a new sounding event is assigned.

【0010】[0010]

【発明の実施の形態】以下、本発明による実施形態につ
いて、図を参照して説明する。図1は、本発明による楽
音発生装置の実施形態の構成を示すブロック図である。
図において、CPU1はシステムバス2を介してROM
3、RAM4、鍵盤5、スイッチ部6、MIDI I/
F(インターフェース)7に接続されている。CPU1
はワークエリアとしてのRAM4上でROM3に格納さ
れた楽音発生処理のプログラムを実行するコンピュータ
を構成している。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment according to the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration of an embodiment of a tone generator according to the present invention.
In the figure, a CPU 1 has a ROM via a system bus 2.
3, RAM 4, keyboard 5, switch 6, MIDI I /
It is connected to an F (interface) 7. CPU1
Constitutes a computer that executes a musical tone generation program stored in the ROM 3 on the RAM 4 as a work area.

【0011】鍵盤5は、演奏によって発音イベントであ
る楽音データを入力する。スイッチ部6は、音色を設定
するスイッチ、鍵盤演奏や自動演奏等の演奏モードを設
定するスイッチ、ピッチベンドやビブラート等の音楽的
な効果を付加するスイッチ等で構成される。MIDI
I/F7は、外部のMIDI機器とこの電子楽器との間
で発音イベント等からなるMIDIデータの授受を行
う。CPU1はまた音源LSI8に接続され、鍵盤5及
びMIDI I/F7からの発音イベントの音高データ
や制御データを音源LSI8に出力する。
The keyboard 5 inputs musical sound data, which is a sounding event in response to a performance. The switch unit 6 includes switches for setting tone colors, switches for setting performance modes such as keyboard performance and automatic performance, and switches for adding musical effects such as pitch bend and vibrato. MIDI
The I / F 7 exchanges MIDI data, such as sounding events, between an external MIDI device and the electronic musical instrument. The CPU 1 is also connected to the tone generator LSI 8 and outputs pitch data and control data of tone generation events from the keyboard 5 and the MIDI I / F 7 to the tone generator LSI 8.

【0012】音源LSI8は、CH0〜CH7からなる
8個の発音チャンネル(以下、単にチャンネルという)
を備え、8個の発音イベントに対応する楽音を同時に発
生することができる。また、音源LSI8には、8個の
チャンネルからの楽音信号を例えば2チャンネルのステ
レオ楽音信号に合成する合成器を備えている。そして、
音源LSI8から出力された合成楽音信号はA/D9に
よってアナログ信号に変換され、出力回路10において
フィルタ処理や増幅処理がなされて、外部のスピーカか
ら発音される。
The sound source LSI 8 has eight sounding channels (hereinafter simply referred to as channels) consisting of CH0 to CH7.
And it is possible to simultaneously generate musical tones corresponding to eight sounding events. The tone generator LSI 8 includes a synthesizer that synthesizes tone signals from eight channels into, for example, two-channel stereo tone signals. And
The synthesized tone signal output from the sound source LSI 8 is converted into an analog signal by the A / D 9, subjected to a filtering process and an amplification process in the output circuit 10, and is output from an external speaker.

【0013】図2はRAM4のエリアの一部を示し、音
色パラメータ、機器トータルパラメータ、発音パートパ
ラメータ、チャンネル優先度のエリアがある。また、図
には示さないが、RAM4には各種のレジスタが設けら
れており、CPU1によって実行される楽音発生処理に
おける各種のデータを一時的に記憶する。音色パラメー
タのエリアには、図3に示すように、各音色ごとにファ
クタ(効果音付加要素)の種別に応じた変数名に対応し
て優先度の重み、すなわち優先度係数のデータが記憶さ
れる。同じファクタであっても音色ごとに優先度の重み
は異なっている。
FIG. 2 shows a part of the area of the RAM 4, which includes areas for timbre parameters, device total parameters, sounding part parameters, and channel priorities. Although not shown in the figure, the RAM 4 is provided with various registers, and temporarily stores various data in the tone generation processing executed by the CPU 1. As shown in FIG. 3, in the area of the timbre parameters, priority weights, that is, data of the precedence coefficients are stored for each timbre in correspondence with the variable name corresponding to the type of the factor (sound effect added element). You. Even with the same factor, the weight of the priority differs for each timbre.

【0014】ファクタの種別には、音高を連続的に上下
させるピッチベンド、音を震わせるビブラート、現在の
音高から次の音高になめらかに移行させるポルタメン
ト、鍵盤のアフタータッチの操作によりMIDIチャン
ネルごとの音色及び音量を変化するモノプレッシャ並び
に発音チャンネル(ボイス)ごとの音色及び音量を変化
するポリプレッシャ、音の強さであるベロシティ、ベロ
シティの感度を表すタッチセンスがある。
Factor types include pitch bend that continuously raises and lowers the pitch, vibrato that vibrates the sound, portamento that smoothly transitions from the current pitch to the next pitch, and MIDI touch by keyboard aftertouch operations. There is a mono-pressure for changing the tone color and volume, a poly-pressure for changing the tone color and volume for each sounding channel (voice), a velocity which is a sound intensity, and a touch sense indicating the sensitivity of the velocity.

【0015】機器トータルパラメータのエリアには、図
4に示すように、機器すなわち図1の楽音発生装置の機
能におけるファクタの種別に応じた変数名に対応して優
先度の重みのデータが記憶される。発音パートパラメー
タのエリアには、図5に示すように、MIDIチャンネ
ルごとに指定された各発音パートに対してファクタの種
別に応じた変数名に対応して優先度の重みのデータが記
憶される。なお、各パートごとに音色が指定される。
As shown in FIG. 4, priority weight data is stored in the area of the equipment total parameter corresponding to the variable name corresponding to the type of the factor in the function of the equipment, ie, the tone generator of FIG. You. As shown in FIG. 5, in the area of the pronunciation part parameters, priority weight data is stored for each pronunciation part specified for each MIDI channel in correspondence with a variable name corresponding to the type of factor. . Note that a tone color is specified for each part.

【0016】チャンネル優先度のエリアには、図6に示
すように、チャンネル番号にアサインされている音色番
号に対応して優先度のデータが記憶される。図に示すよ
うに、この場合はパート0及びパート1の2つのパート
が8チャンネルに各4チャンネルずつアサインされてい
る。優先度は後述する演算処理によって算出される。
As shown in FIG. 6, priority data is stored in the channel priority area in correspondence with the tone color number assigned to the channel number. As shown in the figure, in this case, two parts, part 0 and part 1, are assigned to eight channels, four channels each. The priority is calculated by a calculation process described later.

【0017】次に図1の楽音発生装置における楽音発生
処理について説明する。図1は、CPU1の楽音発生処
理の動作を示すメインフローチャートである。まず、所
定のイニシャライズ(ステップA1)の後、スイッチ処理
(ステップA2)、鍵盤処理(ステップA3)、MIDI処
理(ステップA4)、アサイン処理(ステップA5)、発音
処理(ステップA6)、その他の処理(ステップA7)を繰
り返し実行する。なお、ステップA5のアサイン処理と
ステップA6の発音処理は、CPU1及び音源LSI8
による連続した協働作用であるが、説明の便宜上、2つ
の処理として区別している。
Next, the tone generation processing in the tone generator of FIG. 1 will be described. FIG. 1 is a main flowchart showing the operation of the tone generation process of the CPU 1. First, after a predetermined initialization (step A1), a switch process is performed.
(Step A2), keyboard processing (Step A3), MIDI processing (Step A4), assignment processing (Step A5), sound generation processing (Step A6), and other processing (Step A7) are repeatedly executed. The assignment processing in step A5 and the sound generation processing in step A6 are performed by the CPU 1 and the sound source LSI 8
, But are distinguished as two processes for convenience of explanation.

【0018】図8は、図7におけるステップA2のスイ
ッチ処理のフローである。スイッチ部のモードスイッチ
を検索して(ステップB1)、現在のモードが自動演奏モ
ードであるか否かを判別する(ステップB2)。自動演
奏モードである場合には、MIDI I/F7を介して
入力されるMIDIデータの入力設定を行う(ステップ
B3)。自動演奏モードでなく、マニュアル演奏モード
である場合には、鍵盤5の操作によって入力される演奏
データの入力設定を行う(ステップB4)。ステップB
3又はB4の設定の後は、他のスイッチ検索処理を行い
(ステップB5)、図7のメインフローに戻る。
FIG. 8 is a flowchart of the switching process in step A2 in FIG. The mode switch of the switch section is searched (step B1) to determine whether or not the current mode is the automatic performance mode (step B2). If the automatic performance mode is set, the input setting of MIDI data input via the MIDI I / F 7 is performed (step B3). When the mode is not the automatic performance mode but the manual performance mode, the input setting of the performance data input by operating the keyboard 5 is performed (step B4). Step B
After setting 3 or B4, another switch search process is performed (step B5), and the process returns to the main flow in FIG.

【0019】図9は、メインフローにおけるステップA
4のMIDI処理のフローである。MIDIイベントを
受信したか否かを判別し(ステップC1)、受信しない
場合にはこのフローを終了するが、受信したときはパー
ト番号にMIDIチャンネルが合致するか否かを判別す
る(ステップC2)。合致しない場合にはこのフローを
終了するが、合致したときはMIDIデータの合致した
パート番号をレジスタpにセットする(ステップC
3)。
FIG. 9 shows step A in the main flow.
4 is a flowchart of the MIDI processing of FIG. It is determined whether or not a MIDI event has been received (step C1). If no MIDI event has been received, this flow ends. If it has been received, it is determined whether or not the MIDI channel matches the part number (step C2). . If they do not match, this flow ends. If they match, the matching part number of the MIDI data is set in the register p (step C).
3).

【0020】次に、受信したMIDIイベント(発音イ
ベント)に効果音を付加する制御データが含まれている
か否かを判別して、含まれている場合には、受信した制
御データをパート番号[p]に対応するRAMのエリア
に格納する。すなわち、ピッチベンドを受信したか否か
を判別し(ステップC4)、受信したときはP PB
[p]に受信値を格納する(ステップC5)。ビブラー
トを受信したか否かを判別し(ステップC6)、受信し
たときはP VB[p]に受信値を格納する(ステップ
C7)。モノプレッシャを受信したか否かを判別し(ス
テップC8)、受信したときはP MP[p]に受信値
を格納する(ステップC9)。ポルタメントを受信した
か否かを判別し(ステップC10)、受信したときはP
PM[p]に受信値を格納する(ステップC11)。
タッチセンスの変更を受信したか否かを判別し(ステッ
プC12)、受信したときはP TS[p]に受信値を
格納する(ステップC13)。そして、格納した制御デ
ータの値に基づいて優先度の再計算を実行する(ステッ
プC14)。
Next, it is determined whether or not control data for adding a sound effect is included in the received MIDI event (sound generation event). If the control data is included, the received control data is converted to a part number [ p] in the area of the RAM. That is, it is determined whether or not pitch bend has been received (step C4). PB
The received value is stored in [p] (step C5). It is determined whether or not vibrato has been received (step C6). The received value is stored in VB [p] (step C7). It is determined whether or not a monopressure has been received (step C8). The received value is stored in MP [p] (step C9). It is determined whether or not portamento has been received (step C10).
The received value is stored in PM [p] (step C11).
It is determined whether or not a change in touch sense has been received (step C12). The received value is stored in TS [p] (step C13). Then, the priority is recalculated based on the value of the stored control data (step C14).

【0021】図10は、この優先度再計算のフローであ
る。ピッチベンドの優先度の値を下記の数式1により計
算し、レジスタPBに格納する(ステップD1)。ビブ
ラートの優先度の値を数式2により計算し、レジスタV
Bに格納する(ステップD2)。ポルタメントの優先度
の値を数式3により計算し、レジスタPMに格納する
(ステップD3)。モノプレッシャの優先度の値を数式
4により計算し、レジスタMPに格納する(ステップD
4)。受信したモノプレッシャの値に基づいて、ポリプ
レッシャの優先度の値を数式5により計算し、レジスタ
PPに格納する(ステップD5)。ベロシティの優先度
の値を数式6により計算し、レジスタVLに格納する
(ステップD6)。タッチセンスの優先度の値を数式7
により計算し、レジスタTSに格納する(ステップD
7)。
FIG. 10 is a flowchart of the priority recalculation. The value of the pitch bend priority is calculated by the following equation 1 and stored in the register PB (step D1). The vibrato priority value is calculated by Equation 2 and the
B (step D2). The priority value of the portamento is calculated by Expression 3 and stored in the register PM (Step D3). The value of the priority of the monopressure is calculated by Expression 4 and stored in the register MP (step D).
4). Based on the received monopressure value, the priority value of the polypressure is calculated by Expression 5 and stored in the register PP (step D5). The value of the velocity priority is calculated by Expression 6, and is stored in the register VL (step D6). The value of the priority of the touch sense is expressed by Expression 7
And store it in the register TS (step D
7).

【0022】[0022]

【数1】 (Equation 1)

【数2】 (Equation 2)

【数3】 [Equation 3]

【数4】 (Equation 4)

【数5】 (Equation 5)

【数6】 (Equation 6)

【数7】 (Equation 7)

【数8】 (Equation 8)

【0023】そして、各レジスタの優先度の値に基づい
て、下記の数式8により総合的なチャンネル優先度の平
均値を計算し、レジスタSSに格納する(ステップD
8)。SSに格納した優先度の値は、図6に示したRA
Mのエリアにおいて、各チャンネル番号(ボイス番号)
に対応する音色番号に対して、ベロシティ及びポリプレ
ッシャの値とともに、優先度の値が記憶される。この場
合は、音色数は音色0及び音色1の2種類である。
Then, based on the priority value of each register, an average value of the overall channel priority is calculated by the following equation 8 and stored in the register SS (step D).
8). The value of the priority stored in the SS is the RA shown in FIG.
In the area of M, each channel number (voice number)
Is stored for the tone color number corresponding to the priority value together with the velocity and polypressure values. In this case, there are two types of timbres, timbre 0 and timbre 1.

【数8】 (Equation 8)

【0024】図11はメインフローにおけるステップA
5のアサイン処理のフローである。まず、アサイン処理
変数の初期化を行う。すなわち、現在見つかっている最
も低い優先度をセットするレジスタPLに255(最大
値)をセットし、現在調査中のチャンネル番号をセット
するレジスタCCに0(チャンネル番号0)をセット
し、現在までに見つかっている最も低い優先度のチャン
ネル番号をセットするレジスタCLに0をセットする
(ステップE1)。
FIG. 11 shows step A in the main flow.
5 is a flow of an assignment process of No. 5. First, the assignment processing variables are initialized. That is, 255 (maximum value) is set in the register PL for setting the lowest priority currently found, and 0 (channel number 0) is set in the register CC for setting the channel number under investigation. Set 0 to the register CL that sets the lowest priority channel number found
(Step E1).

【0025】次に、現在調査中のチャンネルの優先度を
セットするレジスタPに現在のチャンネルの優先度をセ
ットする(ステップE2)。最初は、現在調査中のチャン
ネル番号CCの値は0である。次に、Pの値が0である
か否かを判別する(ステップE3)。すなわち、現在調査
中のチャンネルの優先度が0で、そのチャンネルが消音
状態であるか否かを判別する。この場合には、PLにP
の値すなわち0をセットし、CLにCCの値すなわち現
在調査中のチャンネル番号をセットする(ステップE
4)。
Next, the priority of the current channel is set in the register P for setting the priority of the channel under investigation (step E2). At first, the value of the channel number CC under investigation is 0. Next, it is determined whether or not the value of P is 0 (step E3). That is, it is determined whether the priority of the channel under investigation is 0 and the channel is in the mute state. In this case, P
, Ie, 0, and the value of CC, ie, the channel number under investigation, is set in CL (step E).
4).

【0026】ステップE3においてPの値が0でない場
合には、Pの値がPLの値より小さいか否かを判別する
(ステップE5)。すなわち、現在調査中のチャンネルの
優先度が現在見つかっている最も低い優先度よりも低い
か否かを判別する。Pの値がPLの値より小さい場合に
は、PLにPの値をセットし、CLにCCのチャンネル
番号をセットする(ステップE6)。すなわち、現在調査
中のチャンネルを現在見つかっている最も低い優先度の
チャンネル番号として入れ替える。
If the value of P is not 0 at step E3, it is determined whether or not the value of P is smaller than the value of PL.
(Step E5). That is, it is determined whether or not the priority of the currently investigated channel is lower than the lowest priority currently found. If the value of P is smaller than the value of PL, the value of P is set in PL and the channel number of CC is set in CL (step E6). That is, the currently investigated channel is replaced as the currently found lowest priority channel number.

【0027】この入れ替えの後、又はステップE5にお
いてPの値がPLの値以上である場合には、CCの値を
インクリメントして(ステップE7)、次のチャンネル番
号を指定する。そして、インクリメントしたCCの値が
8より小さいか否か、すなわち最大チャンネル番号7以
下か否かを判別する(ステップE8)。CCの値が8より
小さい場合には、次のチャンネル番号が存在するので、
ステップE2に移行して上記処理を繰り返す。
After this replacement, or if the value of P is equal to or greater than the value of PL in step E5, the value of CC is incremented (step E7), and the next channel number is designated. Then, it is determined whether or not the incremented CC value is smaller than 8, that is, whether or not it is equal to or less than the maximum channel number 7 (step E8). If the value of CC is smaller than 8, the next channel number exists,
The process proceeds to step E2 and the above process is repeated.

【0028】例えば、図6の例では、ステップE2にお
いてPにチャンネル番号0の音色0、優先度である50
をPにセットした後、ステップE3ではPの値が0でな
いのでステップE5に進む。ステップE5において、P
の値50はPLの値255よりも小さいのでステップE
6に進んで、PLに優先度50をセットし、CLにチャ
ンネル番号0をセットする。次に、ステップE7におい
て次のチャンネル番号1がセットされ、ステップE2に
移行する。
For example, in the example of FIG. 6, in step E2, the tone P of channel number 0 and the priority of 50 are assigned to P in step E2.
Is set to P, the value of P is not 0 in step E3, so that the process proceeds to step E5. In step E5, P
Is smaller than PL value 255, so that step E
The process proceeds to step 6, where the priority 50 is set in PL, and the channel number 0 is set in CL. Next, at step E7, the next channel number 1 is set, and the routine goes to step E2.

【0029】次に、ステップE2において、Pにチャン
ネル番号1の音色1、優先度42がセットされる。そし
て、ステップE3、ステップE5に進む。ステップE5
において、Pの値42はPLの値50より小さいので、
見つかっている最も低い優先度のチャンネル番号が入れ
替わり、ステップE6に進んでPLに優先度42をセッ
トし、CLにチャンネル番号1をセットする。
Next, in step E2, the tone color 1 of the channel number 1 and the priority 42 are set in P. Then, the process proceeds to step E3 and step E5. Step E5
Since the value 42 of P is smaller than the value 50 of PL,
The found lowest priority channel numbers are exchanged, and the process proceeds to step E6 where the priority 42 is set in PL and the channel number 1 is set in CL.

【0030】このように、ステップE3においてPの値
が0でない場合には、ステップE8においてCCの値が
8になるまで、すなわちすべてのチャンネルの優先度を
検索するまで、ステップE2からステップE8までのル
ープを繰り返し実行して、すべてのチャンネルの中で最
も低い優先度(図6の例では8)のチャンネル(CLの
チャンネル番号)を捜す。そして、CLの値を割り当て
チャンネル番号として保持する(ステップE9)。図6の
例ではチャンネル番号5を保持する。ステップE3にお
いてPの値が0で現在調査中のチャンネルが消音状態で
ある場合には、発音イベントを無条件にそのチャンネル
に割り当てられるので、ステップE4においてそのチャ
ンネル番号をCLにセットした後は、ステップE9に進
んでCLの値を割り当てチャンネル番号として保持す
る。
As described above, if the value of P is not 0 in step E3, the steps from E2 to E8 are performed until the value of CC becomes 8 in step E8, that is, until the priorities of all the channels are searched. Is repeatedly executed to search for the channel (CL channel number) of the lowest priority (8 in the example of FIG. 6) among all the channels. Then, the value of CL is held as the assigned channel number (step E9). In the example of FIG. 6, channel number 5 is held. If the value of P is 0 in step E3 and the channel under investigation is in a mute state, a sounding event is unconditionally assigned to the channel. After setting the channel number to CL in step E4, Proceeding to step E9, the value of CL is held as the assigned channel number.

【0031】ステップE9において、最も低い優先度の
発音イベントのチャンネル番号を保持した後はステップ
E10に進み、今回発生した発音イベントの優先度を計
算してレジスタSCに格納する。次に、PLの優先度の
値がSCの優先度の値よりも小さいか否かを判別する
(ステップE11)。PLの優先度がSCの優先度より
も小さい場合には、現在指定しているチャンネルに今回
発音する発音イベントを割り当てることができる。この
場合において、PLが0であるか否か、すなわち優先度
が0で消音状態であるか否かを判別する(ステップE1
2)。
After the channel number of the lowest priority sound generation event is held in step E9, the process proceeds to step E10, where the priority of the currently generated sound generation event is calculated and stored in the register SC. Next, it is determined whether or not the value of the priority of the PL is smaller than the value of the priority of the SC (step E11). When the priority of the PL is lower than the priority of the SC, the sounding event to be generated this time can be assigned to the currently designated channel. In this case, it is determined whether or not PL is 0, that is, whether or not the priority is 0 and the sound is muted (step E1).
2).

【0032】PLが0でない場合には、割り当てチャン
ネル番号における発音イベントのレベルが0(消音)に
なっていないので、強制ファーストダンプ処理を行って
その発音イベントを強制的に消音する(ステップE1
3)。一方、PLが0である場合には、すでにそのチャ
ンネルは消音状態になっているので、強制ファースト処
理を行う必要はない。ステップE13の強制ファースト
ダンプ処理の後、又はステップE12においてPLが0
(消音状態)である場合には、発音フラグHFに1をセ
ットする(ステップE14)。ステップE11におい
て、PLの優先度がSCの優先度以上である場合には、
今回の発音イベントは発音されない。この場合には、H
Fに0をセットする(ステップE15)。HFに1又は
0をセットした後は、図7のメインフローに戻る。
If the PL is not 0, since the sounding event level in the assigned channel number is not 0 (silence), a forced first dump process is performed to forcibly mute the sounding event (step E1).
3). On the other hand, when PL is 0, the channel is already in the mute state, and there is no need to perform forced first processing. After the forced first dump processing in step E13, or in step E12, the PL becomes 0.
If it is (mute state), the sound generation flag HF is set to 1 (step E14). In step E11, when the priority of the PL is equal to or higher than the priority of the SC,
This pronunciation event is not pronounced. In this case, H
F is set to 0 (step E15). After setting HF to 1 or 0, the process returns to the main flow of FIG.

【0033】メインフローにおけるステップA6の発音
処理においては、入力されたMIDIデータの発音イベ
ントに対して、HFの値が1である場合にはその発音イ
ベントに対する発音処理を実行し、HFの値が0である
場合にはその発音イベントは発音されず無視される。
In the tone generation process of step A6 in the main flow, if the value of HF is 1 for the tone generation event of the input MIDI data, the tone generation process for that tone generation event is executed, and the value of HF becomes If it is 0, the sound generation event is not sounded and is ignored.

【0034】なお、この実施形態において、チャンネル
のすべてが発音状態である場合に新たな発音イベントが
発生したときは、その新たな発音イベントの優先度が発
音中の発音イベントのうち最も低い優先度より高い場合
に、その発音チャンネルの発音イベントを強制的に消音
して新たな発音イベントを割り当てるが、その優先度の
演算は数式8に示すように、ピッチベンド、ビブラー
ト、ポルタメント、モノプレッシャ、ポリプレッシャ、
ベロシティ、及びタッチセンスの7個のファクタをすべ
て加味して優先度を算出している。
In this embodiment, when a new tone generation event occurs when all of the channels are in the tone generation state, the priority of the new tone generation event is the lowest priority of the tone generation events being sounded. If it is higher, the sounding event of the sounding channel is forcibly muted and a new sounding event is assigned, and the priority is calculated by pitch bend, vibrato, portamento, monopressure, polypressure as shown in Expression 8. ,
The priority is calculated by considering all seven factors of velocity and touch sense.

【0035】しかしながら、優先度の算出のためには、
主にソロ演奏等に使用している発音パートに対するファ
クタであるピッチベンド、ビブラート、ポルタメントに
基づいて優先度を算出し、ソロ演奏等の発音パートの優
先度が高くなるような構成にしてもよい。また、音色に
変化に影響を与えるモノプレッシャ、ポリプレッシャ、
ベロシティ、及びタッチセンスのファクタに基づいて優
先度を算出し、演奏者が意識的に音楽的効果を付加した
発音チャンネル(ボイス)の優先度が高くなるような構
成でにしてもよい。すなわち、上記実施形態の構成は、
発音パートに重点をおいて優先度を決定する第1の発明
と、音色変化に重点をおいて優先度を決定する第2の発
明とを含んでいる。
However, to calculate the priority,
Priority may be calculated based on pitch bend, vibrato, and portamento, which are factors for sounding parts used mainly in solo performances, and the priority of sounding parts such as solo performances may be increased. In addition, mono-pressure, poly-pressure,
The priority may be calculated based on the factors of velocity and touch sense, and the configuration may be such that the priority of a sounding channel (voice) to which the player intentionally adds a musical effect becomes higher. That is, the configuration of the above embodiment is
The invention includes a first invention in which priority is determined with emphasis on a pronunciation part, and a second invention in which priority is determined with emphasis on timbre change.

【0036】以上のように、上記実施形態の楽音発生装
置は、所定数の発音チャンネルによって複数の発音パー
トを分担する場合に、各発音チャンネルに割り当てられ
る発音イベントに対して音楽的効果を付加する制御デー
タの種別及び各発音パートに応じて優先度を算出し、発
音チャンネルのすべてが発音状態である場合に新たな発
音イベントが発生したときは、その新たな発音イベント
の優先度が発音中の発音イベントのうち最も低い優先度
より高い場合に、その発音チャンネルの発音イベントを
強制的に消音して新たな発音イベントを割り当てる。
As described above, the musical tone generating apparatus of the above embodiment adds a musical effect to a sound event assigned to each sound channel when a plurality of sound parts are shared by a predetermined number of sound channels. The priority is calculated according to the type of the control data and each sounding part, and when a new sounding event occurs when all sounding channels are sounding, the priority of the new sounding event is changed to the sounding tone. When the priority is higher than the lowest priority among the sounding events, the sounding event of the sounding channel is forcibly muted and a new sounding event is assigned.

【0037】また、上記実施形態のプログラムは、楽音
発生装置のコンピュータによって実行させる楽音発生処
理のプログラムであって、所定数の発音チャンネルによ
って複数の発音パートを分担する発音手段の各発音チャ
ンネルに割り当てられる発音イベントに対して音楽的効
果を付加する制御データの種別及び各発音パートに応じ
て優先度係数を設定するステップと、所定数の発音チャ
ンネルのすべてが発音状態である場合に新たな発音イベ
ントが発生したときは各発音チャンネルにおいて発音中
の発音イベントに対する優先度を優先度係数に基づいて
算出するステップと、この算出するステップによって算
出された各発音チャンネルの優先度のうち最も低い優先
度が新たな発音イベントの優先度より低いか否かを判定
するステップと、この判定するステップによって最も低
い優先度が新たな発音イベントの優先度より低いと判定
された場合に最も低い優先度の発音イベントを強制的に
消音させてその発音チャンネルに前記新たな発音イベン
トを割り当てるステップとを有する構成になっている。
すなわち、このプログラムは、楽音発生装置のコンピュ
ータを楽音発生処理における各処理を実行する複数の手
段として機能させる。
The program of the above-described embodiment is a program for tone generation processing executed by a computer of the tone generator, and is assigned to each tone channel of tone generating means for sharing a plurality of tone parts by a predetermined number of tone channels. Setting a priority coefficient according to the type of control data and each sounding part for adding a musical effect to the sounding event to be played, and a new sounding event when all of a predetermined number of sounding channels are sounding. Is generated, the priority of the sounding event being sounded in each sounding channel is calculated based on the priority coefficient, and the lowest priority among the priorities of each sounding channel calculated by the calculating step is Determining whether it is lower than the priority of the new pronunciation event; When the lowest priority is determined to be lower than the priority of the new sound event by the determining step, the sound event having the lowest priority is forcibly muted and the new sound event is assigned to the sound channel. And a step.
That is, this program causes the computer of the musical sound generation device to function as a plurality of means for executing each processing in the musical sound generation processing.

【0038】したがって、このような構成の楽音発生装
置又は楽音発生処理のプログラムによれば、所定数の発
音チャンネルのすべてが発音状態である場合に新たな発
音イベントが発生したときに、発音中の発音イベントを
強制的に消音させて発音チャンネルを確保するアサイン
処理を行っても音楽的に不自然な影響を与えることがな
い。
Therefore, according to the musical tone generating apparatus or the musical tone generating program having such a configuration, when a new tone generating event occurs when all of the predetermined number of tone generating channels are in a tone emitting state, the tone generating tone generating means is not activated. Even if an assignment process is performed to forcibly mute the sounding event and secure a sounding channel, there is no musically unnatural effect.

【0039】なお、上記実施形態においては、各発音パ
ートに応じて優先度係数を設定するが、その場合におい
て、メロディパート等のように主旋律の発音パートに対
して高い優先度を設定する。また、上記実施形態におい
ては、音楽的効果を付加する制御データの種別、すなわ
ち、ピッチベンド、ビブラート、ポルタメントに応じて
優先度係数を設定するが、その場合において、音楽的効
果の付加量が大きいほど高い優先度を設定する。
In the above embodiment, the priority coefficient is set according to each sounding part. In this case, a high priority is set to the sounding part of the main melody, such as a melody part. Further, in the above embodiment, the priority coefficient is set in accordance with the type of control data to which a musical effect is added, that is, pitch bend, vibrato, and portamento. Set a high priority.

【0040】また、上記実施形態の楽音発生装置は、所
定数の発音チャンネルを有する発音手段の各発音チャン
ネルに発音イベントを割り当てる場合に、各発音チャン
ネルに割り当てられる発音イベントに対して音色変化を
与える制御データの種別に応じて優先度を算出し、発音
チャンネルのすべてが発音状態である場合に新たな発音
イベントが発生したときは、その新たな発音イベントの
優先度が発音中の発音イベントのうち最も低い優先度よ
り高い場合に、その発音チャンネルの発音イベントを強
制的に消音して新たな発音イベントを割り当てる。
Further, the tone generator of the above embodiment, when assigning a tone generation event to each tone generation channel of the tone generation means having a predetermined number of tone generation channels, gives a tone color change to the tone generation event assigned to each tone generation channel. The priority is calculated according to the type of control data, and when a new sounding event occurs when all sounding channels are sounding, the priority of the new sounding event is determined by the priority of the sounding event being sounded. If the priority is higher than the lowest priority, the sound generation event of the sound channel is forcibly muted and a new sound event is assigned.

【0041】また、上記実施形態のプログラムは、楽音
発生装置のコンピュータによって実行させる楽音発生処
理のプログラムであって、所定数の発音チャンネルを有
する発音手段の各発音チャンネルに割り当てられる発音
イベントに対して音色変化を与える制御データの種別に
応じて優先度係数を設定するステップと、所定数の発音
チャンネルのすべてが発音状態である場合に新たに発音
すべき発音イベントが発生したときは各発音チャンネル
において発音中の発音イベントに対する優先度を優先度
係数に基づいて算出するステップと、この算出するステ
ップによって算出された各発音チャンネルの優先度のう
ち最も低い優先度が新たな発音イベントの優先度より低
いか否かを判定するステップと、この判定するステップ
によって最も低い優先度が新たな発音イベントの優先度
より低いと判定された場合に最も低い優先度の発音イベ
ントを強制的に消音させてその発音チャンネルに新たな
発音イベントを割り当てるステップとを有する構成にな
っている。すなわち、このプログラムも、楽音発生装置
のコンピュータを楽音発生処理における各処理を実行す
る複数の手段として機能させる。
The program of the above-described embodiment is a program for a tone generation process executed by a computer of a tone generator, and executes a sound generation event assigned to each sound channel of a sound generator having a predetermined number of sound channels. Setting a priority coefficient in accordance with a type of control data for giving a tone change; and, when all of a predetermined number of sounding channels are in a sounding state, when a sounding event to be newly sounded occurs, a sound is generated in each sounding channel. Calculating the priority for the sounding event being sounded based on the priority coefficient, and the lowest priority of the priorities of each sounding channel calculated by the calculating step is lower than the priority of the new sounding event And the step of determining whether or not Forcibly muting the sound event of the lowest priority when the previous degree is determined to be lower than the priority of the new sound event and assigning a new sound event to the sound channel. I have. That is, this program also causes the computer of the musical sound generation device to function as a plurality of means for executing each processing in the musical sound generation processing.

【0042】したがって、このような構成の楽音発生装
置又は楽音発生処理のプログラムによれば、所定数の発
音チャンネルのすべてが発音状態である場合に新たな発
音イベントが発生したときに、発音中の発音イベントを
強制的に消音させて発音チャンネルを確保するアサイン
処理を行っても音楽的に不自然な影響を与えることがな
い。
Therefore, according to the musical tone generating apparatus or the musical tone generating processing program having such a configuration, when a new tone generating event occurs when all of the predetermined number of tone generating channels are in a tone emitting state, the tone generating tone generating means is not activated. Even if an assignment process is performed to forcibly mute the sounding event and secure a sounding channel, there is no musically unnatural effect.

【0043】なお、上記実施形態においては、音色変化
を与える制御データの種別に応じて優先度係数を設定す
るが、この場合において、制御データによって与えられ
る音色変化量が大きいほど高い優先度を設定する。
In the above embodiment, the priority coefficient is set according to the type of the control data that gives the timbre change. In this case, the higher the timbre change amount given by the control data is, the higher the priority is set. I do.

【0044】さらに、上記実施形態によれば、発音パー
トに重点をおいて優先度を決定する第1の発明と音色変
化に重点をおいて優先度を決定する第2の発明とを合成
して、すなわち、数式8に示す演算のように、発音パー
ト及び音色変化に重点をおいて優先度を決定する第3の
発明を構成することも明らかである。この場合には、所
定数の発音チャンネルによって複数の発音パートを分担
する発音手段の各発音チャンネルに割り当てられる発音
イベントに対して音色変化及び各発音パートに応じて優
先度係数を設定する。
Further, according to the above-described embodiment, the first invention that determines the priority with emphasis on the tone generation part and the second invention that determines the priority with emphasis on the tone color change are synthesized. That is, it is also apparent that the third aspect of the invention determines the priority with emphasis on the tone generation part and tone color change, as in the calculation shown in Expression 8. In this case, a priority coefficient is set for a tone event assigned to each tone channel of the tone generating means that shares a plurality of tone parts with a predetermined number of tone channels in accordance with a tone color change and each tone part.

【0045】なお、上記実施形態においては、MIDI
データの入力に対して優先度に基づくアサイン処理を行
う場合について説明したが、図8のフローにおいて鍵盤
入力が設定された場合にも、鍵盤から入力される演奏デ
ータに含まれる制御データ、各発音チャンネルに対して
指定された発音パートに応じて、鍵盤入力に対して優先
度に基づくアサイン処理を行う構成にしてもよい。
In the above embodiment, the MIDI
The case where assignment processing based on priority is performed for data input has been described. However, even when keyboard input is set in the flow of FIG. 8, control data included in performance data input from the keyboard, each sound generation An assignment process based on priority may be performed on keyboard input in accordance with a sounding part specified for a channel.

【0046】[0046]

【発明の効果】本発明によれば、所定数の発音チャンネ
ルのすべてが発音状態である場合に新たな発音イベント
が発生したときに、発音中の発音イベントを強制的に消
音させて発音チャンネルを確保するアサイン処理を行っ
ても音楽的に不自然な影響を与えることがない。
According to the present invention, when a new sounding event occurs when all of the predetermined number of sounding channels are in a sounding state, the sounding event being sounded is forcibly muted to change the sounding channel. Even if the assignment process for securing is performed, there is no musically unnatural effect.

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

【図1】本発明による楽音発生装置の実施形態の構成を
示すブロック図。
FIG. 1 is a block diagram showing a configuration of an embodiment of a musical sound generator according to the present invention.

【図2】図1におけるRAMのエリアのデータ構成を示
す図。
FIG. 2 is a diagram showing a data configuration of an area of a RAM in FIG. 1;

【図3】図2における音色パラメータのデータ構成例を
示す図。
FIG. 3 is a diagram showing a data configuration example of a tone color parameter in FIG. 2;

【図4】図2における機器トータルパラメータのデータ
構成例を示す図。
FIG. 4 is a view showing an example of a data configuration of a device total parameter in FIG. 2;

【図5】図2における発音パートパラメータのデータ構
成例を示す図。
FIG. 5 is a diagram showing an example of a data configuration of sounding part parameters in FIG. 2;

【図6】図2におけるチャンネル優先度のデータ構成例
を示す図。
FIG. 6 is a diagram showing a data configuration example of channel priority in FIG. 2;

【図7】図1のCPUの動作を示すメインフローチャー
ト。
FIG. 7 is a main flowchart showing the operation of the CPU in FIG. 1;

【図8】図4におけるスイッチ処理のフローチャート。FIG. 8 is a flowchart of a switch process in FIG. 4;

【図9】図4におけるMIDI処理のフローチャート。FIG. 9 is a flowchart of a MIDI process in FIG. 4;

【図10】図9における優先度再計算のフローチャー
ト。
FIG. 10 is a flowchart of priority recalculation in FIG. 9;

【図11】図4におけるアサイン処理のフローチャー
ト。
FIG. 11 is a flowchart of an assignment process in FIG. 4;

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

1 CPU 3 ROM 4 RAM 5 鍵盤 6 スイッチ部 7 MIDIインターフェース 8 音源LSI DESCRIPTION OF SYMBOLS 1 CPU 3 ROM 4 RAM 5 Keyboard 6 Switch part 7 MIDI interface 8 Sound source LSI

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 所定数の発音チャンネルによって複数の
発音パートを分担する発音手段の各発音チャンネルに割
り当てられる発音イベントに対して音楽的効果を付加す
る制御データの種別及び各発音パートに応じて優先度係
数を設定する設定手段と、 前記所定数の発音チャンネルのすべてが発音状態である
場合に新たな発音イベントが発生したときは各発音チャ
ンネルにおいて発音中の発音イベント及び前記新たな発
音イベントに対する優先度を前記優先度係数に基づいて
算出する演算手段と、 この演算手段によって算出された各発音チャンネルの優
先度のうち最も低い優先度が前記新たな発音イベントの
優先度より低いか否かを判定する判定手段と、 この判定手段によって前記最も低い優先度が前記新たな
発音イベントの優先度より低いと判定された場合に前記
最も低い優先度の発音イベントを強制的に消音させてそ
の発音チャンネルに前記新たな発音イベントを割り当て
る割当手段と、 を備えた楽音発生装置。
1. A method according to claim 1, wherein a plurality of sound channels are assigned to a plurality of sound channels by a predetermined number of sound channels. Setting means for setting a degree coefficient; when all of the predetermined number of sounding channels are in a sounding state, when a new sounding event occurs, priority is given to the sounding event being sounded in each sounding channel and the new sounding event. Calculating means for calculating the degree based on the priority coefficient; and determining whether the lowest priority among the priorities of each sounding channel calculated by the calculating means is lower than the priority of the new sounding event. And determining that the lowest priority is lower than the priority of the new sounding event. Allocating means for forcibly silencing the lowest priority sound generation event when the judgment is made and allocating the new sound generation event to the sound generation channel.
【請求項2】 前記設定手段は、主旋律の発音パートに
対して高い優先度係数を設定することを特徴とする請求
項1記載の楽音発生装置。
2. The musical tone generating apparatus according to claim 1, wherein said setting means sets a high priority coefficient for a sounding part of a main melody.
【請求項3】 前記設定手段は、前記制御データによる
音楽的効果の付加量が大きいほど高い係数を設定するこ
とを特徴とする請求項1記載の楽音発生装置。
3. The tone generator according to claim 1, wherein the setting means sets a higher coefficient as the amount of the musical effect added by the control data increases.
【請求項4】 前記設定手段は、音色変化を与える制御
データの種別及び前記各発音パートに応じて優先度係数
を設定することを特徴とする請求項1記載の楽音発生装
置。
4. The tone generating apparatus according to claim 1, wherein said setting means sets a priority coefficient in accordance with a type of control data for giving a tone change and each of said tone generation parts.
【請求項5】 所定数の発音チャンネルを有する発音手
段の各発音チャンネルに割り当てられる発音イベントに
対して音色変化を与える制御データの種別に応じて優先
度係数を設定する設定手段と、 前記所定数の発音チャンネルのすべてが発音状態である
場合に新たな発音イベントが発生したときは各発音チャ
ンネルにおいて発音中の発音イベントに対する優先度を
前記優先度係数に基づいて算出する演算手段と、 この演算手段によって算出された各発音チャンネルの優
先度のうち最も低い優先度が前記新たな発音イベントの
優先度より低いか否かを判定する判定手段と、 この判定手段によって前記最も低い優先度が前記新たな
発音イベントの優先度より低いと判定された場合に前記
最も低い優先度の発音イベントを強制的に消音させてそ
の発音チャンネルに前記新たな発音イベントを割り当て
る割当手段と、 を備えた楽音発生装置。
5. A setting means for setting a priority coefficient in accordance with a type of control data for giving a timbre change to a sounding event assigned to each sounding channel of a sounding means having a predetermined number of sounding channels; Calculating means for calculating a priority of a sounding event being sounded in each sounding channel based on the priority coefficient when a new sounding event occurs when all of the sounding channels are sounding; Determining means for determining whether or not the lowest priority of the priorities of the respective sounding channels calculated is lower than the priority of the new sounding event; and If it is determined that the sounding event is lower than the priority of the sounding event, the sounding event with the lowest priority is forcibly muted and Allocating means for allocating the new sounding event to a sounding channel.
【請求項6】 前記設定手段は、前記制御データによっ
て与えられる音色変化量が大きいほど高い係数を設定す
ることを特徴とする請求項4又は5記載の楽音発生装
置。
6. The tone generator according to claim 4, wherein said setting means sets a higher coefficient as the tone change amount given by said control data is larger.
【請求項7】 楽音発生装置のコンピュータによって実
行される楽音発生処理のプログラムであって、 所定数の発音チャンネルによって複数の発音パートを分
担する発音手段の各発音チャンネルに割り当てられる発
音イベントに対して音楽的効果を付加する制御データの
種別及び各発音パートに応じて優先度係数を設定するス
テップと、 前記所定数の発音チャンネルのすべてが発音状態である
場合に新たな発音イベントが発生したときは各発音チャ
ンネルにおいて発音中の発音イベントに対する優先度を
前記優先度係数に基づいて算出するステップと、 この算出するステップによって算出された各発音チャン
ネルの優先度のうち最も低い優先度が前記新たな発音イ
ベントの優先度より低いか否かを判定するステップと、 この判定するステップによって前記最も低い優先度が前
記新たな発音イベントの優先度より低いと判定された場
合に前記最も低い優先度の発音イベントを強制的に消音
させてその発音チャンネルに前記新たな発音イベントを
割り当てるステップと、 を有することを特徴とする楽音発生処理のプログラム。
7. A program for tone generation processing executed by a computer of a tone generator, wherein a tone generation event is assigned to each tone generation channel of a tone generation means for sharing a plurality of tone generation parts by a predetermined number of tone generation channels. Setting a priority coefficient in accordance with the type of control data to which a musical effect is added and each sounding part; and when a new sounding event occurs when all of the predetermined number of sounding channels are sounding. Calculating the priority of the sounding event that is sounding in each sounding channel based on the priority coefficient; and determining the lowest priority among the priorities of the sounding channels calculated by the calculating step. Determining whether the event priority is lower than the priority of the event; And when the lowest priority is determined to be lower than the priority of the new sound event, the sound event of the lowest priority is forcibly muted and the new sound event is assigned to the sound channel. A program for music tone generation processing, comprising:
【請求項8】 前記設定するステップは、主旋律の発音
パートに対して高い優先度係数を設定することを特徴と
する請求項7記載の楽音発生処理のプログラム。
8. The program according to claim 7, wherein said setting step sets a high priority coefficient for a tone generation part of a main melody.
【請求項9】 前記設定するステップは、前記制御デー
タによる音楽的効果の付加量が大きいほど高い係数を設
定することを特徴とする請求項7記載の楽音発生処理の
プログラム。
9. The non-transitory computer-readable storage medium according to claim 7, wherein the setting step sets a higher coefficient as the amount of the musical effect added by the control data increases.
【請求項10】 前記設定するステップは、音色変化を
与える制御データの種別及び前記各発音パートに応じて
優先度係数を設定することを特徴とする請求項7記載の
楽音発生処理のプログラム。
10. The program according to claim 7, wherein said setting step sets a priority coefficient according to a type of control data for giving a tone change and each of said tone generation parts.
【請求項11】 楽音発生装置のコンピュータによって
実行される楽音発生処理のプログラムであって、 所定数の発音チャンネルを有する発音手段の各発音チャ
ンネルに割り当てられる発音イベントに対して音色変化
を与える制御データの種別に応じて優先度係数を設定す
るステップと、 前記所定数の発音チャンネルのすべてが発音状態である
場合に新たに発音すべき発音イベントが発生したときは
各発音チャンネルにおいて発音中の発音イベントに対す
る優先度を前記優先度係数に基づいて算出するステップ
と、 この算出するステップによって算出された各発音チャン
ネルの優先度のうち最も低い優先度が前記新たな発音イ
ベントの優先度より低いか否かを判定するステップと、 この判定するステップによって前記最も低い優先度が前
記新たな発音イベントの優先度より低いと判定された場
合に前記最も低い優先度の発音イベントを強制的に消音
させてその発音チャンネルに前記新たな発音イベントを
割り当てるステップと、 を有することを特徴とする楽音発生処理のプログラム。
11. A program for tone generation processing executed by a computer of a tone generator, the control data being for giving a tone change to a tone generation event assigned to each tone generation channel of a tone generation means having a predetermined number of tone generation channels. Setting a priority coefficient according to the type of a sounding event; and when a sounding event to be newly sounded occurs when all of the predetermined number of sounding channels are sounding, a sounding event being sounded in each sounding channel. Calculating the priority of the sounding channel based on the priority coefficient, and determining whether the lowest priority among the priorities of the respective sounding channels calculated by the calculating step is lower than the priority of the new sounding event. Determining the lowest priority by the determining step. Forcibly silencing the lowest priority sounding event when it is determined to be lower than the priority of the new sounding event, and assigning the new sounding event to the sounding channel. Music generation processing program.
【請求項12】 前記設定するステップは、前記制御デ
ータによって与えられる音色変化量が大きいほど高い係
数を設定することを特徴とする請求項10又は11記載
の楽音発生処理のプログラム。
12. The program according to claim 10, wherein the setting step sets a higher coefficient as the tone change amount given by the control data is larger.
JP2001103011A 2001-04-02 2001-04-02 Musical sound generator and musical sound generation processing program Expired - Fee Related JP4258991B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001103011A JP4258991B2 (en) 2001-04-02 2001-04-02 Musical sound generator and musical sound generation processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001103011A JP4258991B2 (en) 2001-04-02 2001-04-02 Musical sound generator and musical sound generation processing program

Publications (2)

Publication Number Publication Date
JP2002297138A true JP2002297138A (en) 2002-10-11
JP4258991B2 JP4258991B2 (en) 2009-04-30

Family

ID=18956133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001103011A Expired - Fee Related JP4258991B2 (en) 2001-04-02 2001-04-02 Musical sound generator and musical sound generation processing program

Country Status (1)

Country Link
JP (1) JP4258991B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006134524A1 (en) * 2005-06-17 2006-12-21 Koninklijke Philips Electronics N.V. Multiple-source signal rendering device
JP2015045879A (en) * 2006-04-13 2015-03-12 イマージョン コーポレーションImmersion Corporation System and method for automatically producing haptic event from digital audio signal
JP2016039944A (en) * 2015-10-30 2016-03-24 株式会社藤商事 Game machine
JP2017080352A (en) * 2015-10-30 2017-05-18 株式会社大一商会 Game machine
JP2017131283A (en) * 2016-01-25 2017-08-03 株式会社大一商会 Game machine
JP2017131282A (en) * 2016-01-25 2017-08-03 株式会社大一商会 Game machine
JP2017131284A (en) * 2016-01-25 2017-08-03 株式会社大一商会 Game machine
JP2017131281A (en) * 2016-01-25 2017-08-03 株式会社大一商会 Game machine

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006134524A1 (en) * 2005-06-17 2006-12-21 Koninklijke Philips Electronics N.V. Multiple-source signal rendering device
JP2015045879A (en) * 2006-04-13 2015-03-12 イマージョン コーポレーションImmersion Corporation System and method for automatically producing haptic event from digital audio signal
JP2016039944A (en) * 2015-10-30 2016-03-24 株式会社藤商事 Game machine
JP2017080352A (en) * 2015-10-30 2017-05-18 株式会社大一商会 Game machine
JP2017131283A (en) * 2016-01-25 2017-08-03 株式会社大一商会 Game machine
JP2017131282A (en) * 2016-01-25 2017-08-03 株式会社大一商会 Game machine
JP2017131284A (en) * 2016-01-25 2017-08-03 株式会社大一商会 Game machine
JP2017131281A (en) * 2016-01-25 2017-08-03 株式会社大一商会 Game machine

Also Published As

Publication number Publication date
JP4258991B2 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
US6816833B1 (en) Audio signal processor with pitch and effect control
US8735709B2 (en) Generation of harmony tone
JP7331746B2 (en) Electronic keyboard instrument, musical tone generating method and program
CN113838442B (en) Electronic musical instrument, method of producing sound of electronic musical instrument, and storage medium
JP4258991B2 (en) Musical sound generator and musical sound generation processing program
JP2002311957A (en) Device and method for resonance and computer program for resonance processing
US8729377B2 (en) Generating tones with a vibrato effect
JP3694172B2 (en) Reverberation resonance apparatus and reverberation resonance method
JPH05100671A (en) Electronic musical instrument
EP1391873A1 (en) Rendition style determination apparatus and method
JPH09330079A (en) Music sound signal generation device and music sound signal generation method
JP3530601B2 (en) Frequency characteristic control apparatus and frequency characteristic control method for musical tone signal
JP4329276B2 (en) Musical sound generator and musical sound generation processing program
JP3530600B2 (en) Frequency characteristic control apparatus and frequency characteristic control method for musical tone signal
JP4306138B2 (en) Musical sound generator and musical sound generation processing program
JP2715795B2 (en) Musical sound synthesizer having pronunciation assigning means
JP3087724B2 (en) Music synthesizer
JP3437243B2 (en) Electronic musical instrument characteristic change processing device
JP2513003B2 (en) Electronic musical instrument
JPH02110500A (en) Electronic musical instrument
JP3706371B2 (en) Musical signal frequency characteristic control device and frequency characteristic control method
JP3706372B2 (en) Musical signal frequency characteristic control device and frequency characteristic control method
JP4197489B2 (en) Electronic musical instruments
JP3296248B2 (en) Musical performance equipment
JP2003044050A (en) Musical sound generator and program for musical sound generation processing

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070314

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090202

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4258991

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees