JP4103706B2 - Sound source circuit control program and sound source circuit control device - Google Patents

Sound source circuit control program and sound source circuit control device Download PDF

Info

Publication number
JP4103706B2
JP4103706B2 JP2003204456A JP2003204456A JP4103706B2 JP 4103706 B2 JP4103706 B2 JP 4103706B2 JP 2003204456 A JP2003204456 A JP 2003204456A JP 2003204456 A JP2003204456 A JP 2003204456A JP 4103706 B2 JP4103706 B2 JP 4103706B2
Authority
JP
Japan
Prior art keywords
note
hold
signal
channel
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003204456A
Other languages
Japanese (ja)
Other versions
JP2005049497A (en
Inventor
長谷部  雅彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003204456A priority Critical patent/JP4103706B2/en
Publication of JP2005049497A publication Critical patent/JP2005049497A/en
Application granted granted Critical
Publication of JP4103706B2 publication Critical patent/JP4103706B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、楽音信号の生成に用いて好適な音源回路の制御プログラムおよび音源回路の制御装置に関する。
【0002】
【従来の技術】
(1)ホールド信号に対する音源装置の動作について
従来より、MIDI信号等の演奏情報が入力されると、楽音信号を生成する音源装置が知られている。音源装置は、所定のパラメータレジスタに書き込まれた各種パラメータに基づいて楽音信号を発生させる音源回路と、受信した演奏情報に基づいて上記レジスタに各種パラメータを書込むことにより音源回路を制御する制御回路とから構成される。ここで、音源装置に対してノートオン信号およびノートオフ信号を順次送信したときに発生される楽音信号のエンベロープ波形の一例を図2(a)に示す。なお、図2(a)に示すエンベロープ波形は、擦絃楽器、管楽器、その他各種の音色の再生のために多用されている。
【0003】
図2(a)に示すエンベロープ波形は、ノートオン信号の受信直後から開始されレベルが立ち上がる「アタック区間」と、アタック区間に引き続いてレベルが立ち下がる「ディケイ区間」と、ディケイ区間の後、ノートオフ信号が入力されるまでエンベロープレベルが平坦に保たれる「サスティン区間」と、ノートオフ信号の受信直後から開始されレベルが減衰する「リリース区間」とから構成されている。このエンベロープ波形を発生するために音源装置で実行される具体的な処理について説明しておく。
【0004】
まず、音源装置にノートオン信号が供給されると、音源回路における一の空きチャンネルが該ノートオン信号用の発音チャンネルとして割り当てられる。次に、このノートオン信号に含まれる「ベロシティ」に基づいて、パラメータすなわちアタック区間の傾き(アタックレート)と、アタック区間におけるエンベロープレベルの最大値(アウトプットレベル)と、ディケイ区間の傾き(ディケイレート)と、サスティン区間のレベルの初期値(サスティンレベル)と、サスティン区間の傾き(サスティンレート)とが計算される。なお、図2(a)に示す例においては、サスティン区間においてエンベロープレベルは減衰しないためサスティンレートは「0」である。
【0005】
次に、これら計算されたパラメータが該発音チャンネルに係るパラメータレジスタに書き込まれ、引き続いて当該発音チャンネルに対して発音開始を指示する「ノートオン情報」が音源回路のパラメータレジスタに書き込まれる。これにより、音源回路においては、該発音チャンネルにおけるエンベロープ波形の生成が開始される。一方、音源回路においては、音色に応じて原楽音信号(エンベロープ付与前の楽音信号)が生成される。この生成方法としては、例えばPCM方式、FM方式、物理モデル方式等、様々な方式が知られている。そして、原楽音信号に対して、その時点のエンベロープレベルが乗算されることにより、最終的な楽音信号が生成される。
【0006】
次に、音源装置にノートオフ信号が供給されると、音源回路内の対応する発音チャンネルのパラメータレジスタに消音開始を指示する「ノートオフ情報」と、リリース区間のエンベロープレベルの傾きである「リリースレート」とが書き込まれる。これにより、該発音チャンネルにおいては、リリースレートに基づいてエンベロープレベルが減衰され、やがて楽音信号が完全に消音される。楽音信号が完全に消音されると、当該発音チャンネルは解放され、新たなノートオン信号に対して割り当てることが可能になる。なお、ノートオフ情報が供給された後の音源回路の状態を「ノートオフ状態」と呼ぶ。
【0007】
ところで、アコースティックピアノでは、押鍵操作によって弦が打弦されると弦が自由振動することにより楽音が生成され、そのまま押鍵を続けていると空気抵抗等によって弦の振動振幅が緩やかに減衰してゆく。そして、離鍵操作が行われると、ダンパが弦に接触することにより弦の振動振幅が急速に減衰する。かかる挙動をシミュレートするために、ピアノ等の音色には、図2(c)に示すエンベロープ波形が用いられている。同図(a),(c)のエンベロープ波形を比較すると、同図(c)の波形においては、弦の自由振動時の減衰率に応じたサスティンレートが設定され、これによってサスティン区間においてもエンベロープレベルが徐々に低下している。
【0008】
次に、MIDI規格では、コントロールチェンジの一種としてホールド信号(ホールドオンおよびホールドオフ)が定義されている。ホールドオン/オフ信号は、各々「音を持続させること」および「音の持続の解消」を指示するものである。このホールドオン/オフ信号が音源装置に供給された場合の動作を音色の種類毎に説明する。まず、擦絃楽器、管楽器等の音色における制御方法を図2(b)を参照し説明する。図において、該音色のノートオン信号およびホールドオン信号に続いて、該音色のノートオフ信号が音源装置に供給されたとする。かかる場合には、このノートオフ信号に基づく音源回路へのノートオフ情報の書き込みが保留される。そして、その後に音源装置にホールドオフ信号が供給されると、その時点でノートオフ情報がパラメータレジスタに書き込まれ、これによって当該発音チャンネルの消音処理が開始されるのである。このように、ホールドオン状態において、音源回路に対してノートオフ情報の供給を保留する音色を本明細書では「第1種音色」と呼ぶ。
【0009】
次に、ピアノ等の音色に対するホールドオン時の動作を図2(d)を参照し説明する。図において、ピアノ等の音色のノートオン信号およびホールドオン信号に続いて、音源装置に該音色のノートオフ信号が供給されたとする。かかる場合には、このノートオフ信号に基づくノートオフ情報が直ちにパラメータレジスタに書き込まれる。但し、その場合におけるリリースレートは、サスティンレートに等しい値、すなわち弦の自由振動時の振幅減衰率に対応する値に設定される。そして、音源装置にホールドオフ信号が供給されると、リリースレートが通常の値、すなわちダンパーによる制動時の振幅減衰率に対応する値に設定される。このように、ピアノ等の音色にあっては、アコースティックピアノ等のダンパーペダルのオン/オフ操作がホールドオン/オフによってシミュレートされるのである。このように、音源回路に対するノートオフ情報の供給を保留せず、ホールドオン/オフ状態に応じてリリースレートを切り替える音色を本明細書では「第2種音色」と呼ぶ。
【0010】
次に、上述したように音色の種類に応じてホールドオン/オフ信号に対する動作が異なる理由について説明しておく。まず、アコースティックピアノにおいては、演奏者がダンパーペダルを踏み続けた状態で同一の鍵を連打することが可能である。かかる奏法は、MIDI信号上では、「ホールドオン状態でノートオン信号とノートオフ信号とが繰り返し交互に供給される」ことに他ならない。そして、MIDI信号では同一音高かつ同一音色の楽音信号を同時に複数の発音チャンネルで発音させることは想定されていないため、あるノートオン信号に基づいて一の発音チャンネルにおいて楽音信号の合成を開始するためには、同一音高かつ同一音色の他の発音チャンネルは事前にノートオフ状態にされていなければならない。従って、音源装置に対して第2種音色に対するノートオフ信号が供給されたのであれば、引き続いて生じる可能性のある同一音高かつ同一音色のノートオン信号に備えて、対応する発音チャンネルを速やかにノートオフ状態に遷移させなければならず、ホールドオン状態であってもノートオフタイミングを遅らせることはできないことが解る。
【0011】
一方、ノートオフ情報によって変化が生じるのはエンベロープレベルに限られるものではなく、音色の種類によっては、エンベロープ付与前の原楽音信号に変化が生じたり、場合によっては原楽音信号そのものが減衰される場合もある。このように、ノートオフ情報によって原楽音信号に変化が生じる音色においては、ホールドオン状態において音源回路にノートオフ情報を供給することはできない。なぜなら、仮にノートオフ情報を供給したならば、たとえエンベロープレベルを一定に保ったとしても最終的な楽音信号が変化するという問題が生じるからである。従って、かかる音色は必ず第1種音色に分類し、ホールドオン状態を解消すべきタイミングまで(音源装置にホールドオフ信号が供給されるまで)、音源回路に対するノートオフ情報の供給を保留する必要がある。このように、ピアノを含む様々な楽器の楽音信号を合成する音源装置においては、全ての音色を第1種または第2種音色の何れかに統一することは困難であり、必然的に第1種,第2種音色が併存することになる。
【0012】
(2)トランケート処理について
一般的に音源回路において同時に発音可能な発音チャンネル数は有限(例えば「32」チャンネル)であるから、これら発音チャンネルの全てが使用中である時に新たなノートオフ信号が音源装置に供給されると発音チャンネルが不足する。かかる場合には、使用中の発音チャンネルの何れかを強制的に消音および解放し、新たなノートオン信号に対して該発音チャンネルを割り当てる必要がある。このように使用中の発音チャンネルの何れかを強制的に解放する処理を「トランケート処理」と呼ぶ。トランケート処理の対象にするチャンネルを決定する方法については種々の技術が知られている。例えば、特許文献1においては、既にノートオフ状態である発音チャンネルをノートオフタイミング順に参照し、参照した発音チャンネルのレベルが所定値以下であれば当該発音チャンネルをトランケート対象にする技術が開示されている。
【0013】
【特許文献1】
特開平8−179767号公報
【0014】
【発明が解決しようとする課題】
しかし、上述した技術によれば、ホールドオン状態で第1種,第2種音色のノートオフ信号が繰り返し供給されたとき、第1種音色の発音チャンネルはノートオフ状態にならず、第2種音色の発音チャンネルはノートオフ状態になる。これにより、第1種,第2種音色のアンサンブル時にトランケート処理の必要が生じると、第2種音色を発音中の発音チャンネルのみがトランケート対象にされる。換言すれば、第1種音色のみが長時間継続され、第2種音色のみが次々と消音され、全体の楽音がきわめて不自然になるという問題が生じた。
この発明は上述した事情に鑑みてなされたものであり、複数音色のアンサンブル時においても自然なトランケート処理を行うことができる音源回路の制御プログラムおよび音源回路の制御装置を提供することを目的としている。
【0015】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載の音源回路の制御プログラムにあっては、複数の発音チャンネルを有し(段落0017)、何れかの発音チャンネルに対してノートオン情報が供給されると該発音チャンネルにおいて楽音信号の生成を開始する(段落0018)とともに、該発音チャンネルに対してノートオフ情報が供給されると該発音チャンネルにおける楽音信号の消音処理を開始する(段落0020)音源回路(30)を制御する音源回路の制御プログラムであって、楽音信号の持続を指示するホールドオン信号が供給されたときには、前記音源回路(30)の現在の状態としてホールドオン状態またはホールドオフ状態の何れかの状態を記憶するホールドレジスタ(段落0020)に対してホールドオン状態を記憶し(段落0024,図5 (a) ステップSP200)、ホールドオフ信号が供給されたときには前記ホールドレジスタにホールドオフ状態を記憶する(段落0024,図5 (b) ステップSP210)過程と、ノートオフ信号が供給されたときに、前記ホールドレジスタにホールドオン状態またはホールドオフ状態の何れが記憶されているかを判断する第1の判断過程(段落0020,図3ステップSP10)と、前記第1の判断過程においてホールドオン状態が記憶されていると判断された場合(段落0020,図3ステップSP10にて「YES」)、前記供給されたノートオフ信号が第1種音色または第2種音色のうち何れに対するものであるかを判定する音色判定過程(段落0021,SP40)と、前記音色判定過程(SP40)において前記ノートオフ信号が前記第1種音色に対するものであると判定されたことを条件として(段落0022,ステップSP40にて「YES」)、前記音源回路(30)に対するノートオフ情報の供給を保留しつつ該ノートオフ信号に対応する発音チャンネルを特定する情報をノートオフ保留レジスタに記憶する過程(段落0022,図3ステップSP50)と、前記音色判定過程(SP40)において前記ノートオフ信号が前記第2種音色に対するものであると判定されたことを条件として(段落0023,図3ステップSP40にて「NO」)、前記音源回路(30)に対して直ちにノートオフ情報を供給する過程(段落0023,図3ステップSP30)と、ノートオン信号が供給されたときに、空き発音チャンネルが存在するか否かを判定する空きチャンネル判定過程(段落0018,図4ステップSP110)と、前記空きチャンネル判定過程において前記空き発音チャンネルが存在しないと判定されたことを条件として(段落0026,図4ステップSP120にて「NO」)前記ホールドレジスタにホールドオン状態またはホールドオフ状態の何れが記憶されているかを判断する第2の判断過程(段落0026,図4ステップSP140)と、前記第2の判断過程によってホールドオン状態が記憶されていると判断された場合(段落0028,ステップSP140にて「YES」)、前記ノートオフ保留レジスタに記憶されている発音チャンネル(段落0028,図4ステップSP150)および前記音源回路(30)に対して既にノートオフ情報が供給されている発音チャンネル(段落0028,図4ステップSP160)の双方の発音チャンネルから、強制的に解放すべきトランケート対象チャンネルを決定するトランケート対象チャンネル決定過程(段落0028,ステップSP170)と、該決定されたトランケート対象チャンネルを前記ノートオン信号に対して割り当てる割当過程(段落0028,図4ステップSP130)とを処理装置に実行させることを特徴とする。
また、請求項2記載の音源回路の制御装置にあっては、複数の発音チャンネルを有し(段落0017)、何れかの発音チャンネルに対してノートオン情報が供給されると該発音チャンネルにおいて楽音信号の生成を開始する(段落0018)とともに、該発音チャンネルに対してノートオフ情報が供給されると該発音チャンネルにおける楽音信号の消音処理を開始する(段落0020)音源回路(30)の制御装置であって、該音源回路(30)の現在の状態としてホールドオン状態またはホールドオフ状態の何れかの状態を記憶するホールドレジスタ(段落0020)と、ホールドオン信号が供給されたときには、前記ホールドレジスタにホールドオン状態を記憶し(段落0024,図5 (a) ステップSP2 00)、ホールドオフ信号が供給されたときには前記ホールドレジスタにホールドオフ状態を記憶する(段落0024,図5 (b) ステップSP210)、ホールドレジスタ制御手段と、ノートオフ信号が供給されたときに、前記ホールドレジスタにホールドオン状態またはホールドオフ状態の何れが記憶されているかを判断する第1の判断手段(段落0020,図3ステップSP10)と、前記第1の判断手段によってホールドオン状態が記憶されていると判断された場合(段落0020,図3ステップSP10にて「YES」)、前記供給されたノートオフ信号が第1種音色または第2種音色のうち何れに対するものであるかを判定する音色判定手段(段落0021,SP40)と、前記ノートオフ情報の供給を保留している発音チャンネルを特定する情報を記憶するノートオフ保留レジスタ(段落0022,RAM52)と、前記音色判定手段(SP40)において前記ノートオフ信号が前記第1種音色に対するものであると判定されたことを条件として(段落0022,ステップSP40にて「YES」)、前記音源回路(30)に対するノートオフ情報の供給を保留しつつ該ノートオフ信号に対応する発音チャンネルを特定する情報を前記ノートオフ保留レジスタに記憶するノートオフ保留手段(段落0022,図3ステップSP50)と、前記音色判定手段(SP40)において前記ノートオフ信号が前記第2種音色に対するものであると判定されたことを条件として(段落0023,図3ステップSP40にて「NO」)、前記音源回路(30)に対して直ちにノートオフ情報を供給するノートオフ供給手段(段落0023,図3ステップSP30)と、ノートオン信号が供給されたときに、空き発音チャンネルが存在するか否かを判定する空きチャンネル判定手段(段落0018,図4ステップSP110)と、前記空きチャンネル判定手段において前記空き発音チャンネルが存在しないと判定されたことを条件として(段落0026,図4ステップSP120にて「NO」)前記ホールドレジスタにホールドオン状態またはホールドオフ状態の何れが記憶されているかを判断する第2の判断手段(段落0026,図4ステップSP140)と、前記第2の判断手段によってホールドオン状態が記憶されていると判断された場合(段落0028,ステップSP140にて「YES」)、前記ノートオフ保留レジスタに記憶されている発音チャンネル(段落0028,図4ステップSP150)および前記音源回路(30)に対して既にノートオフ情報が供給されている発音チャンネル(段落0028,図4ステップSP160)の双方の発音チャンネルから、強制的に解放すべきトランケート対象チャンネルを決定するトランケート対象チャンネル決定手段(段落0028,ステップSP170)と、該決定されたトランケート対象チャンネルを前記ノートオン信号に対して割り当てる割当手段(段落0028,図4ステップSP130)とを有することを特徴とする。
【0016】
【発明の実施の形態】
1.実施形態の構成
1.1.全体構成
まず、本発明の一実施形態である音源装置100のハードウェア構成を図1を参照し説明する。
図において、10は操作子であり、スイッチ、キーボード、ボリューム等によって構成される。15は検出回路であり、スイッチの状態、ボリュ−ムの位置等を検出する。20は表示部であり、液晶パネル等によって構成される。25は表示回路であり、ビデオRAM、グラフィックコントローラ等から構成され、バスライン60を介して供給された情報に基づいて、表示部20に各種情報を表示する。
【0017】
30は音源回路であり、複数チャンネル(例えば最大「32」チャンネル)の楽音信号を生成する。音源回路30の内部にはこれら楽音信号を発生させるための各種パラメータを記憶するパラメータレジスタ30aが設けられている。パラメータレジスタ30aの内容はバスライン60を介して適宜更新することができる。35はサウンドシステムであり、アンプ、スピーカから構成され、音源回路30において生成された楽音信号を放音する。40は通信インターフェースであり、鍵盤、シーケンサ等のMIDI機器がここに接続され、これらMIDI機器との間でMIDI信号のやりとりを行う。50はROMであり、後述する制御プログラム等が格納される。54はCPUであり、ROM50に記憶された制御プログラムに基づいて、バスライン60を介して各部を制御する。52はRAMであり、CPU54のワークメモリとして使用される。
【0018】
2.実施形態の動作
2.1.ノートオン信号に対する処理(トランケートを伴わない場合)
次に、本実施形態の動作を説明する。まず、ノートオン信号が音源装置100に供給されると、図4に示すノートオン処理ルーチンが起動される。図において処理がステップSP110に進むと、音源回路30内の空き発音チャンネルが検索される。次に、処理がステップSP120に進むと、空き発音チャンネルが検出されたか否かが判定される。検出された場合には「YES」と判定され、処理はステップSP130に進む。ここでは、検出された空き発音チャンネルが、今回のノートオン信号に対応する発音チャンネルとして割り当てられる。
【0019】
ここで、ノートオン信号には、音高、ベロシティの情報が含まれている。また、ノートオン信号が供給される前に、「プログラムチェンジ」等のメッセージにより音色が予め指定される。従って、ノートオン信号が受信されると、音色、音高およびベロシティが特定される。そこで、これらの情報に基づいて、楽音信号を合成するための各種パラメータが決定され、音源回路30のパラメータレジスタ30a内の該発音チャンネルに対応する箇所にこれらパラメータが書き込まれる。さらに、発音開始を指示するノートオン情報がパラメータレジスタ30aに書き込まれると、当該発音チャンネルにおける楽音信号の生成が開始される。
【0020】
2.2.ノートオフ信号に対する処理
次に、ノートオフ信号が音源装置100に供給されると、図3に示すノートオフ処理ルーチンが起動される。図において処理がステップSP10に進むと、現在の音源装置100の状態がホールドオン状態であるか否かが判定される。詳細は後述するが、RAM52には「ホールドレジスタ」なる領域が設けられており、このホールドレジスタは、値が“1”であればホールドオン状態、“0”であればホールドオフ状態であることを示す。すなわち、ステップSP10においてはホールドレジスタが“1”であるか否かが判定される。ここで「NO」と判定されると、処理はステップSP20に進み、「通常のリリースレート」すなわちホールドオフ状態に対応するリリースレートが、パラメータレジスタ30aの当該発音チャンネルに対応する箇所に書き込まれる。次に、処理がステップSP30に進むと、ノートオフ情報が音源回路30に供給される。これにより、以後は当該発音チャンネルの楽音信号が、パラメータレジスタ30aに書き込まれたリリースレートで減衰され、楽音信号が充分に減衰されると、該発音チャンネルが解放される。
【0021】
一方、音源装置100がホールドオン状態であった場合には、ステップSP10において「YES」と判定され、処理はステップSP40に進む。ここでは、当該ノートオフ信号に対応する楽音信号の音色が第1種音色であるか否かが判定される。なお、先に図2(b),(d)において説明したように、「第1種音色」とは「ホールドオン状態において、音源回路に対してノートオフ情報の供給を保留する音色」であり、「第2種音色」とは「音源回路に対するノートオフ情報の供給を保留せず、ホールドオン/オフ状態に応じてリリースレートを切り替える音色」である。
【0022】
ステップSP40において「YES」と判定されると、処理はステップSP50に進み、RAM52内の所定領域に確保された「ノートオフ保留レジスタ」に、当該発音チャンネル番号が書き込まれ、本ルーチンの処理が終了する。ここで該「ノートオフ保留レジスタ」について説明しておく。上述したように、第1種音色については、ホールドオン状態の時に音源装置100にノートオフ信号が供給されたとしても、次にホールドオフ信号が供給されるまで、音源回路30に対するノートオフ情報の供給が保留される。ノートオフ保留レジスタは、このようにノートオフ情報の供給を保留している一または複数の発音チャンネルのチャンネル番号を記憶するレジスタである。音源回路30に対するノートオフ情報の供給が保留されると、図2(b)の区間200に示すように、当該発音チャンネルにおける楽音信号の生成は、ノートオフ信号が供給されなかった場合と同一の状態で継続される。
【0023】
また、音源装置100がホールドオン状態であった場合に、第2種音色に対するノートオフ信号が供給されると、ステップSP40において「NO」と判定され、処理はステップSP60に進む。ここでは、ホールド用のリリースレート、すなわちサスティンレートに等しい値がパラメータレジスタ30aの当該発音チャンネルに対応する箇所に書き込まれる。次に、処理がステップSP30に進むと、ノートオフ情報が音源回路30に供給される。これにより、以後は、例えば図2(d)の区間210に示すように、サスティン区間215と同様のレートで当該発音チャンネルの楽音信号が減衰されてゆくことになる。
【0024】
2.3.ホールドオン/オフ信号に対する処理
次に、通信インターフェース40を介してホールドオン/オフ信号が供給された場合の動作を説明する。まず、ホールドオン信号が供給されると、図5(a)に示すホールドオン処理ルーチンが起動される。ここで処理がステップSP200に進むと、ホールドレジスタが“1”にセットされる。また、通信インターフェース40を介してホールドオフ信号が供給されると、図5(b)に示すホールドオフ処理ルーチンが起動される。図において処理がステップSP210に進むと、ホールドレジスタが“0”にリセットされる。次に、処理がステップSP215に進むと、ノートオフ保留レジスタに記憶されている発音チャンネルすなわち音源回路30に対してノートオフ情報の供給が保留されていた全ての発音チャンネルについて、音源回路30に対してノートオフ情報が送信される。これにより、これら発音チャンネルの状態はノートオフ状態に遷移し、楽音信号の比較的急速な減衰が開始される。
【0025】
そして、これらの発音チャンネルの全てに対するノートオフ情報の供給が終了すると、処理はステップSP220に進み、該ノートオフ保留レジスタの内容がクリアされる。次に、処理がステップSP225に進むと、第2種音色の発音チャンネルのうちノートオフ状態である発音チャンネルに対して、「通常のリリースレート」がパラメータレジスタ30aに書き込まれる。これにより、当該発音チャンネルにおいては、楽音信号の比較的急速な減衰が開始される。
【0026】
2.4.ノートオン信号に対する処理(トランケートを伴う場合)
次に、ノートオン処理ルーチン(図4)のステップSP120において空き発音チャンネルが検出されなかった場合の処理を説明する。かかる場合はステップSP120において「NO」と判定され、処理はステップSP140に進む。ここでは、ホールドレジスタが参照され、現在の音源装置100の状態がホールドオン状態(ホールドレジスタ=“1”)であるか否かが判定される。ここで「NO」(ホールドオフ状態)と判定されると、処理はステップSP160に進み、音源回路30の発音チャンネルのうちノートオフ状態に設定されている発音チャンネル、すなわち既に音源回路30に対してノートオフ情報が送信されている発音チャンネルが抽出される。
【0027】
次に、処理がステップSP170に進むと、抽出された全発音チャンネルから「所定の条件」を満たす一の発音チャンネルが検出され、検出された発音チャンネルがトランケート対象チャンネルに決定され、当該一の発音チャンネル(トランケート対象チャンネル)の発音処理が強制的に終了される。ここで、「所定の条件」としては、例えば「音源装置100がノートオフ信号を受信したタイミングが最も古いもの」、あるいは「発音中の楽音信号のレベルが最も低いもの」等を適用するとよい。次に、処理がステップSP130に進むと、この強制的に終了された発音チャンネルが新たなノートオン信号に対して割り当てられ、該新たなノートオン信号に対応する発音処理が開始される。
【0028】
一方、現在の音源装置100の状態がホールドオン状態であればステップSP140において「YES」と判定され、処理はステップSP150に進む。ここでは、ノートオフ保留レジスタに記憶されている発音チャンネル、すなわち音源回路30に対してノートオフ情報の供給が保留されている発音チャンネルが全て抽出される。そして、ステップSP160においては、上述したように、音源回路30においてノートオフ状態に設定されている発音チャンネルが抽出される。このようにステップSP150およびSP160の双方が実行された場合においては、次のステップSP170においては、両ステップSP150,SP160の双方において抽出された全ての発音チャンネルの中から上記「所定の条件」を満たす一の発音チャンネルが検出され、検出された発音チャンネルがトランケート対象チャンネルに決定され、決定されたトランケート対象チャンネルの発音処理が強制的に終了される。そして、上述したように、次に処理がステップSP130に進むと、この強制的に終了された発音チャンネルが新たなノートオン信号に対して割り当てられる。
【0029】
このように本実施形態によれば、ホールドオン状態においてトランケート処理の必要性が生じると、音源回路30においてノートオフ状態に設定されている発音チャンネルのみならず、ノートオフ保留レジスタに記憶されている発音チャンネルもトランケート処理の候補になる(ステップSP150,SP160,170)。このため、本実施形態によればこれら全ての発音チャンネルのうち最も影響の少ない発音チャンネルをトランケート対象として選択することができ、複数音色のアンサンブル時においても自然なトランケート処理を行うことができる。
【0030】
3.変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施形態のステップSP170においては、ステップSP150,SP160にて抽出された全ての発音チャンネルの中からトランケート処理の対象となる一の発音チャンネルが特定されたが、かかる処理は抽出された「全て」の発音チャンネルを対象としなくてもよい。例えば、ある特定のパートの発音チャンネルのみをトランケート処理の対象にする等、予め定められた条件によって発音チャンネルを絞り込み、絞り込まれた発音チャンネルの中からトランケート処理の対象とする発音チャンネルを特定するようにしてもよい。
例えば、一のノートオン信号に対応して複数の発音チャンネルを割り当て、所定の「組」をなす複数音色(例えばピアノとバイオリン)の楽音信号を同時に発音させる「レイヤ」と呼ばれる技術が知られている。かかる「レイヤ」が適用されている場合には、同一のノートオン信号に対して割り当てられた一方の発音チャンネルが解放されたときに、他方の発音チャンネルが優先的にトランケート対象として選択されるようにするとよい。
【0031】
(2)また、上記実施形態においては、ステップSP170における「所定の条件」の例として「音源装置100がノートオフ信号を受信したタイミングが最も古いもの」および「発音中の楽音信号のレベルが最も低いもの」を挙げたが、この「所定の条件」は上述したものに限定されるわけではない。すなわち、発音中の楽音信号の音量が充分に小さく強制的に消音しても発音中の音への影響が少ないと考えられる一の発音チャンネルを決定する方法としては種々のものが知られているから、これらの方法を本発明に適用してもよいことは言うまでも無い。
【0032】
(3)上記実施形態のステップSP140においては、ホールドオン状態であるか否かが判定され、ホールドオン状態でなければステップSP150の処理はスキップされた。しかし、ステップSP140の判定を省略し、ホールドオン状態であるか否かにかかわらずステップSP150,SP160の双方のステップを実行するようにしてもよい。これは、ホールドオフ状態になるとノートオフ保留レジスタがクリアされる(図5(b)のステップSP220参照)ため、ステップSP150を実行させたとしても、ノートオフ状態ではない発音チャンネルがトランケート対象として選択されるような不具合は生じないからである。
【0033】
(4)上記実施形態においては、ROM50に記憶されたプログラムによってトランケート処理等を実行したが、このプログラムをハードディスクやCD−ROM等に記憶させRAM52内に展開して実行させてもよい。さらに、このプログラムのみをCD−ROM、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【0034】
【発明の効果】
以上説明したように本発明によれば、ノートオン信号を受信した際に空き発音チャンネルが存在しないと判定されたことを条件として、ノートオフ保留レジスタに記憶されている発音チャンネルおよび音源回路に対して既にノートオフ情報が供給されている発音チャンネルの双方の発音チャンネルから、強制的に解放すべきトランケート対象チャンネルを決定するから、複数音色のアンサンブル時においても自然なトランケート処理を行うことができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の音源装置100の全体ブロック図である。
【図2】 音源回路30におけるエンベロープ波形図である。
【図3】 ノートオフ処理ルーチンのフローチャートである。
【図4】 ノートオン処理ルーチンのフローチャートである。
【図5】 ホールドオン処理ルーチンおよびホールドオフ処理ルーチンのフローチャートである。
【符号の説明】
10:操作子、15:検出回路、20:表示部、25:表示回路、30:音源回路、30a:パラメータレジスタ、35:サウンドシステム、40:通信インターフェース、50:ROM、52:RAM、54:CPU、60:バスライン、100:音源装置。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a sound source circuit control program and a sound source circuit control apparatus suitable for use in generating musical tone signals.
[0002]
[Prior art]
(1) About the operation of the tone generator for the hold signal
2. Description of the Related Art Conventionally, a sound source device that generates a musical tone signal when performance information such as a MIDI signal is input is known. A tone generator includes a tone generator circuit that generates a tone signal based on various parameters written in a predetermined parameter register, and a control circuit that controls the tone generator circuit by writing various parameters into the register based on received performance information It consists of. Here, FIG. 2A shows an example of an envelope waveform of a tone signal generated when a note-on signal and a note-off signal are sequentially transmitted to the sound source device. Note that the envelope waveform shown in FIG. 2 (a) is frequently used for the reproduction of scrub instruments, wind instruments, and various other timbres.
[0003]
The envelope waveform shown in FIG. 2 (a) has an “attack period” that starts immediately after receiving a note-on signal and rises in level, a “decay period” in which the level falls following the attack period, and a note after the decay period. It consists of a “sustain interval” in which the envelope level is kept flat until the off signal is input, and a “release interval” that starts immediately after receiving the note off signal and attenuates the level. A specific process executed by the sound source device to generate the envelope waveform will be described.
[0004]
First, when a note-on signal is supplied to the tone generator, one vacant channel in the tone generator circuit is assigned as a tone generation channel for the note-on signal. Next, based on the “velocity” included in this note-on signal, the parameters, that is, the slope of the attack section (attack rate), the maximum envelope level (output level) in the attack section, and the slope of the decay section (decay) Rate), the initial value of the sustain section level (sustain level), and the slope of the sustain section (sustain rate) are calculated. In the example shown in FIG. 2A, since the envelope level is not attenuated in the sustain period, the sustain rate is “0”.
[0005]
Next, these calculated parameters are written into the parameter register associated with the sound generation channel, and subsequently, “note-on information” instructing the sound generation channel to start sound generation is written into the parameter register of the tone generator circuit. Thereby, in the tone generator circuit, generation of the envelope waveform in the sound generation channel is started. On the other hand, in the tone generator circuit, an original musical tone signal (a musical tone signal before the envelope is applied) is generated according to the tone color. As this generation method, for example, various methods such as a PCM method, an FM method, and a physical model method are known. Then, the final musical sound signal is generated by multiplying the original musical sound signal by the envelope level at that time.
[0006]
Next, when a note-off signal is supplied to the tone generator, “note-off information” for instructing the start of mute to the parameter register of the corresponding tone generation channel in the tone generator circuit and “release” which is the slope of the envelope level of the release section "Rate" is written. As a result, in the sound generation channel, the envelope level is attenuated based on the release rate, and the music signal is completely muted over time. When the tone signal is completely muted, the sound channel is released and can be assigned to a new note-on signal. The state of the tone generator circuit after the note-off information is supplied is referred to as “note-off state”.
[0007]
By the way, in an acoustic piano, when a string is struck by a key pressing operation, a musical tone is generated by free vibration of the string. When the key is continuously pressed, the vibration amplitude of the string is gently attenuated by air resistance or the like. Go. When the key release operation is performed, the vibration amplitude of the string is rapidly attenuated by the damper coming into contact with the string. In order to simulate such behavior, an envelope waveform shown in FIG. 2C is used for a tone color of a piano or the like. Comparing the envelope waveforms in (a) and (c) of the figure, in the waveform of (c) in the figure, the sustain rate is set according to the attenuation rate during free vibration of the string, and this also makes the envelope in the sustain section. The level is gradually decreasing.
[0008]
Next, in the MIDI standard, a hold signal (hold on and hold off) is defined as a kind of control change. The hold on / off signals respectively indicate “sound duration” and “sound duration cancellation”. The operation when the hold on / off signal is supplied to the tone generator will be described for each type of tone color. First, a control method for the tone color of a rubbing instrument, wind instrument, etc. will be described with reference to FIG. In the figure, it is assumed that the tone-off note-off signal is supplied to the sound source device following the tone-on note-on signal and hold-on signal. In such a case, writing of note-off information to the sound source circuit based on the note-off signal is suspended. Then, when a hold-off signal is supplied to the sound source device thereafter, note-off information is written into the parameter register at that time, thereby starting the mute processing of the sound generation channel. As described above, in this specification, a tone color for which supply of note-off information to the tone generator circuit is suspended in the hold-on state is referred to as a “first type tone color”.
[0009]
Next, the operation at the time of hold-on for the tone color of a piano or the like will be described with reference to FIG. In the figure, it is assumed that the tone-off note-off signal is supplied to the sound source device following the tone-on note-on signal and hold-on signal of a piano or the like. In such a case, note-off information based on this note-off signal is immediately written to the parameter register. However, the release rate in that case is set to a value equal to the sustain rate, that is, a value corresponding to the amplitude attenuation rate during free vibration of the string. When the hold-off signal is supplied to the sound source device, the release rate is set to a normal value, that is, a value corresponding to the amplitude attenuation rate during braking by the damper. In this way, for a tone such as a piano, the on / off operation of a damper pedal such as an acoustic piano is simulated by hold on / off. In this specification, the timbre that switches the release rate in accordance with the hold on / off state without suspending the supply of note-off information to the tone generator circuit is referred to as a “second type timbre” in this specification.
[0010]
Next, the reason why the operation for the hold on / off signal is different depending on the type of tone color as described above will be described. First, in an acoustic piano, it is possible to perform the same key repeatedly while the performer continues to step on the damper pedal. Such a playing method is nothing other than “a note-on signal and a note-off signal are repeatedly supplied alternately in the hold-on state” on the MIDI signal. In the MIDI signal, it is not assumed that the tone signals having the same pitch and the same tone color are simultaneously generated in a plurality of tone generation channels. Therefore, synthesis of tone signals is started in one tone generation channel based on a certain note-on signal. In order to do this, the other tone generation channels having the same pitch and the same tone must be in a note-off state in advance. Therefore, if a note-off signal for the second tone color is supplied to the sound source device, the corresponding tone generation channel is quickly set in preparation for a note-on signal having the same pitch and the same tone that may occur subsequently. It is understood that the note-off timing cannot be delayed even in the hold-on state.
[0011]
On the other hand, the change due to the note-off information is not limited to the envelope level. Depending on the type of timbre, a change occurs in the original musical sound signal before the envelope is applied, or the original musical sound signal itself is attenuated in some cases. In some cases. As described above, note-off information cannot be supplied to the tone generator circuit in the hold-on state in a timbre in which the original musical tone signal is changed by the note-off information. This is because if note-off information is supplied, there will arise a problem that the final tone signal changes even if the envelope level is kept constant. Therefore, it is necessary to categorize such timbres as first-class timbres and suspend the supply of note-off information to the tone generator circuit until the timing at which the hold-on state should be canceled (until the hold-off signal is supplied to the tone generator). is there. As described above, in a sound source device that synthesizes musical tone signals of various musical instruments including a piano, it is difficult to unify all the timbres to be either the first type or the second type timbre, and inevitably the first type. The seed and the second kind timbre coexist.
[0012]
(2) About truncation processing
In general, the number of sound generation channels that can be sounded simultaneously in the sound source circuit is limited (for example, “32” channels). Therefore, when all of these sound generation channels are in use, a new note-off signal is supplied to the sound source device. There are not enough pronunciation channels. In such a case, it is necessary to forcibly mute and release any of the sound generation channels in use and assign the sound generation channel to a new note-on signal. Such a process of forcibly releasing any of the sound generation channels in use is referred to as a “truncate process”. Various techniques are known for determining a channel to be truncated. For example, Patent Document 1 discloses a technique in which sound generation channels that are already in a note-off state are referred to in order of note-off timing, and the sound generation channel is subjected to truncation if the level of the sound generation channel referred to is equal to or lower than a predetermined value. Yes.
[0013]
[Patent Document 1]
JP-A-8-179767
[0014]
[Problems to be solved by the invention]
However, according to the above-described technique, when the note-off signals of the first and second type timbres are repeatedly supplied in the hold-on state, the sound channel of the first type timbre does not enter the note-off state, and the second type The tone sound channel is in the note-off state. As a result, if truncation processing is required during the ensemble of the first and second type timbres, only the sounding channel that is generating the second type timbre is subject to truncation. In other words, only the first type timbre is continued for a long time, only the second type timbre is muted one after another, and the entire musical tone becomes very unnatural.
The present invention has been made in view of the above-described circumstances, and an object thereof is to provide a sound source circuit control program and a sound source circuit control device capable of performing natural truncation processing even when a plurality of timbres are ensembled. .
[0015]
[Means for Solving the Problems]
  In order to solve the above problems, the present invention is characterized by having the following configuration. The parentheses are examples.
  The sound source circuit control program according to claim 1, comprising a plurality of sound generation channels.(Paragraph 0017)When note-on information is supplied to any tone generation channel, generation of a musical tone signal is started in the tone generation channel(Paragraph 0018)At the same time, when note-off information is supplied to the tone generation channel, the sound signal mute processing in the tone generation channel is started.(Paragraph 0020)A sound source circuit control program for controlling the sound source circuit (30),When a hold-on signal for instructing the continuation of the musical sound signal is supplied, a hold register (paragraph 0020) that stores either the hold-on state or the hold-off state as the current state of the tone generator circuit (30). To store the hold-on state (paragraph 0024, FIG. 5). (a) Step SP200) When a hold-off signal is supplied, the hold-off state is stored in the hold register (paragraph 0024, FIG. 5). (b) Step SP210) and a first determination process (paragraph 0020, step SP10 in FIG. 3) for determining whether a hold-on state or a hold-off state is stored in the hold register when a note-off signal is supplied. ), And when it is determined that the hold-on state is stored in the first determination process (paragraph 0020, “YES” in step SP10 in FIG. 3), the suppliedTone determination process for determining whether the note-off signal is for the first type tone color or the second type tone color (Paragraph 0021,SP40) and on the condition that the note-off signal is determined to be for the first type timbre in the timbre determination process (SP40).(“YES” in paragraph 0022, step SP40), Storing information in the note-off hold register that specifies the tone generation channel corresponding to the note-off signal while holding off the supply of note-off information to the tone generator circuit (30) (Paragraph 0022, FIG. 3 StepSP50) and on the condition that the note-off signal is determined to be for the second type timbre in the timbre determination process (SP40).(Paragraph 0023, “NO” in step SP40 in FIG. 3), Immediately supplying note-off information to the sound source circuit (30) (Paragraph 0023, FIG. 3 StepSP30) and note-on signalIs supplied,An empty channel determination process for determining whether or not an empty sound channel exists (Paragraph 0018, FIG. 4 StepSP110) and on the condition that it is determined that the empty sound channel does not exist in the empty channel determination process.(Paragraph 0026, “NO” in step SP120 in FIG. 4),A second determination process (paragraph 0026, step SP140 in FIG. 4) for determining whether a hold-on state or a hold-off state is stored in the hold register, and the hold-on state is stored by the second determination process. (Paragraph 0028, “YES” in step SP140),Sound channel stored in the note-off hold register(Paragraph 0028, FIG. 4, step SP150)And a tone generation channel for which note-off information has already been supplied to the tone generator circuit (30).(Paragraph 0028, step SP160 in FIG. 4)The truncation target channel determination process for determining the truncation target channel to be forcibly released from both sound generation channels (Paragraph 0028, Step(SP170), and an assigning step of assigning the determined truncation target channel to the note-on signal (Paragraph 0028, Figure 4 stepSP130) is executed by the processing device.
  The sound source circuit control device according to claim 2 further comprises a plurality of sound generation channels.(Paragraph 0017)When note-on information is supplied to any tone generation channel, generation of a musical tone signal is started in the tone generation channel(Paragraph 0018)At the same time, when note-off information is supplied to the tone generation channel, the sound signal mute processing in the tone generation channel is started.(Paragraph 0020)A control device for the tone generator circuit (30),As the current state of the sound source circuit (30)Hold register that stores either the hold-on state or hold-off state (Paragraph 0020)When,When a hold-on signal is supplied, the hold-on state is stored in the hold register (paragraph 0024, FIG. 5). (a) Step SP2 00), when the hold-off signal is supplied, the hold-off state is stored in the hold register (paragraph 0024, FIG. 5). (b) Step SP210), hold register control means, and first judgment means for judging whether a hold-on state or a hold-off state is stored in the hold register when a note-off signal is supplied (paragraph 0020, Step SP10 in FIG. 3) and when the first determination means determines that the hold-on state is stored (paragraph 0020, “YES” in step SP10 in FIG. 3), the suppliedTone determination means for determining whether the note-off signal is for the first type tone color or the second type tone color (Paragraph 0021,SP40), and a note-off hold register (SP40) for storing information for specifying a sound channel for which supply of the note-off information is heldParagraph 0022, RAM 52) and the tone color judging means (SP40) on the condition that the note-off signal is judged to be for the first type tone color.(“YES” in paragraph 0022, step SP40)And a note-off holding means for storing in the note-off holding register information for specifying a tone generation channel corresponding to the note-off signal while holding off the supply of note-off information to the tone generator circuit (30).Paragraph 0022, FIG. 3 StepSP50) and the timbre determination means (SP40) on the condition that the note-off signal is determined to be for the second type timbre(Paragraph 0023, “NO” in step SP40 in FIG. 3), Note-off supply means for immediately supplying note-off information to the tone generator circuit (30) (Paragraph 0023, FIG. 3 StepSP30) and note-on signalIs supplied,Empty channel determination means for determining whether or not an empty sound channel exists (Paragraph 0018, FIG. 4 StepSP110) and on the condition that the empty channel determination means determines that the empty sound channel does not exist(Paragraph 0026, “NO” in step SP120 in FIG. 4),The second determination means (paragraph 0026, step SP140 in FIG. 4) for determining whether the hold register stores the hold-on state or the hold-off state, and the second determination means stores the hold-on state. (Paragraph 0028, “YES” in step SP140),Sound channel stored in the note-off hold register(Paragraph 0028, FIG. 4, step SP150)And a tone generation channel for which note-off information has already been supplied to the tone generator circuit (30).(Paragraph 0028, step SP160 in FIG. 4)Truncation target channel determination means for determining a truncation target channel to be forcibly released from both sound generation channels (Paragraph 0028, StepSP170) and an assigning means for assigning the determined truncation target channel to the note-on signal (SP170)Paragraph 0028, Figure 4 stepSP130).
[0016]
DETAILED DESCRIPTION OF THE INVENTION
1. Configuration of the embodiment
1.1. overall structure
First, a hardware configuration of a sound source device 100 according to an embodiment of the present invention will be described with reference to FIG.
In the figure, reference numeral 10 denotes an operator, which includes a switch, a keyboard, a volume, and the like. Reference numeral 15 denotes a detection circuit which detects the state of the switch, the position of the volume, and the like. Reference numeral 20 denotes a display unit, which includes a liquid crystal panel or the like. A display circuit 25 includes a video RAM, a graphic controller, and the like, and displays various types of information on the display unit 20 based on information supplied via the bus line 60.
[0017]
A tone generator circuit 30 generates musical sound signals of a plurality of channels (for example, a maximum of “32” channels). Inside the tone generator circuit 30 is provided a parameter register 30a for storing various parameters for generating these musical tone signals. The contents of the parameter register 30a can be updated as appropriate via the bus line 60. A sound system 35 is composed of an amplifier and a speaker, and emits a musical sound signal generated in the sound source circuit 30. A communication interface 40 is connected to MIDI devices such as a keyboard and a sequencer, and exchanges MIDI signals with these MIDI devices. A ROM 50 stores a control program and the like which will be described later. Reference numeral 54 denotes a CPU which controls each unit via the bus line 60 based on a control program stored in the ROM 50. A RAM 52 is used as a work memory for the CPU 54.
[0018]
2. Operation of the embodiment
2.1. Processing for note-on signal (without truncation)
Next, the operation of this embodiment will be described. First, when a note-on signal is supplied to the sound source device 100, a note-on processing routine shown in FIG. 4 is started. In the figure, when the process proceeds to step SP110, an empty tone generation channel in the tone generator circuit 30 is searched. Next, when the process proceeds to step SP120, it is determined whether or not an empty sound channel is detected. If it is detected, “YES” is determined, and the process proceeds to step SP130. Here, the detected empty sound channel is assigned as the sound channel corresponding to the current note-on signal.
[0019]
Here, the note-on signal includes pitch and velocity information. Further, before the note-on signal is supplied, a tone color is designated in advance by a message such as “program change”. Therefore, when a note-on signal is received, the tone color, pitch, and velocity are specified. Therefore, various parameters for synthesizing the musical tone signal are determined based on these pieces of information, and these parameters are written in a location corresponding to the sound generation channel in the parameter register 30a of the tone generator circuit 30. Further, when note-on information for instructing the start of sounding is written into the parameter register 30a, generation of a tone signal in the sounding channel is started.
[0020]
2.2. Processing for note-off signal
Next, when a note-off signal is supplied to the sound source device 100, a note-off process routine shown in FIG. 3 is started. In the figure, when the process proceeds to step SP10, it is determined whether or not the current state of the sound source device 100 is the hold-on state. As will be described in detail later, the RAM 52 is provided with an area called “hold register”. This hold register is in a hold-on state if the value is “1”, and in a hold-off state if the value is “0”. Indicates. That is, in step SP10, it is determined whether or not the hold register is “1”. If “NO” is determined here, the process proceeds to step SP20, and the “normal release rate”, that is, the release rate corresponding to the hold-off state is written in the location corresponding to the sound generation channel of the parameter register 30a. Next, when the process proceeds to step SP30, note-off information is supplied to the tone generator circuit 30. As a result, thereafter, the tone signal of the tone generation channel is attenuated at the release rate written in the parameter register 30a, and when the tone signal is sufficiently attenuated, the tone generation channel is released.
[0021]
On the other hand, if the sound source device 100 is in the hold-on state, “YES” is determined in step SP10, and the process proceeds to step SP40. Here, it is determined whether or not the tone color of the tone signal corresponding to the note-off signal is the first type tone color. As described above with reference to FIGS. 2B and 2D, the “first type timbre” is “a timbre that suspends supply of note-off information to the tone generator circuit in the hold-on state”. The “second type timbre” is “a timbre that does not suspend supply of note-off information to the tone generator circuit and switches the release rate according to the hold on / off state”.
[0022]
If "YES" is determined in the step SP40, the process proceeds to a step SP50, the sounding channel number is written in the "note-off hold register" secured in a predetermined area in the RAM 52, and the process of this routine is finished. To do. Here, the “note-off hold register” will be described. As described above, for the first type timbre, even if a note-off signal is supplied to the sound generator device 100 in the hold-on state, the note-off information of the sound source circuit 30 is not supplied until the next hold-off signal is supplied. Supply is suspended. The note-off hold register is a register that stores channel numbers of one or a plurality of tone generation channels that hold supply of note-off information in this way. When the supply of note-off information to the tone generator circuit 30 is suspended, as shown in the interval 200 of FIG. 2B, the generation of the tone signal in the sound generation channel is the same as when the note-off signal is not supplied. Continue in state.
[0023]
If the note-off signal for the second type tone color is supplied when the sound source device 100 is in the hold-on state, “NO” is determined in step SP40, and the process proceeds to step SP60. Here, a value equal to the release rate for holding, that is, the sustain rate is written in a location corresponding to the sounding channel in the parameter register 30a. Next, when the process proceeds to step SP30, note-off information is supplied to the tone generator circuit 30. As a result, for example, as shown in a section 210 of FIG. 2D, the tone signal of the sound generation channel is attenuated at a rate similar to that of the sustain section 215.
[0024]
2.3. Processing for hold on / off signal
Next, an operation when a hold on / off signal is supplied via the communication interface 40 will be described. First, when a hold-on signal is supplied, a hold-on processing routine shown in FIG. When the process proceeds to step SP200, the hold register is set to “1”. When a hold-off signal is supplied via the communication interface 40, a hold-off processing routine shown in FIG. In the figure, when the process proceeds to step SP210, the hold register is reset to “0”. Next, when the process proceeds to step SP215, the tone generation circuit 30 stores the tone generation channels stored in the note off hold register, that is, all tone generation channels for which the supply of note off information to the tone generator circuit 30 is reserved. Note-off information is transmitted. As a result, the state of these tone generation channels transitions to the note-off state, and a relatively rapid decay of the musical tone signal is started.
[0025]
When the supply of note-off information to all of these tone generation channels is completed, the process proceeds to step SP220, and the contents of the note-off hold register are cleared. Next, when the process proceeds to step SP225, “normal release rate” is written in the parameter register 30a for the sound generation channel in the note-off state among the sound channels of the second tone color. As a result, the sound signal starts to be attenuated relatively rapidly in the sound generation channel.
[0026]
2.4. Processing for note-on signals (with truncation)
Next, a process when an empty sound channel is not detected in step SP120 of the note-on process routine (FIG. 4) will be described. In such a case, “NO” is determined in step SP120, and the process proceeds to step SP140. Here, the hold register is referred to, and it is determined whether or not the current state of the sound source device 100 is the hold-on state (hold register = “1”). If “NO” (hold-off state) is determined here, the process proceeds to step SP160, and among the sound generation channels of the tone generator circuit 30, the tone generation channel set to the note-off state, that is, the tone generator circuit 30 is already set. The sound channel in which the note-off information is transmitted is extracted.
[0027]
Next, when the process proceeds to step SP170, one sounding channel that satisfies the “predetermined condition” is detected from all the extracted sounding channels, and the detected sounding channel is determined as a truncation target channel, and the one sounding channel is determined. The sound generation process of the channel (channel to be truncated) is forcibly terminated. Here, as the “predetermined condition”, for example, “the one with the earliest timing at which the tone generator 100 receives the note-off signal” or “the one with the lowest level of the tone signal being generated” may be applied. Next, when the process proceeds to step SP130, the forcibly ended sound generation channel is assigned to a new note-on signal, and a sound generation process corresponding to the new note-on signal is started.
[0028]
On the other hand, if the current state of the sound source device 100 is the hold-on state, “YES” is determined in step SP140, and the process proceeds to step SP150. Here, all sound generation channels stored in the note-off hold register, that is, sound generation channels for which supply of note-off information to the sound source circuit 30 is reserved are extracted. In step SP160, as described above, the tone generation channel set in the note-off state in the tone generator circuit 30 is extracted. When both steps SP150 and SP160 are executed in this way, in the next step SP170, the above-mentioned “predetermined condition” is satisfied from all the sound generation channels extracted in both steps SP150 and SP160. One sounding channel is detected, the detected sounding channel is determined as a truncation target channel, and the sounding process of the determined truncation target channel is forcibly terminated. Then, as described above, when the process proceeds to step SP130, the forcibly terminated sound generation channel is assigned to a new note-on signal.
[0029]
As described above, according to the present embodiment, when truncation processing is necessary in the hold-on state, not only the sound generation channel set in the note-off state in the tone generator circuit 30 but also the note-off hold register is stored. Sound generation channels are also candidates for truncation processing (steps SP150, SP160, 170). For this reason, according to the present embodiment, it is possible to select a tone generation channel having the least influence among all the tone generation channels as a truncation target, and natural truncation processing can be performed even when a plurality of timbres are ensembled.
[0030]
3. Modified example
The present invention is not limited to the above-described embodiment, and various modifications can be made as follows, for example.
(1) In step SP170 of the above embodiment, one sounding channel to be subjected to truncation processing is specified from all sounding channels extracted in steps SP150 and SP160. It is not necessary to target “all” pronunciation channels. For example, the sound channel is narrowed down according to a predetermined condition, for example, only the sound channel of a specific part is subjected to truncation processing, and the sound channel targeted for truncation processing is identified from the narrowed sound generation channels. It may be.
For example, a technique called “layer” is known in which a plurality of tone generation channels are allocated corresponding to one note-on signal, and tone signals of a plurality of tone colors (for example, a piano and a violin) forming a predetermined “set” are simultaneously pronounced. Yes. When such a “layer” is applied, when one sound channel assigned to the same note-on signal is released, the other sound channel is preferentially selected as a truncation target. It is good to.
[0031]
(2) In the above embodiment, as examples of the “predetermined condition” in step SP170, “the one with the earliest timing at which the tone generator 100 receives the note-off signal” and “the level of the tone signal being sounded is the highest. Although “low” is mentioned, this “predetermined condition” is not limited to the above. That is, various methods are known as methods for determining one sounding channel that is considered to have little influence on the sound being sounded even if the volume of the sound signal being sounded is sufficiently small and forcibly muted. Therefore, it goes without saying that these methods may be applied to the present invention.
[0032]
(3) In step SP140 of the above embodiment, it is determined whether or not the hold is on. If not, the process of step SP150 is skipped. However, the determination at step SP140 may be omitted, and both steps SP150 and SP160 may be executed regardless of whether the hold is on. This is because the note-off hold register is cleared when the hold-off state is entered (see step SP220 in FIG. 5B). Therefore, even if step SP150 is executed, a tone generation channel that is not in the note-off state is selected as a truncation target. This is because such a problem does not occur.
[0033]
(4) In the above embodiment, truncation processing or the like is executed by a program stored in the ROM 50. However, this program may be stored in a hard disk, a CD-ROM or the like and expanded in the RAM 52 for execution. Further, only this program can be stored in a recording medium such as a CD-ROM or a flexible disk and distributed, or can be distributed through a transmission path.
[0034]
【The invention's effect】
As described above, according to the present invention, on the condition that it is determined that there is no empty sound channel when the note-on signal is received, the sound channel and the sound source circuit stored in the note-off hold register are determined. Therefore, the truncation target channel to be forcibly released is determined from the sound generation channels of the sound generation channels to which note-off information has already been supplied. Therefore, natural truncation processing can be performed even when ensembles of a plurality of tones are used.
[Brief description of the drawings]
FIG. 1 is an overall block diagram of a sound source device 100 according to an embodiment of the present invention.
FIG. 2 is an envelope waveform diagram in the sound source circuit 30;
FIG. 3 is a flowchart of a note-off process routine.
FIG. 4 is a flowchart of a note-on process routine.
FIG. 5 is a flowchart of a hold-on process routine and a hold-off process routine.
[Explanation of symbols]
10: operator, 15: detection circuit, 20: display unit, 25: display circuit, 30: sound source circuit, 30a: parameter register, 35: sound system, 40: communication interface, 50: ROM, 52: RAM, 54: CPU, 60: bus line, 100: sound source device.

Claims (2)

複数の発音チャンネルを有し、何れかの発音チャンネルに対してノートオン情報が供給されると該発音チャンネルにおいて楽音信号の生成を開始するとともに、該発音チャンネルに対してノートオフ情報が供給されると該発音チャンネルにおける楽音信号の消音処理を開始する音源回路を制御する音源回路の制御プログラムであって、
楽音信号の持続を指示するホールドオン信号が供給されたときには、前記音源回路の現在の状態としてホールドオン状態またはホールドオフ状態の何れかの状態を記憶するホールドレジスタに対してホールドオン状態を記憶し、ホールドオフ信号が供給されたときには前記ホールドレジスタにホールドオフ状態を記憶する過程と、
ノートオフ信号が供給されたときに、前記ホールドレジスタにホールドオン状態またはホールドオフ状態の何れが記憶されているかを判断する第1の判断過程と、
前記第1の判断過程においてホールドオン状態が記憶されていると判断された場合、前記供給されたノートオフ信号が第1種音色または第2種音色のうち何れに対するものであるかを判定する音色判定過程と、
前記音色判定過程において前記ノートオフ信号が前記第1種音色に対するものであると判定されたことを条件として、前記音源回路に対するノートオフ情報の供給を保留しつつ該ノートオフ信号に対応する発音チャンネルを特定する情報をノートオフ保留レジスタに記憶する過程と、
前記音色判定過程において前記ノートオフ信号が前記第2種音色に対するものであると判定されたことを条件として、前記音源回路に対して直ちにノートオフ情報を供給する過程と、
ノートオン信号が供給されたときに、空き発音チャンネルが存在するか否かを判定する空きチャンネル判定過程と、
前記空きチャンネル判定過程において前記空き発音チャンネルが存在しないと判定されたことを条件として、前記ホールドレジスタにホールドオン状態またはホールドオフ状態の何れが記憶されているかを判断する第2の判断過程と、
前記第2の判断過程によってホールドオン状態が記憶されていると判断された場合、前記ノートオフ保留レジスタに記憶されている発音チャンネルおよび前記音源回路に対して既にノートオフ情報が供給されている発音チャンネルの双方の発音チャンネルから、強制的に解放すべきトランケート対象チャンネルを決定するトランケート対象チャンネル決定過程と、
該決定されたトランケート対象チャンネルを前記ノートオン信号に対して割り当てる割当過程と
を処理装置に実行させることを特徴とする音源回路の制御プログラム。
When there is a plurality of sound generation channels and note-on information is supplied to any of the sound generation channels, generation of a musical tone signal is started in the sound generation channel, and note-off information is supplied to the sound generation channel And a sound source circuit control program for controlling the sound source circuit for starting the mute processing of the musical sound signal in the sound generation channel,
When a hold-on signal instructing the continuation of the musical sound signal is supplied, the hold-on state is stored in a hold register that stores either the hold-on state or the hold-off state as the current state of the sound source circuit. Storing a hold-off state in the hold register when a hold-off signal is supplied;
A first determination step of determining whether a hold-on state or a hold-off state is stored in the hold register when a note-off signal is supplied;
A timbre that determines whether the supplied note-off signal is for the first timbre or the second timbre when it is determined that the hold-on state is stored in the first determination process Judgment process,
A tone generation channel corresponding to the note-off signal while holding off the supply of note-off information to the sound source circuit on condition that the note-off signal is determined to be for the first type timbre in the tone determination process Storing information for identifying in a note-off hold register;
A step of immediately supplying note-off information to the sound source circuit on the condition that the note-off signal is determined to be for the second type timbre in the timbre determination step;
An empty channel determination process for determining whether an empty sound channel exists when a note-on signal is supplied ;
A second determination step of determining whether a hold-on state or a hold-off state is stored in the hold register on the condition that the empty sound channel is determined not to exist in the empty channel determination step ;
If it is determined by the second determination process that the hold-on state is stored, note-off information already supplied to the sound-generation channel and the tone generator circuit stored in the note-off hold register A truncation target channel determination process for determining a truncation target channel to be forcibly released from both sound generation channels of the channel;
A program for controlling a sound source circuit, causing a processing device to execute an assigning step of assigning the determined truncation target channel to the note-on signal.
複数の発音チャンネルを有し、何れかの発音チャンネルに対してノートオン情報が供給されると該発音チャンネルにおいて楽音信号の生成を開始するとともに、該発音チャンネルに対してノートオフ情報が供給されると該発音チャンネルにおける楽音信号の消音処理を開始する音源回路の制御装置であって、
該音源回路の現在の状態としてホールドオン状態またはホールドオフ状態の何れかの状態を記憶するホールドレジスタと、
ホールドオン信号が供給されたときには、前記ホールドレジスタにホールドオン状態を記憶し、ホールドオフ信号が供給されたときには前記ホールドレジスタにホールドオフ状態を記憶する、ホールドレジスタ制御手段と、
ノートオフ信号が供給されたときに、前記ホールドレジスタにホールドオン状態またはホールドオフ状態の何れが記憶されているかを判断する第1の判断手段と、
前記第1の判断手段によってホールドオン状態が記憶されていると判断された場合、前記供給されたノートオフ信号が第1種音色または第2種音色のうち何れに対するものであるかを判定する音色判定手段と、
前記ノートオフ情報の供給を保留している発音チャンネルを特定する情報を記憶するノートオフ保留レジスタと、
前記音色判定手段において前記ノートオフ信号が前記第1種音色に対するものであると判定されたことを条件として、前記音源回路に対するノートオフ情報の供給を保留しつつ該ノートオフ信号に対応する発音チャンネルを特定する情報を前記ノートオフ保留レジスタに記憶するノートオフ保留手段と、
前記音色判定手段において前記ノートオフ信号が前記第2種音色に対するものであると判定されたことを条件として、前記音源回路に対して直ちにノートオフ情報を供給するノートオフ供給手段と、
ノートオン信号が供給されたときに、空き発音チャンネルが存在するか否かを判定する空きチャンネル判定手段と、
前記空きチャンネル判定手段において前記空き発音チャンネルが存在しないと判定されたことを条件として、前記ホールドレジスタにホールドオン状態またはホールドオフ状態の何れが記憶されているかを判断する第2の判断手段と、
前記第2の判断手段によってホールドオン状態が記憶されていると判断された場合、前記ノートオフ保留レジスタに記憶されている発音チャンネルおよび前記音源回路に対して既にノートオフ情報が供給されている発音チャンネルの双方の発音チャンネルから、強制的に解放すべきトランケート対象チャンネルを決定するトランケート対象チャンネル決定手段と、
該決定されたトランケート対象チャンネルを前記ノートオン信号に対して割り当てる割当手段と
を有することを特徴とする音源回路の制御装置。
When there is a plurality of sound generation channels and note-on information is supplied to any of the sound generation channels, generation of a musical tone signal is started in the sound generation channel, and note-off information is supplied to the sound generation channel And a sound source circuit control device for starting mute processing of the musical sound signal in the sound generation channel,
A hold register that stores either a hold-on state or a hold-off state as the current state of the sound source circuit ;
A hold register control means for storing a hold-on state in the hold register when a hold-on signal is supplied, and storing a hold-off state in the hold register when a hold-off signal is supplied;
First determination means for determining whether a hold-on state or a hold-off state is stored in the hold register when a note-off signal is supplied;
A timbre that determines whether the supplied note-off signal is for the first-type timbre or the second-type timbre when the first determination means determines that the hold-on state is stored A determination means;
A note-off hold register for storing information for identifying a sound generation channel holding the supply of the note-off information;
A tone generation channel corresponding to the note-off signal while holding off the supply of note-off information to the tone generator circuit, provided that the tone-color determination means determines that the note-off signal is for the first type timbre Note-off hold means for storing information for specifying in the note-off hold register;
Note-off supply means for immediately supplying note-off information to the sound source circuit on the condition that the tone-color determination means determines that the note-off signal is for the second type timbre;
An empty channel determination means for determining whether an empty sound channel exists when a note-on signal is supplied ;
Second determining means for determining whether a hold-on state or a hold-off state is stored in the hold register on the condition that the empty channel determination means determines that the empty sound generation channel does not exist ;
When it is determined by the second determination means that the hold-on state is stored, note-off information already supplied to the sound-generation channel and the tone generator circuit stored in the note-off hold register A truncation target channel determination means for determining a truncation target channel to be forcibly released from the sound generation channels of both channels;
An apparatus for controlling a sound source circuit, comprising: allocating means for allocating the determined truncation target channel to the note-on signal.
JP2003204456A 2003-07-31 2003-07-31 Sound source circuit control program and sound source circuit control device Expired - Lifetime JP4103706B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003204456A JP4103706B2 (en) 2003-07-31 2003-07-31 Sound source circuit control program and sound source circuit control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003204456A JP4103706B2 (en) 2003-07-31 2003-07-31 Sound source circuit control program and sound source circuit control device

Publications (2)

Publication Number Publication Date
JP2005049497A JP2005049497A (en) 2005-02-24
JP4103706B2 true JP4103706B2 (en) 2008-06-18

Family

ID=34263459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003204456A Expired - Lifetime JP4103706B2 (en) 2003-07-31 2003-07-31 Sound source circuit control program and sound source circuit control device

Country Status (1)

Country Link
JP (1) JP4103706B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4525481B2 (en) * 2005-06-17 2010-08-18 ヤマハ株式会社 Musical sound waveform synthesizer
US7807914B2 (en) * 2007-03-22 2010-10-05 Qualcomm Incorporated Waveform fetch unit for processing audio files
JP5699558B2 (en) * 2010-11-17 2015-04-15 ヤマハ株式会社 Musical sound generating apparatus and program
JP6467389B2 (en) * 2016-09-21 2019-02-13 京楽産業.株式会社 Game machine

Also Published As

Publication number Publication date
JP2005049497A (en) 2005-02-24

Similar Documents

Publication Publication Date Title
JP4107107B2 (en) Keyboard instrument
US6576826B2 (en) Tone generation apparatus and method for simulating tone effect imparted by damper pedal
CN110299128A (en) Electronic musical instrument, method, storage medium
JP3372124B2 (en) Electronic musical instrument
JP4103706B2 (en) Sound source circuit control program and sound source circuit control device
JPH10214083A (en) Musical sound generating method and storage medium
JP2001067078A (en) Performance device, effect control device, and record medium therefor
JPH04198994A (en) Method for controlling musical tone of electronic musical instrument
US6274798B1 (en) Apparatus for and method of setting correspondence between performance parts and tracks
JP3613062B2 (en) Musical sound data creation method and storage medium
JP3719129B2 (en) Music signal synthesis method, music signal synthesis apparatus and recording medium
US6414232B2 (en) Tone generation method and apparatus based on software
JP7332002B2 (en) Electronic musical instrument, method and program
JP3003559B2 (en) Music generation method
JP7124370B2 (en) Electronic musical instrument, method and program
JP3405181B2 (en) Musical tone generation method
JP3632744B2 (en) Sound generation method
JP7476501B2 (en) Resonance signal generating method, resonance signal generating device, resonance signal generating program, and electronic music device
JP3931847B2 (en) Waveform selection device and waveform selection program
JP3324409B2 (en) Music processing method and apparatus
JP2715795B2 (en) Musical sound synthesizer having pronunciation assigning means
JP4106798B2 (en) Sound generator
JP2001242867A (en) Musical sound controller
JP3716701B2 (en) Sound channel assignment method and apparatus
JP4186855B2 (en) Musical sound control device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070417

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: 20080304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080317

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140404

Year of fee payment: 6