先頭から連続する番号の夫々が付加された複数の発音チャンネルと、所定の周期で、前記複数の発音チャンネルのうち発音中で最も番号の大きい発音チャンネルを検索し、当該検索された発音チャンネルの番号を最大チャンネルの番号として更新する第1の更新手段と、発音イベントに応じて前記複数の発音チャンネルの中から消音している発音チャンネルを検索し、当該検索された発音チャンネルの発音開始を指示する発音指示手段と、消音イベントに応じて、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルの中から当該消音イベントに対応した消音すべき音を発音中の発音チャンネルを検索し、該当する発音チャンネルの消音を指示する消音指示手段と、前記所定の周期で、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルのうち、発音中の発音チャンネルにて生成される音の制御を指示する修飾指示手段とを具備することを特徴とする発音チャンネル割当装置。前記発音指示手段は、前記発音開始された発音チャンネルの番号が、前記第1の更新手段により更新された最大チャンネルの番号を超えた場合に、その新たな発音を割り当てた発音チャンネルの番号を最大チャンネルの番号に更新する第2の更新手段を備えることを特徴とする請求項1記載の発音チャンネル割当装置。先頭から連続する番号の夫々が付加された複数の発音チャンネルを有する発音チャンネル割当装置に搭載されるコンピュータに、所定の周期で、前記複数の発音チャンネルのうち発音中で最も番号の大きい発音チャンネルを検索し、当該検索された発音チャンネルの番号を最大チャンネルの番号として更新する第1の更新ステップと、発音イベントに応じて前記複数の発音チャンネルの中から消音している発音チャンネルを検索し、当該検索された発音チャンネルの発音開始を指示する発音指示ステップと、消音イベントに応じて、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルの中から当該消音イベントに対応した消音すべき音を発音中の発音チャンネルを検索し、該当する発音チャンネルの消音を指示する消音指示ステップと、前記所定の周期で、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルのうち、発音中の発音チャンネルにて生成される音の制御を指示する修飾指示ステップとを具備することを特徴とするプログラム。前記発音指示ステップは、前記発音開始された発音チャンネルの番号が、前記第1の更新ステップにより更新された最大チャンネルの番号を超えた場合に、その新たな発音を割り当てた発音チャンネルの番号を最大チャンネルの番号に更新する第2の更新ステップを備えることを特徴とする請求項3記載のプログラム。ところで、周知のように、発音中にノートオフ、ペダル操作、ホイール操作などの演奏イベントが発生した場合や、エンベロープジェネレータ制御、LFO制御、ポルタメント効果付与等の、発音中のチャンネルの楽音に対して継続的な変化を与える為のタイマイベントが発生した場合には、発音チャンネル割当装置が全ての発音チャンネルについて発音中であるかどうかを判別する状態調査を行い、その状態調査の結果に基づき音源が必要な発音チャンネルにのみ所要のイベント処理を施すようになっている。したがって、音源の高性能化に伴い発音チャンネル数が増加すると、各発音チャンネルの状態調査に要するCPU負荷が増大し、これにより、例えば同時発音する発音チャンネルを256チャンネル備える音源において4チャンネルしか使用していない状態であっても、残りの252チャンネルについても状態調査するという無駄が生じ、結果的に楽器の処理速度低下を招いてしまうという問題がある。本発明は、このような事情に鑑みてなされたもので、楽器の処理速度向上を図ることができる発音チャンネル割当装置およびプログラムを提供することを目的としている。上記目的を達成するため、本発明の発音チャンネル割当装置は、先頭から連続する番号の夫々が付加された複数の発音チャンネルと、所定の周期で、前記複数の発音チャンネルのうち発音中で最も番号の大きい発音チャンネルを検索し、当該検索された発音チャンネルの番号を最大チャンネルの番号として更新する第1の更新手段と、発音イベントに応じて前記複数の発音チャンネルの中から消音している発音チャンネルを検索し、当該検索された発音チャンネルの発音開始を指示する発音指示手段と、消音イベントに応じて、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルの中から当該消音イベントに対応した消音すべき音を発音中の発音チャンネルを検索し、該当する発音チャンネルの消音を指示する消音指示手段と、前記所定の周期で、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルのうち、発音中の発音チャンネルにて生成される音の制御を指示する修飾指示手段とを具備することを特徴とする。本発明では、楽器の処理速度向上を図ることができる。以下、図面を参照して本発明の実施形態について説明する。A.構成1全体構成図1は、本発明の実施の一形態による発音チャンネル割当装置を備えた電子楽器100の全体構成を示すブロック図である。この図において、CPU10は、鍵盤13の押離鍵操作およびピッチベンダー15の操作で生じる演奏イベントや、発音中のチャンネルの楽音に対して継続的な変化を与える為のタイマイベントが発生した場合に、発音チャンネル割当装置の機能に相当するアサイン処理を実行すると共に、楽器各部を制御する。本発明の要旨に係わるアサイン処理の動作については追って詳述する。ROM11は、CPU10にロードされる各種制御プログラムを記憶する。ここで言う各種制御プログラムとは電子楽器全体の動作を司る処理を行うものであり、後述するアサイン処理も含まれる。アサイン処理は、押鍵処理、離鍵処理および周期処理から構成される。RAM12には、CPU10の処理に用いられる各種レジスタフラグデータが一時記憶される。鍵盤13およびキースキャナ14は、演奏操作押離鍵操作に応じたキーオン/キーオフ信号、鍵番号およびベロシティ等の演奏情報を出力する。ピッチベンダー15およびA/D変換器16は、ベンダーホイール操作に応じて発音音高を変化させるデータPBを発生する。表示部17は、CPU10から供給される表示制御信号に応じて、楽器の動作状態や設定状態などを画面表示する。音源18は、周知の波形メモリ読みだし方式にて構成され、CPU10から供給されるパラメータで指定される音色、音高および音量の楽音出力を発生する。音源18の構成については追って述べる。サウンドシステム19は、音源18が発生する楽音出力をアナログ形式の楽音信号に変換すると共に、当該楽音信号から不要ノイズを除去する等のフィルタリングを施した後、レベル増幅してスピーカから放音する。2音源18の構成次に、図2を参照して音源18の構成について説明する。音源18は、周知のDSPから構成される。したがって、図2はそのDSPにおいて実行されるマイクロプログラムの各機能をハードウェアイメージとして捉えた機能ブロックを図示している。図2において、複音同時発音する各発音チャンネルに相当する波形発生部18-0~18-nは、それぞれボイスと呼ばれる。1つのボイス波形発生部は、発振器18a、エンベロープジェネレータ以下、EGと略称する18bおよび増幅器18cから構成される。発振器18aは、CPU10から供給されるパラメータに従い、指定音色の波形データを発音音高に応じた読み出し速度で波形メモリ18dから読み出して出力する。波形メモリ18dの読み出し速度は、LFO低周波発振器18eから出力される低周波信号と、ピッチベンダー15の出力データPBとを加算した加算器18fの出力に応じて変調される。読み出し速度の変調により発音音高が変化する。エンベロープジェネレータ以下、EGと略称する18bは、CPU10から与えられる目標レベルおよび到達速度レートに従い、図3に図示する周知のADSR型アタックA、ディケイD、サスティンSおよびリリースRの音量エンベロープ波形を発生する。DCAで構成される増幅器18cは、EG18bから供給される音量エンベロープ波形に応じて、発振器18aが出力する波形データの音量レベルを制御して出力する。ミキサ18gは、各ボイス波形発生部18-0~18-nが発生する波形データを混合して楽音出力を形成する。B.動作次に、図4~図8を参照して上記構成による電子楽器100が備える発音チャンネル割当装置の動作を説明する。以下では、発音チャンネル割当装置の動作として、CPU10が実行するアサイン処理、当該アサイン処理からコールされる押鍵処理、離鍵処理および周期処理の各動作について述べる。1アサイン処理の動作図4は、アサイン処理の動作を示すフローチャートである。アサイン処理は、電子楽器100の電源投入以降、タイマインタラプトとして一定周期毎に実行が開始される。本処理の実行タイミングになると、先ずステップSA1に進み、電源投入の有無を判断し、電源投入された場合には判断結果がYESになり、ステップSA5に進み、未発音状態を表すべく最大ボイス番号を初期値-1にセットしたり、各ボイスの状態を示す状態レジスタを初期化したりするイニシャライズを実行してこの処理を終了する。これに対し、既に電源投入済みであると、上記ステップSA1の判断結果はNOになり、ステップSA2に進み、押鍵の有無、すなわちキーオンイベントが発生したかどうかを判断する。キーオンイベントが発生していれば、判断結果はYESになり、ステップSA6を介して押鍵処理を実行する。押鍵処理では、後述するように、音源18が備える複数のボイス波形発生部18-0~18-nの内、0番目のボイスから順番に停止中のボイスを検索し、停止中のボイスが見つからなければ、同様に0番目のボイスから順番にリリース中のボイスを検索する。そして、停止中のボイスあるいはリリース中のボイスが見つかると、該当ボイス停止中又はリリース中のボイスのエンベロープ状態をアタック状態に更新すると共に、該当ボイスの番号が現在の最大ボイス番号を上回っていれば、該当ボイスの番号を最大ボイス番号に更新した後、エンベロープ状態をアタック状態に更新された該当ボイスを発音させるよう音源18に指示する。一方、キーオンイベントが発生していなければ、上記ステップSA2の判断結果はNOとなり、ステップSA3に進み、離鍵の有無、すなわちキーオフイベントが発生したかどうかを判断する。キーオフイベントが発生していれば、判断結果はYESになり、ステップSA7を介して離鍵処理を実行する。離鍵処理では、後述するように、音源18の0番目から最大ボイス番号までの各ボイスの内、エンベロープ状態がアタック、ディケイおよびサスティンの何れかの状態であって、かつ発音音高が離鍵された鍵の鍵番号に合致する消音対象ボイスを検索し、消音対象ボイスが見つかると、その該当ボイス消音対象ボイスのエンベロープ状態をリリースに更新した後、該当ボイスをリリース減衰をさせるよう音源18に指示する。キーオフイベントが発生していなければ、上記ステップSA3の判断結果はNOになり、ステップSA4に進み、一定時間例えば1msecが経過したか否かを判断する。インターバルタイマ不図示により計時される時間が一定時間未満であれば、判断結果はNOとなり、この処理を終了し、一定時間経過すると、判断結果がYESになり、ステップSA8を介して周期処理を実行した後、この処理を終了する。周期処理では、後述するように、0番目から最大ボイス番号までボイス番号Vを歩進させながら、当該ボイス番号Vで指定されるボイスにおいて、ベンダーホイール操作に応じて生成されるデータPBと、LFO18eから出力される低周波信号とを加算する加算器18fの出力信号に応じて、波形メモリ18dの読み出し速度を変調して発音音高を変化させるピッチ変調制御処理や、エンベロープ状態の進行を管理するエンベロープ制御処理を実行する。そして、歩進されたボイス番号Vが最大ボイス番号に達すると、全てのボイスの内、停止中以外のボイス発音中のボイスの中で最も番号の大きいボイスを検索し、該当するボイスの番号を最大ボイス番号に更新する。2押鍵処理の動作次に、図5を参照して押鍵処理の動作を説明する。上述したアサイン処理のステップSA6図4参照を介して本処理が実行されると、CPU10は図5に図示するステップSB1に処理を進め、音源18が備える複数のボイス波形発生部18-0~18-nの内、0番目のボイス波形発生部18-0から順番に停止中のボイスを検索する。次いで、ステップSB2では、停止中のボイスが見つかったか否かを判断する。停止中のボイスが見つかったならば、判断結果はYESになり、後述のステップSB5に進む。一方、停止中のボイスが見つからなければ、上記ステップSB2の判断結果がNOになり、ステップSB3に進み、0番目のボイスから順番にリリース中のボイスを検索する。そして、ステップSB4では、リリース中のボイスが見つかったか否かを判断する。リリース中のボイスも見つからなければ、判断結果はNOになり、本処理を終える。この場合、全てのボイスが占有状態にある為にトランケートされず、新たな発音割当は行われない。これに対し、リリース中のボイスが見つかると、上記ステップSB4の判断結果はYESになり、ステップSB5に進む。ステップSB5では、該当ボイス停止中又はリリース中のボイスのエンベロープ状態をアタック状態に更新する。続くステップSB6では、該当ボイス停止中又はリリース中のボイスの番号が、現在の最大ボイス番号を上回っているか否かを判断する。該当ボイス停止中又はリリース中のボイスの番号が、現在の最大ボイス番号を上回っていなければ、判断結果はNOになり、ステップSB8に進む。一方、該当ボイス停止中又はリリース中のボイスの番号が、現在の最大ボイス番号を上回っていれば、判断結果はYESになり、ステップSB7に進み、該当ボイスの番号を最大ボイス番号に更新した後、ステップSB8に進む。そして、ステップSB8では、エンベロープ状態をアタック状態に更新された該当ボイスを発音させるよう音源18に指示して本処理を終える。このように、押鍵処理では、音源18が備える複数のボイス波形発生部18-0~18-nの内、0番目のボイスから順番に停止中のボイスを検索し、停止中のボイスが見つからなければ、同様に0番目のボイスから順番にリリース中のボイスを検索する。そして、停止中のボイスあるいはリリース中のボイスが見つかると、該当ボイス停止中又はリリース中のボイスのエンベロープ状態をアタック状態に更新すると共に、該当ボイスの番号が現在の最大ボイス番号を上回っていれば、該当ボイスの番号を最大ボイス番号に更新した後、エンベロープ状態をアタック状態に更新された該当ボイスを発音させるよう音源18に指示する。3離鍵処理の動作次に、図6を参照して離鍵処理の動作を説明する。前述したアサイン処理のステップSA7図4参照を介して本処理が実行されると、CPU10は図6に図示するステップSC1に処理を進め、音源18の0番目から最大ボイス番号までの各ボイスの中から消音対象ボイスを検索する。ここで言う消音対象ボイスとは、エンベロープ状態がアタック、ディケイおよびサスティンの何れかの状態であって、かつ発音音高が離鍵された鍵の鍵番号に対応するボイスを指す。次いで、ステップSC2では、該当ボイス消音対象ボイスの有無を判断する。該当ボイス消音対象ボイスが見つからなければ、判断結果はNOになり、本処理を終えるが、該当ボイス消音対象ボイスが見つかると、上記ステップSC2の判断結果はYESになり、ステップSC3に進む。ステップSC3では、該当ボイス消音対象ボイスのエンベロープ状態をリリースに更新し、続くステップSC4では、該当ボイス消音対象ボイスをリリース減衰をさせるよう音源18に指示して本処理を終える。このように、離鍵処理では、音源18の0番目から最大ボイス番号の各ボイスの中から、エンベロープ状態がアタック、ディケイおよびサスティンの何れかの状態であって、かつ発音音高が離鍵された鍵の鍵番号に対応する消音対象ボイスを検索し、消音対象ボイスが見つかると、その該当ボイス消音対象ボイスのエンベロープ状態をリリースに更新した後、該当ボイスをリリース減衰をさせるよう音源18に指示する。4周期処理の動作次に、図7~図8を参照して周期処理の動作を説明する。前述したアサイン処理のステップSA8図4参照を介して本処理が実行されると、CPU10は図7に図示するステップSD1に処理を進め、ピッチベンダー15のベンダーホイール操作に応じたデータPBを発生させるピッチベンダー制御処理を実行する。続いて、ステップSD2では、例えば低周波信号正弦波の読み出し位相に応じた信号レベルをLFO波形テーブルから読み出す等のLFO計算処理を実行する。次いで、ステップSD3では、ボイスカウンタVに初期値0をストアする。以下、ボイスカウンタVの値をボイス番号Vと称す。そして、ステップSD4に進むと、ボイス番号Vで指定されるボイス波形発生部18-Vにおいて、ベンダーホイール操作に応じて生成されるデータPBと、LFO18eから出力される低周波信号とを加算する加算器18fの出力信号に応じて、波形メモリ18dの読み出し速度を変調して発音音高を変化させるピッチ変調制御処理を実行する。続いて、ステップSD5~SD7図8参照では、ボイス番号Vで指定されるボイスのエンベロープ状態がアタック目標到達、ディケイ目標到達およびリリース目標到達の何れであるかを判別する。ボイス番号Vで指定されるボイスのエンベロープ状態がアタック目標到達、ディケイ目標到達およびリリース目標到達の何れでもない停止中ならば、ステップSD5~SD7の各判断結果は何れもNOになり、後述するステップSD10図8参照に処理を進める。一方、ボイス番号Vで指定されるボイスのエンベロープ状態が、アタック目標到達、ディケイ目標到達およびリリース目標到達の何れかに該当する場合には、対応する処理を実行する。以下、ボイス番号Vで指定されるボイスのエンベロープ状態がアタック目標レベルに到達した場合、ディケイ目標レベルに到達した場合およびリリース目標レベルに到達した場合に分けて動作説明を進める。aアタック目標レベルに到達した場合ボイス番号Vで指定されるボイスのエンベロープ状態がアタック目標レベルに到達すると、ステップSD5の判断結果がYESになり、ステップSD8に進み、ボイス番号Vで指定されるボイスのエンベロープ状態をディケイに更新し、続くステップSD9では、当該ボイスのEG18bに対して次の目標値であるサスティンレベルおよびディケイレートをセットするディケイ移行処理を実行する。この後、図8に図示するステップSD10に進み、ボイス番号Vをインクリメントして歩進させ、続くステップSD11では、歩進されたボイス番号Vが最大ボイス番号を超えたか否かを判断する。歩進されたボイス番号Vが最大ボイス番号を超えていなければ、判断結果はNOに前述のステップSD4図7参照に処理を戻す。これに対し、歩進されたボイス番号Vが最大ボイス番号を超えると、上記ステップSD11の判断結果がYESとなり、本処理を終える。bディケイ目標レベルに到達した場合ボイス番号Vで指定されるボイスのエンベロープ状態がディケイ目標レベルに到達すると、ステップSD6図8参照の判断結果がYESになり、ステップSD12に進む。ステップSD12では、サスティンレベルが0であるか否かを判断する。サスティンレベルが0であると、判断結果はYESになり、後述のステップSD14に進み、エンベロープ状態を停止状態に更新し、一方、サスティンレベルが0でなければ、判断結果はNOになり、ステップSD13に進み、ボイス番号Vで指定されるボイスのエンベロープ状態をサスティンに更新する。この後、ステップSD10に進み、ボイス番号Vをインクリメントして歩進させ、続くステップSD11では、歩進されたボイス番号Vが最大ボイス番号を超えたか否かを判断する。歩進されたボイス番号Vが最大ボイス番号を超えていなければ、判断結果はNOに前述のステップSD4図7参照に処理を戻す。これに対し、歩進されたボイス番号Vが最大ボイス番号を超えると、上記ステップSD11の判断結果がYESとなり、本処理を終える。cリリース目標レベルに到達した場合ボイス番号Vで指定されるボイスのエンベロープ状態がリリース目標レベルに到達すると、ステップSD7図8参照の判断結果がYESになり、ステップSD14に進む。ステップSD14では、ボイス番号Vで指定されるボイスのエンベロープ状態を停止状態に更新し、続くステップSD15では、ボイス番号Vで指定されるボイスの消音を音源18に指示するボイス停止処理を実行する。そして、ステップSD16に進み、歩進されたボイス番号Vが最大ボイス番号に達したか否かを判断する。歩進されたボイス番号Vが最大ボイス番号に達していなければ、判断結果はNOになり、上述のステップSD10に処理を戻す。これに対し、歩進されたボイス番号Vが最大ボイス番号に達すると、上記ステップSD16の判断結果はYESになり、ステップSD17に進み、全てのボイスの内、停止中以外のボイス発音中にあるボイスの中で最も番号の大きいボイスを検索し、該当するボイスの番号を最大ボイス番号に更新した後、上述のステップSD10に処理を戻す。このように、一定周期毎に実行される周期処理では、0番目から最大ボイス番号までボイス番号Vを歩進させながら、ボイス番号Vで指定されるボイスにおいて、ベンダーホイール操作に応じて生成されるデータPBと、LFO18eから出力される低周波信号とを加算する加算器18fの出力信号に応じて、波形メモリ18dの読み出し速度を変調して発音音高を変化させるピッチ変調制御処理や、エンベロープ状態の進行を管理するエンベロープ制御処理を実行する。そして、歩進されたボイス番号Vが最大ボイス番号に達すると、全てのボイスの内、発音中にあるボイスの中で最も番号の大きいボイスを検索し、該当するボイスの番号を最大ボイス番号に更新する。以上説明したように、本実施形態では、チャンネル番号を有する複数の発音チャンネルの内、発音中で最も番号の大きい発音チャンネルを検索し、該当する発音チャンネルの番号を最大チャンネル番号として更新しておき、消音イベントが発生した場合には、先頭から最大チャンネル番号までの各発音チャンネルの中から当該消音イベントに対応した消音すべき発音チャンネルを探し出し、一定周期毎のタイマイベントが発生した場合には、先頭から最大チャンネル番号までの各発音チャンネルの内、発音中のチャンネルの楽音についてエンベロープ制御などの継続的な変化を与える周期処理を施すようにしたので、従来のように、イベント発生の度に全ての発音チャンネルについて状態調査する必要が無くなり、これによりCPU負荷軽減による楽器の処理速度向上を図ることが可能になる。以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。付記[請求項1]先頭から連続する番号の夫々が付加された複数の発音チャンネルと、所定の周期で、前記複数の発音チャンネルのうち発音中で最も番号の大きい発音チャンネルを検索し、当該検索された発音チャンネルの番号を最大チャンネルの番号として更新する第1の更新手段と、発音イベントに応じて前記複数の発音チャンネルの中から消音している発音チャンネルを検索し、当該検索された発音チャンネルの発音開始を指示する発音指示手段と、消音イベントに応じて、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルの中から当該消音イベントに対応した消音すべき音を発音中の発音チャンネルを検索し、該当する発音チャンネルの消音を指示する消音指示手段と、前記所定の周期で、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルのうち、発音中の発音チャンネルにて生成される音の制御を指示する修飾指示手段とを具備することを特徴とする発音チャンネル割当装置。[請求項2]前記発音指示手段は、前記発音開始された発音チャンネルの番号が、前記第1の更新手段により更新された最大チャンネルの番号を超えた場合に、その新たな発音を割り当てた発音チャンネルの番号を最大チャンネルの番号に更新する第2の更新手段を備えることを特徴とする請求項1記載の発音チャンネル割当装置。[請求項3]先頭から連続する番号の夫々が付加された複数の発音チャンネルを有する発音チャンネル割当装置に搭載されるコンピュータに、所定の周期で、前記複数の発音チャンネルのうち発音中で最も番号の大きい発音チャンネルを検索し、当該検索された発音チャンネルの番号を最大チャンネルの番号として更新する第1の更新ステップと、発音イベントに応じて前記複数の発音チャンネルの中から消音している発音チャンネルを検索し、当該検索された発音チャンネルの発音開始を指示する発音指示ステップと、消音イベントに応じて、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルの中から当該消音イベントに対応した消音すべき音を発音中の発音チャンネルを検索し、該当する発音チャンネルの消音を指示する消音指示ステップと、前記所定の周期で、先頭から前記更新された最大チャンネルの番号までの各発音チャンネルのうち、発音中の発音チャンネルにて生成される音の制御を指示する修飾指示ステップとを具備することを特徴とするプログラム。[請求項4]前記発音指示ステップは、前記発音開始された発音チャンネルの番号が、前記第1の更新ステップにより更新された最大チャンネルの番号を超えた場合に、その新たな発音を割り当てた発音チャンネルの番号を最大チャンネルの番号に更新する第2の更新ステップを備えることを特徴とする請求項3記載のプログラム。