JP3539480B2 - 楽音信号発生装置、楽音信号発生方法及び楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
楽音信号発生装置、楽音信号発生方法及び楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3539480B2 JP3539480B2 JP12440399A JP12440399A JP3539480B2 JP 3539480 B2 JP3539480 B2 JP 3539480B2 JP 12440399 A JP12440399 A JP 12440399A JP 12440399 A JP12440399 A JP 12440399A JP 3539480 B2 JP3539480 B2 JP 3539480B2
- Authority
- JP
- Japan
- Prior art keywords
- tone signal
- signal generation
- tone
- generating
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、楽音信号をそれぞれ発生する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルに、楽音信号の発生指示を割り当てて楽音信号を発生する楽音信号発生装置、同楽音信号を発生する楽音信号発生方法、及び同楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
従来から、楽音信号をそれぞれ発生する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルに楽音信号の発生指示を割り当てて楽音信号を発生することはよく知られている。この場合、楽音信号の発生指示があった時点で、複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルが楽音信号を発生中でなければ、同楽音信号を発生中でないいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、また全ての楽音信号発生チャンネルが楽音信号を発生中であれば、楽音信号の発生を中断しても聴感上最も違和感のない楽音信号を発生中の楽音信号発生チャンネル(振幅エンベロープの最も小さな楽音信号を発生中の楽音信号発生チャンネル、楽音信号の発生終了の指示(キーオフ)が最も古い楽音信号発生チャンネルなど)を選択して、同選択した楽音信号発生チャンネルに前記同楽音信号の発生指示を割り当てる。この割り当ての際には、前記選択した楽音信号発生チャンネルにて発生中の楽音信号の振幅を急速に減衰させるダンプ処理を行い、同ダンプ処理により楽音信号の発生が終了した時点で(振幅エンベロープが「0」になった時点で)、新たな楽音信号の発生指示を割り当ててノイズの発生を防止するようにしていた。
【0003】
【発明が解決しようとする課題】
しかし、上記従来の方法にあっては、ダンプ処理により楽音信号の振幅エンベロープが減衰し始めてから減衰し終わるまでには1〜2ミリ秒程度の時間を必要とするので、全ての楽音信号発生チャンネルが楽音信号を発生中に、新たな楽音信号の発生指示があった場合には、楽音信号の発生が遅れるという問題があった。特に、全ての楽音信号発生チャンネルが楽音信号を発生中に、複数の楽音信号の発生指示がほぼ同時にあると、前記楽音信号の発生遅れが大きな問題となる。これを解決するために、ダンプ処理による楽音信号の減衰レートを高くすることも考えられるが、同減衰レートを高くした場合には楽音信号の振幅エンベロープが急峻過ぎてノイズが発生するという問題がある。他の方法として、ハード回路のみで構成した音源回路では同音源回路にダンプ処理のための補間回路を設けたり、一部をプログラム処理で構成したソフト音源にあっては同ソフト以外のハード回路部分に前記のような補間回路を設けたりすることも考えられるが、これでは回路規模が大きくなるという問題がある。また、前記ソフト音源では、ソフト部分(プログラム処理部分)に前記ダンプ処理のための演算処理を含ませることもできないわけではないが、これでは処理速度の点で他の処理に支障をきたすことがある。
【0004】
【発明の概略】
本発明は、上記問題に対処するためになされもので、その目的は、楽音信号をそれぞれ発生する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルに、楽音信号の発生指示を割り当てて楽音信号を発生する楽音信号発生装置及び同楽音信号を発生する楽音信号発生方法において、回路規模を増大させることなく、またソフト音源にも簡単に適用できるようにしたうえで、全ての楽音信号発生チャンネルが楽音信号を発生中に、新たな楽音信号の発生指示があった場合でも、楽音信号の発生指示から遅滞なく楽音信号を発生できるようにすることにある。
【0005】
前記目的を達成するために、本発明の構成上の特徴は、楽音信号の発生指示を異なる態様でそれぞれ行う第1モードおよび第2モードのうちのいずれか一方のモードを選択し、前記第1モードが選択されているとき、楽音信号の発生指示に応答して前記複数の楽音信号発生チャンネルの全ての中に楽音信号を発生中でない楽音信号発生チャンネルがあるかを判定し、楽音信号を発生中でない楽音信号発生チャンネルがあれば同楽音信号を発生中でない楽音信号発生チャンネルうちのいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、楽音信号を発生中でない楽音信号発生チャンネルがなければ楽音信号を発生中の楽音信号発生チャンネルうちのいずれかの楽音信号発生チャンネルにおける楽音信号の発生を終了させて、同楽音信号の発生を終了させた楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、前記第2モードが選択されているとき、前記複数の楽音信号発生チャンネルを、複数の楽音信号発生チャンネルからなる発音用グループと複数の楽音信号発生チャンネルからなる待機用グループとの2グループに分けて管理し、前記待機用グループに属する複数の楽音信号発生チャンネルが不足したとき、前記発音用グループに属する複数の楽音信号発生チャンネルの一部を前記待機用グループに登録して、同登録した楽音信号発生チャンネルにて発生中の楽音信号をダンプ処理し、前記待機用グループに属する複数の楽音信号発生チャンネルを補充し、かつ前記第2モードが選択されているとき、楽音信号の発生指示に応答して、前記発音用グループに属する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルが楽音信号を発生中でなければ、同楽音信号を発生中でないいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、前記発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中であれば、前記待機用グループに属する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当てるようにしたことにある。
【0006】
このように構成した本発明においては、第2モードが選択されていれば、発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中である状態で、新たな楽音信号の発生指示があっても、発音用グループに属するいずれかの楽音信号発生チャンネルのダンプ処理の終了を待つことなく、前記楽音信号の発生指示が待機用グループに属するいずれかの楽音信号発生チャンネルに割り当てられる。また、待機用グループに属する楽音信号発生チャンネルが不足した場合には、待機用グループに属する楽音信号発生チャンネルが補充されるので、複数の楽音信号の発生指示も待機用グループに属する楽音信号発生チャンネルに即座に割り当てられ、楽音信号の発生遅れの問題が解消される。また、前記構成はプログラム処理により簡単に実現されるので、回路規模が増大することがないとともに、ソフト音源にも簡単に適用できる。
【0007】
前記待機用グループに属する複数の楽音信号発生チャンネルの補充に関する一態様としては、前記待機用グループに属する複数の楽音信号発生チャンネルを補充する際、前記待機用グループに属する複数の楽音信号発生チャンネルへの楽音信号の発生指示の割り当て順が最後になるように、前記ダンプ処理された楽音信号発生チャンネルを前記待機用グループに登録するようにすればよい。
【0009】
【実施の形態】
以下、本発明の一実施形態を図面を用いて説明すると、図1は本発明に係る電子楽器をブロック図により示している。
【0010】
この電子楽器は、鍵盤10及び操作パネル20を備えている。鍵盤10は、音高をそれぞれ指定するとともに楽音信号の発生をそれぞれ指示する複数の演奏操作子としての複数の鍵からなり、これらの各鍵の押離鍵は、鍵スイッチ回路11内に各鍵に対応して設けた鍵スイッチにより検出されるようになっている。操作パネル20には、発生される楽音信号の音色、同楽音信号に付与される効果などの楽音の態様を選択するための選択操作子群21と、電子楽器の作動モードを選択するためのモード選択操作子群22、その他の操作子群23などが設けられているとともに、液晶ディスプレで構成されて文字などを表示する表示器24も設けられている。これらの各操作子群21〜23の各操作は、操作子スイッチ回路25内に各操作子に対応して設けた操作子スイッチにより検出されるようになっている。表示器20の表示状態は、表示制御回路26により制御されるようになっている。
【0011】
これらの鍵スイッチ回路11、操作子スイッチ回路25及び表示制御回路26は、バス31に接続されている。バス31には、マイクロコンピュータの本体部を構成するCPU32,RAM33及びROM34が接続されているとともに、外部記憶装置40、通信インターフェース50及び音源回路60も接続されている。
【0012】
CPU32は、図2〜4のフローチャートに対応したプログラムの実行により、楽音信号の発生を制御する。RAM33及びROM34は、前記プログラム及び各種データを記憶するものである。特に、RAM33内には、少なくともチャンネルデータエリア、発音用グループエリア及び待機用グループエリアが設けられている。
【0013】
チャンネルデータエリアは、図5に示すように、音源回路60に設けた複数の楽音信号信号発生チャンネル(本実施形態では、0〜127の計128チャンネル)にそれぞれ対応したチャンネルデータを記憶するものである。各チャンネルデータは、ビジーフラグBF、キーフラグKF、キーコードKC、及び鍵タッチデータ、各楽音毎に音色、効果などを制御する制御パラメータなどのその他の制御データからなる。ビジーフラグBFは、“1”により各楽音信号発生チャンネルが楽音信号を発生中であることを表し、“0”により楽音信号を発生していなくて該当する楽音信号発生チャンネルが空きチャンネルであることを表す。キーフラグKFは、”1“によりキーオン状態にある楽音信号を発生中であることを表し、”0“によりキーオフ後の楽音信号を発生中であることを表す。キーコードKCは、鍵盤の各鍵に対応した鍵音高を表す。
【0014】
発音用グループエリアは、図6に示すように、発音用グループに属しているチャンネル番号を記憶するもので、待機用グループエリアは待機用グループに属しているチャンネル番号を記憶するものである。なお、発音用グループとは、音源回路60に設けた複数の楽音信号発生チャンネルのうちで、通常時に楽音信号の発生のために使われる楽音信号発生チャンネルのことである。また、待機用グループとは、音源回路60に設けた複数の楽音信号発生チャンネルのうちで、発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中である場合にのみ、楽音信号の発生のために使われる楽音信号発生チャンネルのことである。本実施形態では、音源回路60には128個の楽音信号発生チャンネルが設けられており、同128個の楽音信号発生チャンネルのうちで、100個の楽音信号発生チャンネルが発音用グループに属し、残りの28個の楽音信号発生チャンネルが待機用グループに属する。
【0015】
外部記憶装置40は、各種データ及びプログラムを記録するためのコンパクトディスク、フレキシブルディスク、ハードディスク、光ディスクなどの記録媒体と、各種データ及びプログラムを同記録媒体から読み取るとともに同記録媒体に書き込むドライブ装置とを包含するものである。通信インターフェース50は、MIDI(Musical Instrument Digital Interface)を含み、他の電子楽器、コンピュータ装置などの外部機器との接続を可能として、楽音の発生及び発生楽音の音色などを制御するための演奏データ、その他のプログラム及びデータの入出力を可能とする。
【0016】
音源回路60は、複数の楽音信号発生チャンネルを備え、各楽音信号発生チャンネルはバス31を介して供給されるキーコードKC、キーオン信号KON、キーオフ信号KOF、各楽音制御パラメータにしたがった楽音信号を形成してそれぞれ出力する。この音源回路60には、アンプ61を介してスピーカ62が接続されている。
【0017】
次に、上記のように構成した実施形態の動作を説明する。各種データ及び図2の楽音発生制御プログラムを含む各種プログラムを記録したコンパクトディスク、フレキシブルディスク、ハードディスク、光ディスクなどの記録媒体を外部記憶装置40のドライブにセットした状態で、電源スイッチを投入すると、同記録媒体内の各種データ及びプログラムがRAM34に転送され、この電子楽器が楽音を発音可能な作動状態になる。なお、前記各種データ及び各種プログラムをROM34に予め記憶させておいて、前記電源スイッチの投入時にこの電子楽器を楽音の発音可能な作動状態に設定するようにしてもよい。
【0018】
前記のような電子楽器の作動状態で、演奏者によって鍵盤10が押離及び離鍵操作されると、鍵スイッチ回路11は、前記押鍵操作に伴って同押鍵操作された鍵を表すキーコードKC及びキーオン信号KONなどの演奏データを出力し、また前記離鍵操作に伴って同離鍵操作された鍵を表すキーコードKC及びキーオフ信号KOFなどの演奏データを出力する。これらの演奏データはバス31を介してCPU32に供給される。一方、前記のような演奏データは、この電子楽器に内蔵の自動演奏装置、自動伴奏装置などからバス31を介してCPU32に供給されたり、他の電子楽器、外部の自動演奏装置、コンピュータ装置などから外部の通信回線、通信インターフェース50、バス31を介してCPU32に供給されることもある。
【0019】
これらの演奏データの供給に応答して、CPU32は、図2のステップ100にて楽音発生制御プログラムを実行し始める。前記開始後、CPU32は、ステップ102にて鍵スイッチ回路11、通信インターフェース回路50などから演奏データを入力し、ステップ104にて、前記演奏データが楽音信号の発生開始指示に関するものであるか否か、すなわちキーオン信号KONを含むものであるか否かを判定する。演奏データがキーオン信号KONを含むものであれば、ステップ104に“YES”と判定し、ステップ106〜110の処理後、ステップ114にてこの楽音発生制御プログラムの実行を終了する。また、演奏データがキーオン信号KONを含むものでなければ(キーオフ信号KOFを含むものであれば)、すなわち楽音信号の発生終了指示に関するものであれば、ステップ104にて“NO”と判定し、ステップ112の処理後、ステップ114にてこの楽音発生制御プログラムの実行を終了する。
【0020】
ステップ106〜110の処理は、設定モードに応じて楽音信号の発生指示を行うものである。設定モードは選択的に設定される第1及び第2モードからなり、モード選択スイッチ群22に属する発音指示モード選択スイッチ、又は図示しないその他のスイッチ群に含まれるテンキー、カーソル、エンターキーなどにより表示器24を用いて選択的に設定される。まず、設定モードが第1モードであり、かつ前記演奏データがキーオン信号KONを含むものである場合について説明する。
【0021】
この場合、前記ステップ104,106にて共に“YES”と判定して、ステップ108にて第1モードルーチンを実行する。この第1モードルーチンは、図3のステップ200にて開始され、ステップ202にて、RAM33内のチャンネルデータエリア(図5)の全てのビジーフラグBFが“1”であるか否かを判定することにより、音源回路60の全ての楽音信号発生チャンネルのうちで楽音信号を発生中でないチャンネル(空きチャンネル)があるか否かを検索する。この場合、“0”すなわち空きチャンネルを表すビジーフラグBFが存在すれば、同ステップ202にて“YES”と判定して、プログラムをステップ204に進める。
【0022】
ステップ204においては、前記空きチャンネルのうちのいずれか一つ若しくは複数を発音チャンネルとして決定する。そして、ステップ206にて前記決定した発音チャンネルに楽音信号の発生指示を割り当てる。この楽音信号の発生指示の割り当てにおいては、チャンネルデータエリア内のビジーフラグBFを“1”に設定し、キーフラグKFを前記ステップ102の処理により入力したキーオン信号KONに基づいて“1”に設定し、キーコードKCを前記ステップ102の処理により入力したキーコードKCに設定し、チャンネル別のその他の制御データを必要に応じて設定する。また、このチャンネルデータの設定と同時に、前記入力したキーコードKC、キーオン信号KON、チャンネル別の制御データ、及び楽音信号の発生のために必要なその他の制御データに、前記発音チャンネルとして決定した楽音信号発生チャンネルを表すチャンネル番号データを加えて、バス31を介して音源回路60に転送する。前記ステップ206の処理後、ステップ214にてこの第1モードルーチンの実行を終了する。そして、楽音発生制御プログラムに復帰し、ステップ114にて同プログラムの実行を終了する。
【0023】
音源回路60は、前記供給された各種データを取り込み、チャンネル番号データにより表された楽音信号発生チャンネルにキーコードKC、キーオン信号KON、チャンネル別の制御データ、及び楽音信号の発生のために必要なその他の制御データを割り当て、キーコードKCにより表された鍵音高を有するとともに各種制御データにより規定される音色及び効果の付与された楽音信号を発生し始める。この場合、制御データにより指定される音色の楽音信号が持続系のものであれば、図7(A)に示すように、キーオンタイミングから急激に立ち上がり、その後減衰して離鍵されるまでサステインレベルを維持する振幅エンベロープを有する楽音信号が発生され、アンプ61およびスピーカ62を介して楽音として発音される。また、制御データにより指定される音色の楽音信号が減衰系のものであれば、図7(B)に示すように、キーオンタイミングから急激に立ち上がり、その後徐々に減衰する振幅エンベロープを有する楽音信号が発生される。
【0024】
また、前記のように設定モードが第1モードである状態で、キーオフ信号KOFを含む演奏データがCPU32に供給された場合には、前記のように図2のステップ112における楽音信号の発生終了処理が実行される。この楽音信号の発生終了処理において、RAM33内のチャンネルデータエリアを検索して前記供給された演奏データ中のキーコードKCと同一のキーコードKCを含むチャンネルデータを探し、同チャンネルデータのキーフラグKFを前記ステップ102の処理により入力したキーオフ信号KOFに基づいて“0”に変更する。このチャンネルデータの変更と同時に、前記変更したチャンネルデータに対応した楽音信号発生チャンネルにチャンネル番号データと共にキーオフ信号KOFをバス31を介して音源回路60に転送する。前記ステップ112の処理後、ステップ114にてこの楽音発生制御プログラムの実行を終了する。
【0025】
音源回路60は、前記供給されたチャンネル番号データ及びキーオフ信号KOFに基づいて、同チャンネル番号データにより表された楽音信号発生チャンネルにて発生中の楽音信号に対してキーオフ処理を施す。これにより、発生中の楽音信号が持続系のものであれば、楽音信号の振幅エンベロープは、図7(A)に示すように、サステインレベルからなだらかに減衰していく。なお、発生中の楽音信号が減衰系の場合には、楽音信号の振幅エンベロープは発生される音色に応じて図7(B)に示すようにそのままなだらかに減衰したり、キーオフタイミング時点から減衰レートを高くして減衰したりする。
【0026】
そして、これらの減衰が終了した時点で、すなわち楽音信号の振幅エンベロープのレベルが「0」又はほぼ「0」になった時点で、音源回路60は、減衰の終了した楽音信号発生チャンネルを表すチャンネル番号と共に楽音信号の発生終了を表す終了信号をバス31を介してCPU32に供給する。この終了信号の到来に応答して、CPU32は図示しないプログラムの実行によりチャンネルデータエリア内であって前記チャンネル番号に対応したチャンネルデータ中のビジーフラグBFを“0”に変更しておく。これにより、前記楽音信号発生チャンネルへの楽音信号の発生指示の割り当てがふたたび可能になる。
【0027】
一方、前記ステップ202の判定処理において、“NO”すなわちチャンネルデータエリア内の全てのビジーフラグBFが”1“であって音源回路60の全ての楽音信号発生チャンネルのうちに空きチャンネルがないと判定されると、CPU32はプログラムをステップ208〜212に進める。ステップ208においては、音源回路60内の全ての楽音信号発生チャンネルの中から、楽音信号の発生を中断しても聴感上最も違和感のない楽音信号を発生中の楽音信号発生チャンネルをトランケートチャンネルとして決定するとともに、同楽音信号発生チャンネルを発音チャンネルとしても決定する。なお、前記聴感上最も違和感のない楽音信号とは、振幅エンベロープの最も小さな楽音信号、又は発生終了指示(キーオフ)が最も古い楽音信号である。
【0028】
ステップ210においては、前記トランケートチャンネルを表すチャンネル番号データと共にトランケート信号を音源回路60に出力してダンプ処理を指示する。音源回路60は、前記チャンネル番号により指定される楽音信号発生チャンネルにて発生中の楽音信号の振幅エンベロープを図7(A)(B)にて破線で示すように急速に減衰させる。ステップ212はダンプ処理が完了したか否かを判定する処理であり、同判定処理においては音源回路60から前記のように楽音信号の発生終了を表す終了信号の到来を待つ。CPU32は、終了信号が到来するまでステップ212にて“NO”と判定し続けて判定処理を実行し続け、終了信号が到来すると“YES”と判定してプログラムをステップ206に進める。
【0029】
ステップ206においては、前述した場合と同様にして、前記ステップ208の処理により決定した発音チャンネルに楽音信号の発生指示を割り当て、音源回路60にキーオン信号KONを含む各種データを供給して楽音信号を発生開始させる。なお、前述のような第1モードの処理は従来の電子楽器においても行われていたことである。
【0030】
次に、設定モードが第2モードである場合について説明する。この場合、前記第2モードへの設定の際に、図示しないプログラム処理により、RAM33内に発音用グループエリア(本実施形態では100チャンネル分のチャンネル番号を記憶するエリア)及び待機用グループエリア(本実施形態では待機用チャンネルとしての28チャンネル分に補足的な1チャンネル分のチャンネル番号を記憶するエリア)が確保され、初期の状態では発音用グループエリアには0〜99のチャンネル番号が書き込まれるとともに待機用グループエリアには100〜127のチャンネル番号が書き込まれる。このことは、この時点で、0〜99番の楽音信号発生チャンネルが発音用グループに属するとともに100〜127番の楽音信号発生チャンネルが待機用グループに属することを意味している。なお、待機用グループエリアの最後のアドレスにはデータは記憶されていない。
【0031】
この場合も、演奏データがCPU32に供給されると、CPU32は図2のステップ100にて楽音発生制御プログラムの実行を開始し、ステップ102にて演奏データを取り込み、プログラムをステップ104以降に進める。演奏データがキーオン信号KONを含むものであれば、ステップ104にて“YES”と判定する。また、設定モードは第2モードであるので、ステップ106にて“NO”と判定して、ステップ110にて第2モードルーチンを実行する。第2モードルーチンは図4に詳細に示されており、その実行はステップ302にて開始される。この開始後、ステップ302にて発音用グループエリアに記憶されている各チャンネル番号により指定される全ての楽音信号発生チャンネル(発音用チャンネル群)内に空きチャンネルがあるか否かが判定される。この判定は、RAM33内のチャンネルデータエリアに記憶されたチャンネルデータのうちで発音用チャンネル群(前記初期状態データは、0〜99番の楽音信号発生チャンネル)に関する全てのビジーフラグBFが”1“であるか否かを調べることにより行われる。
【0032】
そして、発音用チャンネル群内に空きチャンネルがあれば、ステップ302にて“YES”と判定し、ステップ204にて前記空きチャンネルうちのいずれか一つ若しくは複数を発音チャンネルとして決定する。次に、前記第1モードの場合のステップ206と同様なステップ306の処理により、前記決定した発音チャンネルに楽音信号の発生指示を割り当て、同発音チャンネルに対応した音源回路60内の楽音信号発生チャンネルにて楽音信号の発生を開始する。
【0033】
また、キーオフ信号KOFを含む演奏データがCPU32に供給された場合には、前記第1モードの場合と同様な図2のステップ102,104,112の処理により、前記演奏データに係る楽音信号の発生が終了される。
【0034】
次に、この第2モードにおいて、発音用チャンネル群内に空きチャンネルがない状態で、キーオン信号KONを含む演奏データがCPU32に供給された場合について説明する。この場合も、図2のステップ102による演奏データを取り込み後、CPU32はステップ104,106にてそれぞれ“YES”、“NO”と判定して、ステップ110の第2モードルーチンを実行する。しかし、この場合には、図4の第2モードルーチンのステップ302にて“NO”と判定して、プログラムをステップ308〜312に進める。
【0035】
ステップ308においては、発音用グループエリアに記憶されている全てのチャンネル番号により指定される各楽音信号発生チャンネル(発音用チャンネル群)の中から、前記第1モードの場合と同様に、楽音信号の発生を中断しても聴感上最も違和感のない楽音信号を発生中の楽音信号発生チャンネルをトランケートチャンネルとして決定するとともに、同楽音信号発生チャンネルを発音チャンネルとしても決定する。ステップ310においては、音源回路60内の楽音信号発生チャンネルであって前記トランケートチャンネルを表すチャンネル番号データにより指定される楽音信号発生チャンネルにて発生中の楽音信号に対して、前記第1モードの場合と同様なダンプ処理を施す。これにより、トランケートチャンネルにより指定される楽音信号の振幅エンベロープは急速に減衰していく。また、このステップ310においては、前記トランケートチャンネルに等しいチャンネル番号を発音用グループエリアから削除して、待機用グループエリアの最後のアドレスに書き込んでおく。すなわち、前記トランケートチャンネルに等しいチャンネル番号を発音用グループエリアから待機用グループエリアに移行しておく。
【0036】
ステップ312においては、RAM33の待機用グループエリアの先頭アドレスに記憶されているチャンネル番号を読み出して発音チャンネルとして決定するとともに、同待機用グループエリアに記憶されている各アドレスのチャンネル番号データを順次繰り上げ、最後のアドレスのデータを消去する。具体的には、待機用グループエリアにおいて、2番目のアドレスに記憶されているチャンネル番号データを先頭のアドレスに記憶し直し、3番目のアドレスに記憶されているチャンネル番号データを2番目のアドレスに記憶し直す動作を最後のアドレスまで順次行い、最後のアドレスのデータを消去する。
【0037】
例えば、発音用グループエリア内に0〜99番のチャンネル番号データが番号順に記憶されているとともに、待機用グループエリアに100〜127番のチャンネル番号データが記憶されている状態で(図6(A)の状態)、発音用チャンネル群内の第1チャンネルをトランケートチャンネルとすると、前記ステップ308〜312の処理により、発音用及び待機用グループエリアのチャンネル番号データは図6(B)に示す状態となる。これにより、次に発音用チャンネル群内に空きチャンネルがない状態では、待機用グループエリアに記憶されているチャンネル番号のうちで同エリアの先頭から順に楽音信号の発生指示が割り当てられるようになる。その結果、ステップ312においては、待機用チャンネル群中から最古にダンプ処理されたチャンネルが発音チャンネルとして選択されることになる。
【0038】
前記ステップ308〜312の処理後、前述したステップ306にて、前記ステップ312の処理により決定した発音用チャンネルに楽音信号の発生指示を割り当て、同発音チャンネルに対応した音源回路60内の楽音信号発生チャンネルにて楽音信号の発生を開始させる。
【0039】
上記のように動作説明からも理解できるように、上記実施形態によれば、複数の楽音信号発生チャンネルのうちの一部の楽音信号発生チャンネルを発音用グループとするとともに他の楽音信号発生チャンネルを待機用グループとし、楽音信号の発生指示があったとき、前記ステップ302〜312の処理により、発音用グループに属する楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルが楽音信号を発生中でなければ、同楽音信号を発生中でないいずれかの楽音信号発生チャンネルに楽音信号の発生指示を割り当て、前記発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中であれば、前記待機用グループに属するいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当てるようにした。したがって、発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中である状態で、新たな楽音信号の発生指示があっても、発音用グループに属するいずれかの楽音信号発生チャンネルのダンプ処理の終了を待つことなく、楽音信号の発生指示が待機用グループに属するいずれかの楽音信号発生チャンネルに割り当てられる。
【0040】
この場合、ステップ308〜312の処理により、発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中であるとき、同発音用グループに属するいずれかの楽音信号発生チャンネルに発生中の楽音信号の振幅エンベロープを急激に減衰させることを指示するダンプ処理を指示し、このダンプ処理の指示された楽音信号発生チャンネルを前記待機用グループに切り換えるとともに、楽音信号の発生指示が割り当てられた待機用グループに属する楽音信号発生チャンネルを前記発音グループに切り換えるようにしている。そして、前記グループの切り換えにより発音用グループに属する楽音信号発生チャンネルが待機用グループに切り換えられたとき、同切り換えられた楽音信号発生チャンネルへの楽音信号の発生指示の割り当て順が同待機用グループに属する楽音信号発生チャンネルのうちで最後になるようにしている。
【0041】
したがって、楽音信号の発生指示があり、かつ前記発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中であっても、複数の楽音信号の発生指示も待機用グループに属する楽音信号発生チャンネルに即座に割り当てられるので、楽音信号の発生遅れの問題が解消される。また、待機用グループに切り換えられた楽音信号発生チャンネルへの楽音信号の発生指示の割り当てが最後になる結果、前記割り当て時には楽音信号発生チャンネルにおける楽音信号の振幅エンベロープがダンプ処理により「0」又はほぼ「0」になっている可能性が高く、ノイズの発生が充分に抑制される。さらに、前記構成はプログラム処理により簡単に実現されるので、回路規模が増大することがないとともに、ソフト音源にも簡単に適用できる。
【0042】
また、上記実施形態においては、モード選択スイッチ群22に属する発音指示モード選択スイッチの操作により、この電子楽器を第1モード又は第2モードに選択的に設定するようにして、従来と同様な態様で楽音信号の発生指示を割り当てることを可能とするとともに(図3の第1モードルーチン)、上記のような待機用チャンネルを用いた楽音信号の発生指示を割り当て可能とするようにした(図4の第2モードルーチン)。したがって、この実施形態によれば、この電子楽器の使い勝手が良好になる。
【0043】
なお、上記実施形態においては、上記ステップ310の処理により、トランケートチャンネルが決定される毎に、同チャンネルを発音用グループから待機用グループに移行し、待機用グループに属する楽音信号発生チャンネルを補充するようにした。しかし、前記待機用グループの楽音信号発生チャンネルの補充に関しては、これに限らず、待機用グループに属する楽音信号発生チャンネルの数が所定値以上あるか否かを常に検査し、同チャンネル数が所定値未満になったとき、発音用グループに属する楽音信号発生チャンネルのうちで、楽音信号を既に発生していない楽音信号発生チャンネル、振幅エンベロープが最も小さい楽音信号を発生中の楽音信号発生チャンネルの順に、前記所定数の楽音信号発生チャンネルを発音用グループから待機用グループに切り換えて同待機用グループの楽音信号発生チャンネルを補充しておくようにしてもよい。この場合、上記ステップ310の待機用チャンネル群への以降処理を省略して、別途前記処理を実行するプログラムを所定の短時間毎に行うようにすればよい。
【0044】
また、上記実施形態においては、ステップ308,310の処理によりトランケートチャンネルを決定してダンプ処理を行うとともに同チャンネルを待機用チャンネルに移行した後、ステップ312,306の処理により発音チャンネルの決定及び楽音信号の発生指示の同発音チャンネルへの割り当てを行うようした。しかし、前記ステップ312,306の処理と、前記ステップ308,310の処理との順番を入れ替え、発音チャンネルの決定及び楽音信号の発生指示の同発音チャンネルへの割り当てを行った後、トランケートチャンネルを決定してダンプ処理を行うとともに同チャンネルを待機用チャンネルに移行する処理を行うようにしてもよい。これによれば、上記実施形態による場合よりも、楽音信号の発生を早めることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る電子楽器の全体概略ブロック図である。
【図2】図1の電子楽器にて実行される発音発生制御プログラムに対応したフローチャートである。
【図3】図2の第1モードルーチンの詳細を示すフローチャートである。
【図4】図2の第2モードルーチンの詳細を示すフローチャートである。
【図5】RAM内に設けたチャンネルデータエリアのメモリマップである。
【図6】(A),(B)は、RAM内に設けた発音用グループエリア及び待機用グループエリアのメモリマップである。
【図7】(A)は持続系楽音信号の振幅エンベロープの時間的変化を表す波形図であり、(B)は減衰系楽音信号の振幅エンベロープの時間的変化を表す波形図である。
【符号の説明】
10…鍵盤、11…鍵スイッチ回路、20…操作パネル、21…選択操作子群、22…モード選択操作子群、24…表示器、25…操作子スイッチ回路、31…バス、32…CPU、33…RAM、34…ROM、40…外部記録装置、50…通信インターフェース、60…音源回路。
Claims (4)
- 楽音信号をそれぞれ発生する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルに、楽音信号の発生指示を割り当てて楽音信号を発生する楽音信号発生装置において、
楽音信号の発生指示を異なる態様でそれぞれ行う第1モードおよび第2モードのうちのいずれか一方のモードを選択するモード選択手段と、
前記第1モードが選択されているとき、楽音信号の発生指示に応答して前記複数の楽音信号発生チャンネルの全ての中に楽音信号を発生中でない楽音信号発生チャンネルがあるかを判定し、楽音信号を発生中でない楽音信号発生チャンネルがあれば同楽音信号を発生中でない楽音信号発生チャンネルうちのいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、楽音信号を発生中でない楽音信号発生チャンネルがなければ楽音信号を発生中の楽音信号発生チャンネルうちのいずれかの楽音信号発生チャンネルにおける楽音信号の発生を終了させて、同楽音信号の発生を終了させた楽音信号発生チャンネルに前記楽音信号の発生指示を割り当てる第1割り当て手段と、
前記第2モードが選択されているとき、前記複数の楽音信号発生チャンネルを、複数の楽音信号発生チャンネルからなる発音用グループと複数の楽音信号発生チャンネルからなる待機用グループとの2グループに分けて管理し、前記待機用グループに属する複数の楽音信号発生チャンネルが不足したとき、前記発音用グループに属する複数の楽音信号発生チャンネルの一部を前記待機用グループに登録して、同登録した楽音信号発生チャンネルにて発生中の楽音信号をダンプ処理し、前記待機用グループに属する複数の楽音信号発生チャンネルを補充する補充手段と、
前記第2モードが選択されているとき、楽音信号の発生指示に応答して、前記発音用グループに属する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルが楽音信号を発生中でなければ、同楽音信号を発生中でないいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、前記発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中であれば、前記待機用グループに属する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当てる第2割り当て手段とを備えたことを特徴とする楽音信号発生装置。 - 前記補充手段は、前記待機用グループに属する複数の楽音信号発生チャンネルを補充する際、前記第2割り当て手段による楽音信号の発生指示の割り当て順が最後になるように、前記ダンプ処理された楽音信号発生チャンネルを前記待機用グループに登録するようにした請求項1に記載した楽音信号発生装置。
- 楽音信号をそれぞれ発生する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルに、楽音信号の発生指示を割り当てて楽音信号を発生する楽音信号発生方法において、
楽音信号の発生指示を異なる態様でそれぞれ行う第1モードおよび第2モードのうちのいずれか一方のモードを選択し、
前記第1モードが選択されているとき、楽音信号の発生指示に応答して前記複数の楽音信号発生チャンネルの全ての中に楽音信号を発生中でない楽音信号発生チャンネルがあるかを判定し、楽音信号を発生中でない楽音信号発生チャンネルがあれば同楽音信号を発生中でない楽音信号発生チャンネルうちのいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、楽音信号を発生中でない楽音信号発生チャンネルがなければ楽音信号を発生中の楽音信号発生チャンネルうちのいずれかの楽音信号発生チャンネルにおける楽音信号の発生を終了させて、同楽音信号の発生を終了させた楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、
前記第2モードが選択されているとき、前記複数の楽音信号発生チャンネルを、複数の楽音信号発生チャンネルからなる発音用グループと複数の楽音信号発生チャンネルからな る待機用グループとの2グループに分けて管理し、前記待機用グループに属する複数の楽音信号発生チャンネルが不足したとき、前記発音用グループに属する複数の楽音信号発生チャンネルの一部を前記待機用グループに登録して、同登録した楽音信号発生チャンネルにて発生中の楽音信号をダンプ処理し、前記待機用グループに属する複数の楽音信号発生チャンネルを補充し、かつ
前記第2モードが選択されているとき、楽音信号の発生指示に応答して、前記発音用グループに属する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルが楽音信号を発生中でなければ、同楽音信号を発生中でないいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当て、前記発音用グループに属する全ての楽音信号発生チャンネルが楽音信号を発生中であれば、前記待機用グループに属する複数の楽音信号発生チャンネルのうちのいずれかの楽音信号発生チャンネルに前記楽音信号の発生指示を割り当てるようにしたことを特徴とする楽音信号発生方法。 - 前記待機用グループに属する複数の楽音信号発生チャンネルを補充する際、前記待機用グループに属する複数の楽音信号発生チャンネルへの楽音信号の発生指示の割り当て順が最後になるように、前記ダンプ処理された楽音信号発生チャンネルを前記待機用グループに登録するようにした請求項3に記載した楽音信号発生方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12440399A JP3539480B2 (ja) | 1999-04-30 | 1999-04-30 | 楽音信号発生装置、楽音信号発生方法及び楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12440399A JP3539480B2 (ja) | 1999-04-30 | 1999-04-30 | 楽音信号発生装置、楽音信号発生方法及び楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000315085A JP2000315085A (ja) | 2000-11-14 |
JP3539480B2 true JP3539480B2 (ja) | 2004-07-07 |
Family
ID=14884596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12440399A Expired - Fee Related JP3539480B2 (ja) | 1999-04-30 | 1999-04-30 | 楽音信号発生装置、楽音信号発生方法及び楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3539480B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4513625B2 (ja) * | 2005-03-28 | 2010-07-28 | カシオ計算機株式会社 | 楽音発生装置および楽音発生処理のプログラム |
-
1999
- 1999-04-30 JP JP12440399A patent/JP3539480B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000315085A (ja) | 2000-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100366721B1 (ko) | 전자음악장치및이펙터 | |
US5354948A (en) | Tone signal generation device for generating complex tones by combining different tone sources | |
JPH09114457A (ja) | 楽音発生装置及び方法 | |
JP3539480B2 (ja) | 楽音信号発生装置、楽音信号発生方法及び楽音信号を発生させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US6754351B1 (en) | Music apparatus with dynamic change of effects | |
US5898120A (en) | Auto-play apparatus for arpeggio tones | |
JP3799711B2 (ja) | 楽音発生方法および楽音発生装置 | |
JP4096952B2 (ja) | 楽音発生装置 | |
US6525254B2 (en) | Method and apparatus for managing saving of tone control data | |
JP2936872B2 (ja) | 楽音制御装置 | |
JPH06259064A (ja) | 電子楽器 | |
JP3050779B2 (ja) | 信号処理装置 | |
JP3387179B2 (ja) | 電子楽器 | |
JP4172335B2 (ja) | 自動伴奏生成装置及びプログラム | |
JP4497100B2 (ja) | 楽音の発音制御装置および発音制御プログラム | |
JP3278857B2 (ja) | 楽音形成装置 | |
JP2580794B2 (ja) | 電子楽器 | |
JP2715795B2 (ja) | 発音割当手段を有する楽音合成装置 | |
JP3496796B2 (ja) | 電子楽器のパッチ情報設定装置 | |
JPH10288987A (ja) | 電子楽器及び楽音制御データ発生装置 | |
JP3034398B2 (ja) | 電子楽器の制御装置 | |
JP3399333B2 (ja) | 楽音制御装置 | |
JP3241832B2 (ja) | 楽音生成装置 | |
JP2751386B2 (ja) | 電子楽器における楽音パラメータ編集方式 | |
JP3389609B2 (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040209 |
|
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: 20040303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040316 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110402 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120402 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140402 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |