(57)【特許請求の範囲】
【請求項１】
周波数値が異なり波形が同じ多数の成分音信号を出力させ、この多数の成分音信号を合成して１つの合成楽音として出力させ、
上記楽音につき、音高の異なる当該楽音の発音及び消音の指示をする複数の指示手段であって、この複数の指示手段にわたって、上記多数の成分音信号の一部または全部を共用する複数の指示手段につき、
同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のエンベロープのうち、  この消音操作に係わる成分音信号のエンベロープを、この消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープから抽出区別させ、消音操作に係わる成分音信号のエンベロープのみをリリース状態にさせ、消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持させ、
上記多数の成分音信号のうちどの成分音信号を合成しどの成分音信号を合成しないかを示す合成情報を、緩やかに減衰するサスティーン状態において記憶し、
上記発音操作の先の終了タイミングにおいてサスティーン状態を開始し、
発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が終了された成分音信号の合成情報が「合成する」であれば、当該成分音信号につきサスティーン状態における合成エンベロープを求めることを特徴とする成分音合成方法。
【請求項２】
周波数値が異なり波形が同じ多数の成分音信号を出力し、この多数の成分音信号を合成して１つの合成楽音として出力する楽音出力手段と、
上記楽音につき、音高の異なる当該楽音の発音及び消音の指示をする複数の指示手段であって、この複数の指示手段にわたって、上記多数の成分音信号の一部または全部を共用する複数の指示手段と、
同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のエンベロープのうち、  この消音操作に係わる成分音信号のエンベロープを、この消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープから抽出区別し、消音操作に係わる成分音信号のエンベロープのみをリリース状態にさせ、消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持させるエンベロープ制御手段と、
上記多数の成分音信号のうちどの成分音信号を合成しどの成分音信号を合成しないかを示す合成情報を、緩やかに減衰するサスティーン状態において記憶する記憶手段と、
上記発音操作の先の終了タイミングにおいてサスティーン状態を開始する開始手段と、
発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が終了された成分音信号の合成情報が「合成する」であれば、当該成分音信号につきサスティーン状態における合成エンベロープを求める手段とを備えたことを特徴とする成分音合成装置。
【請求項３】
上記合成エンベロープを求めるたびに、発音操作中の成分音信号の合成情報を更新することを特徴とする請求項２記載の成分音合成装置。
【請求項４】
上記合成される多数の成分音信号の合成割合または上記共用される成分音信号の全成分音信号に占める割合は変化されることを特徴とする請求項２または３記載の成分音合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、成分音合成装置及び成分音合成方法に関し、特に１つの楽音が複数の成分音から合成される装置及方法に関する。
【背景技術】
【０００２】
従来、次のような装置が考えられている。複数の周波数の異なるサイン波または成分音を出力し、これらのサイン波または成分音を合成して出力し、この合成するサイン波または成分音の組み合わせを変えて、合成された楽音の音色を変更する。
【０００３】
【特許文献１】特許３６７３３８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、このような各サイン波または各成分音は、合成される楽音が異なっていても、共通する場合があり、このような同じサイン波または成分音を別々に出力するのは無駄であった。また、それぞれ個別に生成されるエンベロープの楽音の中にも場合によって同じサイン波または成分音のものがあり、このような同じサイン波または成分音に別々のエンベロープを付加するのは無駄であった。本件発明は特許３６７３３８４号に係る発明の改良の要素がある。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本件発明では、音高の異なる当該楽音の発音及び消音の指示をする複数の指示手段であって、この複数の指示手段にわたって、上記多数の成分音信号の一部または全部を共用する複数の指示手段につき、    同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のエンベロープのうち、  この消音操作に係わる成分音信号のエンベロープを、この消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープから抽出区別させ、消音操作に係わる成分音信号のエンベロープのみをリリース状態にさせ、消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持させるようにした。
【０００６】
上記に加えて、本件発明では、上記共用される成分音信号のうち、一部の成分音信号のエンベロープがサスティーン状態にあるとき、  同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、  この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープをサスティーン状態に維持するとともに、  この消音操作に係わる成分音信号のエンベロープもサスティーン状態にするまたはリリース状態にするようにした。
【０００７】
上記に加えて、本件発明では、発音操作の開始タイミングまたは終了タイミングが異なり、しかも同時に並行して発生される少なくとも２つの上記合成楽音のうち、後の開始タイミングまたは先の終了タイミングにおいて、この少なくとも２つの合成楽音の各成分音信号の各エンベロープにつき、合成したエンベロープを成分音信号ごとに求め、これを１つのエンベロープとして各成分音信号に合成するようにした。
【０００８】
上記に加えて、本件発明では、周波数値が２倍以上異なり波形が同じ多数の成分音信号であって、各周波数が一定の多数の成分音信号を常時出力し、この多数の全成分音信号を合成して１つの楽音として出力するようにした。
【発明の効果】
【０００９】
これにより、一つの指示手段の消音操作があっても、複数の指示手段にわたって共用されている成分音信号すべてがリリース状態にならないようにでき、消音操作に係らない他の指示に係る成分音までリリースされてしまわず、一つの消音操作で他の指示手段の楽音の成分が変化してしまうことがない。
【００１０】
また、一つの指示手段の消音操作があっても、複数の指示手段にわたって共用されている成分音信号すべてがリリース状態にならないようにできるから、複数の指示手段にわたってサスティーンを付加することもできる。このようなことは、特にドローバー型のオルガン（鍵盤楽器）においても有効である。従来のドローバー型のオルガンでは、共用されている成分音信号がＶＣＡ（電圧制御型増幅器）でリリース制御されていたので、複数の指示手段にわたって共用されている成分音信号すべてが、一つの消音操作で全てリリース状態になっていた。
【００１１】
これにより、他の指示手段に係る楽音がサスティーン状態にあるとき、一つの指示手段の消音操作があっても、このサスティーン状態がリリース状態に切換えられず、サスティーン状態が維持されることができる。このようなことは、特にドローバー型のオルガン（鍵盤楽器）においても有効である。従来のドローバー型のオルガンでは、共用されている成分音信号がＶＣＡでリリース制御されていたので、複数の指示手段にわたって共用されている成分音信号すべてが、一つの消音操作で全てリリース状態になってしまい、サスティーン状態を維持できなかった。
【００１２】
これにより、発音操作の開始タイミングまたは終了タイミングにおいて、異なる合成楽音にわたって共通する成分音信号の各エンベロープを合成するので、別々にエンベロープを付与する無駄がなくなる。
【００１３】
これにより、多数の成分音信号を常時出力しているので、楽音の発音開始及び発音終了にあたって、成分音信号が出力されていない状態から出力し始める処理、及び成分音信号が出力されている状態から出力し終わる処理が不要となり、楽音の発音開始及び発音終了の処理が迅速になり、楽音の発音開始及び発音終了の反応が速くなる。
【００１４】
なお、成分音信号は、基本周波数（音高）のほか、基本周波数に対して整数倍関係／倍音関係にある周波数成分が含まれるだけでなく、さらには基本周波数に対して非整数倍関係／非倍音関係にある周波数成分、基本周波数より高音のほか、基本周波数より低音も含まれる。この場合、これらの基本周波数以外の成分音の振幅は、基本周波数の成分音の振幅より小さいが場合によって大きくてもよい。
【発明を実施するための最良の形態】
【００１５】
（１）全体回路
図１は成分音合成方法を実現するコンピュータプログラムを実行する全体回路、成分音合成方法を実行する全体回路、成分音合成装置、楽音のエンベロープ制御装置、楽音制御装置、自動演奏装置または電子楽器の全体回路１を示す。
【００１６】
キーボード１１の各キーは、楽音の発音及び消音を指示するもので、キースキャン回路１２によってスキャンされ、キーオン、キーオフを示すデータが検出され、コントローラ２（ＣＰＵ）によってプログラム／データ記憶部４に書き込まれる。そして、それまでプログラム／データ記憶部４に記憶されていた各キーのオン、オフの状態を示すデータと比較され、各キーのオンイベント、オフイベントの判別が、コントローラ２によって行われる。
【００１７】
このキーボード１１の各キーには段差タッチスイッチなどの速度センサー、加速度センサー、圧力センサーが設けられ、段差スイッチごとに上記スキャンが行われ、各段差スイッチの先頭のオン／オフごとにオンイベント／オフイベントの検出が行われる。この段差スイッチなどのセンサーによってタッチの速さと強さを示す上記タッチ情報つまりイニシャルタッチデータとアフタタッチデータとが発生される。
【００１８】
このキーボード１１は、ローアキーボード、アッパーキーボード、ペダルキーボード等から成っており、それぞれにつき異なる音色の楽音、つまりエンベロープ信号（波形）の異なる楽音が発音される。そして、アッパーキーボードについては、１つのキーオンで２音色の楽音を同時に鳴らすことも可能である。なお、キーボード１１は、電子弦楽器、電子吹奏（管）楽器、電子打楽器（パッド等）、コンピュータのキーボード等で代用される。
【００１９】
パネルスイッチ群１３の各スイッチは、スイッチスキャン回路１４によって、スキャンされる。このスキャンにより、各スイッチのオン、オフを示すデータが検出され、コントローラ２によってプログラム／データ記憶部４に書き込まれる。そして、それまでプログラム／データ記憶部４に記憶されていた各スイッチのオン、オフの状態を示すデータと比較され、各スイッチのオンイベント、オフイベントの判別が、コントローラ２によって行われる。
【００２０】
ミディ回路１５は、外部接続された電子楽器との間で演奏情報の送受を行うためのインターフェースである。この演奏情報はＭＩＤＩ（ミュージカルインスツルメントデジタルインターフェース）規格のもので、この演奏情報に基づいた発音も行われる。
【００２１】
上記キーボード１１またはミディ回路１５には、自動演奏装置も含まれる。これらキーボード１１、パネルスイッチ群１３、ミディ回路１５及び自動演奏装置から発生された演奏情報（楽音発生情報）は、楽音を発生させるための情報である。
【００２２】
上記演奏情報（楽音発生情報）は、音楽的ファクタ（因子）情報であり、音高（音域）情報（音高決定因子）、発音時間情報、演奏分野情報、発音数情報、共鳴度情報などである。発音時間情報は楽音の発音開始からの経過時間を示す。演奏分野情報は、演奏パート情報、楽音パート情報、楽器パート情報等を示し、例えばメロディ、伴奏、コード、ベース、リズム、ＭＩＤＩ等に対応したり、または上鍵盤、下鍵盤、足鍵盤、ソロ鍵盤、ＭＩＤＩ等に対応したりしている。
【００２３】
上記音高情報はキーナンバデータＫＮとして取り込まれる。このキーナンバデータＫＮはオクターブデータ（音域データ）と音名データとからなる。演奏分野情報は、パートナンバデータＰＮとして取り込まれ、このパートナンバデータＰＮは各演奏エリアを識別するデータであって、発音操作された楽音がどの演奏エリアからのものかによって設定される。
【００２４】
発音時間情報は、トーンタイムデータＴＭとして取り込まれ、キーオンイベントからのタイムカウントデータに基づいたり、またはエンベロープフェーズなどが転用されたりする。この発音時間情報は特願平６−２１９３２４号明細書及び図面に発音開始からの経過時間情報として詳しく示される。
【００２５】
発音数情報は同時に並行して発音している楽音の数を示し、例えばアサインメントメモリ４０のオン／オフデータが「１」の楽音の数に基づき、この数は特願平６−２４２８７８号の図９及び図１５、特願平６−２４７６８５５号の図８及び図１８、特願平６−２７６８５７号の図９及び図２０、特願平６−２７６８５８号の図９及び図２１のフローチャートに基づいて求められる。
【００２６】
さらに、上記パネルスイッチ群１３には各種スイッチが設けられ、この各種スイッチは音色タブレット、エフェクトスイッチ、リズムスイッチ、ペダル、ホイール、レバー、ダイヤル、ハンドル、タッチスイッチ等であって楽器用のものである。このペダルはダンパーペダル、サスティンペダル、ミュートペダル、ソフトペダル等である。
【００２７】
この各種スイッチより、楽音制御情報が発生され、この楽音制御情報は発生された楽音を制御する情報であって音楽的ファクタ（因子）情報であり、音色情報（音色決定因子）、タッチ情報（発音指示操作の速さ／強さ）、発音数情報、共鳴度情報、エフェクト情報、リズム情報、音像（ステレオ）情報、クオンタイズ情報、変調情報、テンポ情報、音量情報、エンベロープ情報等である。これら音楽的ファクタ情報も上記演奏情報（楽音情報）に合体され、上記各種スイッチより入力されるほか、上記自動演奏情報に合体されたり、上記インターフェースで送受される演奏情報に合体されたりする。
【００２８】
パネルスイッチ群１３にはサスティーンスイッチ１７が設けられている。このサスティーンスイッチ１７が一度オンまたはオンされると、上記演奏される楽音のエンベロープのリリースが時間的に長くなって余韻のある楽音に切り換えられる。このサスティーンスイッチ１７が再度オンまたはオフされると、上記演奏される楽音のエンベロープのリリースが時間的に短くなって通常の楽音に切り換えられる。以上の状態はサスティーンスイッチ１７の操作ごとに交互に繰り返される。
【００２９】
したがって、サスティーンスイッチ１７によって、発音操作の終了タイミング以降で、エンベロープが緩やかに減衰するサスティーン状態と、通常の速さで減衰するリリース状態とが切り換えられる。リリース状態のときには、各成分音信号の各エンベロープが「０」に近づけられる。サスティーン状態のときには、各成分音信号の各エンベロープが揺やかに「０」に近づけられる。
【００３０】
上記音色情報は、鍵盤楽器（ピアノ等）、管楽器（フルート等）、弦楽器（バイオリン等）、打楽器（ドラム等）の楽器（発音媒体／発音手段）の種類等に対応しており、トーンナンバデータＴＮとして取り込まれる。上記エンベロープ情報は、エンベロープレベルＥＬ、エンベロープタイムＥＴ、エンベロープフェーズＥＦなどである。
【００３１】
このような音楽的ファクタ情報は、コントローラ２へ送られ、後述の各種信号、データ、パラメータの切り換えが行われ、楽音の内容が決定される。上記演奏情報（楽音発生情報）及び楽音制御情報はコントローラ２で処理され、各種データが楽音信号発生部５へ送られ、楽音波形信号ＭＷが発生される。コントローラ２はＣＰＵ、ＤＳＰ（デジタルシグナルプロセッサ）、ＲＯＭ及びＲＡＭなどからなっている。このようなコントローラ２は、図１の回路ごとに分散されて設けられてもよい。
【００３２】
プログラム／データ記憶部４（内部記憶媒体／手段）はＲＯＭまたは書き込み可能なＲＡＭ、フラッシュメモリまたはＥＥＰＲＯＭ等の記憶装置からなり、光ディスクまたは磁気ディスク等の情報記憶部７（外部記憶媒体／手段）に記憶されるコンピュータのプログラムが書き写され記憶される（インストール／転送される）。またプログラム／データ記憶部４には外部の電子楽器またはコンピュータから上記ミディ回路１５または送受信装置を介して送信されるプログラムも記憶される（インストール／転送される）。このプログラムの記憶媒体は通信媒体も含む。
【００３３】
このインストール（転送／複写）は、情報記憶部７が本楽音生成装置にセットされたとき、または本楽音生成装置の電源が投入されたとき自動的に実行され、または操作者による操作によってインストールされる。上記プログラムは、コントローラ２が各種処理を行うための後述するフローチャートに応じたプログラムである。
【００３４】
なお、本装置に予め別のオペレーティングシステム、システムプログラム（ＯＳ）、その他のプログラムが記憶され、上記プログラムはこれらのＯＳ、その他のプログラムとともに実行されてもよい。このプログラムは本装置（コンピュータ本体）にインストールされ実行されたときに、別のプログラムとともにまたは単独で請求項（クレーム）に記載された処理・機能を実行させることができればよい。
【００３５】
また、このプログラムの一部又は全部が本装置以外の１つ以上の別装置に記憶されて実行され、本装置と別装置との間には通信手段を介して、これから処理するデータ／既に処理されたデータ／プログラムが送受され、本装置及び別装置全体として、本発明が実行されてもよい。
【００３６】
このプログラム／データ記憶部４には、上述した音楽的ファクタ情報、上述した各種データ及びその他の各種データも記憶される。この各種データには時分割処理に必要なデータや時分割チャンネルへの割当のためデータ等も含まれる。
【００３７】
楽音信号発生部５では、周波数値が２倍以上例えば８オクターブ、８倍以上異なり、波形が同じ例えばサイン波の多数の成分音信号が常時出力される。この多数のサイン波の成分音信号は周波数が一定で変化しない。これらの多数のサイン波の成分音信号は、所定の割合つまりエンベロープレベルに応じた割合で合成されて、サウンドシステム６で１つの楽音として出力され放音される。
【００３８】
このような多数のサイン波の成分音信号は、複数の合成楽音ごとに合成され、複数の楽音が出力される。このサイン波の各成分音信号の合成割合または合成の組み合わせは、上述の音色、タッチ、音高、音域、発音時間、演奏分野、発音数、共鳴度などの情報によって、切り換えられ変化される。
【００３９】
タイミング発生部３からは、楽音生成装置の全回路の同期を取るためのタイミングコントロール信号が各回路に出力される。このタイミングコントロール信号は、各周期のクロック信号のほか、これらのクロック信号を論理積または論理和した信号、時分割処理のチャンネル分割時間の周期を持つ信号、チャンネルナンバデータＣＨＮｏ、タイムカウントデータＴＩなどを含む。
【００４０】
このタイムカウントデータＴＩは、絶対時間つまり時間の経過を示し、このタイムカウントデータＴＩのオーバーフローリセットから次のオーバーフローリセットまでの周期は、各楽音のうち最も長い発音時間より長く、場合によって数倍に設定される。
【００４１】
（２）楽音信号発生部５
図２は上記楽音信号発生部５を示す。成分音発生器２１…は、多数例えば１０８個設けられている。この１０８個は、１オクターブで１２個設けるとして、８オクターブ分１２×８＝９６個とし、これに最高音に１２個の発信器を付けるとして、９６個＋１２個＝１０８個となる。
【００４２】
この１オクターブ１２個＋１個＝１３個の成分音発生器２１…からの成分音信号は、一番低い周波数と一番高い周波数とが１オクターブ分の２倍の周波数比関係にある。これらの間の周波数は、２の１２乗根ずつの周波数比ずつずれている。なお、この周波数比は一例であって、これらの周波数比に限られるものではない。
【００４３】
この１０８個の成分音発生器２１…からは、それぞれ周波数の異なる同じ波形のサイン波の成分音信号が電源投入の間、常時出力される。この成分音発生器２１…から発信される多数のサイン波の成分音信号は周波数が一定で変化しない。
【００４４】
各成分音発生器２１…からのサイン波の成分音信号は、１０８個の各乗算器２２…で各エンベロープ信号（エンベロープ波形）がそれぞれ乗算合成され、各成分音信号のそれぞれのレベル／合成割合が「０」から所定値まで個別に変化制御される。このエンベロープ信号が合成された成分音信号は、加算器２３で１つの楽音信号に合成される。
【００４５】
上記各エンベロープ信号は、１０８個の各エンベロープ発生器２４…から出力される。このエンベロープ信号は、上記成分音信号のそれぞれのレベル／合成割合を「０」から所定値まで個別に変化させるためのものである。上記成分音信号が上記合成楽音にとって不要の場合には、当該成分音信号のエンベロープのレベル／合成割合は「０」とされる。
【００４６】
（３）エンベロープ発生器２４…
図３は上記エンベロープ発生器２４…の１つを示す。エンベロープレジスタ４１のエンベロープスピードデータＥＳは、加算器４６、エンベロープ演算レジスタ４８で順次累算され、エンベロープ演算データＥＮが演算され、上記乗算器２２へ上記エンベロープ信号として送られる。
【００４７】
上記エンベロープレジスタ４１のエンベロープタイムデータＥＴは、セレクタ４７、エンベロープタイムレジスタ４９及び加算器５１で順次「−１」され、「０」になるとフェーズ終了信号がナンドゲート群５２で検出され出力される。このフェーズ終了信号はエンベロープのアタック、ディケイ、サスティーン、リリースの各フェーズの終了を示す。
【００４８】
このフェーズ終了信号はフェーズカウンタ５０へ入力され、インクリメントすなわち「＋１」される。このフェーズカウンタ５０では、エンベロープのフェーズＥＦがカウントされる。上記フェーズカウンタ５０は、オンイベント（発音操作の開始タイミング）時及びオフイベント（発音操作の終了タイミング）時に上記コントローラ２によってリセット（クリア）される。このとき上記エンベロープレジスタ４１のエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴの合成／書き換えが行われる。
【００４９】
上記フェーズカウンタ５０のエンベロープフェーズデータＥＦは上記エンベロープレジスタ４１にアドレスデータとして送られ、フェーズごとのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが読み出されたり書き込まれたりする。上記フェーズ終了信号は上記セレクタ４７に送られて、上記エンベロープタイムデータＥＴが次のフェーズのエンベロープタイムデータＥＴに切り換えられる。
【００５０】
このエンベロープ信号のレベル／合成割合は、アタック、ディケイ、サスティーン、リリースの各フェーズにおいて、「０」から所定値まで変化する。上記成分音信号が上記合成楽音にとって不要の場合には、上記エンベロープスピードデータＥＳの値は「０」となる。
【００５１】
このような成分音信号が上記合成楽音にとって不要の場合は、当該成分音信号が上記合成楽音の成分とならない場合のほか、当該合成楽音のオフイベント（発音操作の開始タイミング）の前、または当該合成楽音のオフイベント（発音操作の終了タイミング）以降のエンベロープが減衰し切った場合も含まれる。
【００５２】
なお、上記エンベロープスピードデータＥＳの値が「０」となる場合には、エンベロープ発生器２４…の出力側に設けられたアンドゲート群が閉成されて、エンベロープ発生器２４…の出力が「０」とされても良い。
【００５３】
（４）成分音エンベロープテーブル３１
図４はプログラム／データ記憶部４内の成分音エンベロープテーブル３１を示す。この成分音エンベロープテーブル３１には、各音色（トーンナンバデータＴＮ）、各音高（キーナンバデータＫＮ）の楽音を構成する各成分音のエンベロープデータ及び成分音コードデータが記憶され、対応する成分音のデータがトーンナンバデータＴＮ及びキーナンバデータＫＮから変換され読み出される。
【００５４】
各成分音のエンベロープデータは、上記１０８個のエンベロープ発生器２４…の全てに送られるエンベロープデータであり、この各エンベロープデータは、エンベロープ発生器２４…内のエンベロープレジスタ４１…にストアされ、上記フェーズごとのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴからなっている。
【００５５】
エンベロープスピードデータＥＳはエンベロープのデジタル演算１周期当たりの演算のステップ値を示す。エンベロープタイムデータＥＴはフェーズごとのエンベロープ演算時間（発生時間、発音時間）、つまり上記デジタル演算の各フェーズのごとの演算回数を示す。このエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴによって演算されるエンベロープ信号（エンベロープ波形）のレベル／合成割合（振幅）は、各成分音信号の発生量を示す。
【００５６】
このエンベロープ信号のレベル／合成割合は、アタック、ディケイ、サスティーン、リリースの各フェーズにおいて、「０」から所定値まで変化する。上記成分音信号が上記合成楽音にとって不要の場合には、上記エンベロープスピードデータＥＳの値は「０」となるか、さらにはエンベロープタイムデータＥＴの値も「０」とされる。
【００５７】
上記成分音コードデータは、上記多数の成分音信号のうちどの成分音信号を合成しどの成分音信号を合成しないかを示す合成情報であり、上記成分音発生器２１…のいずれの成分音信号を合成楽音に使うか否かを示し、例えば、１０８個の成分音発生器２１…に対応したビット数を有し、使う成分音発生器２１については「１」、使わない成分音発生器２１については「０」となる。これにより、キーボード１１の複数のキーにわたって、成分音信号の一部または全部は共用されることになる。
【００５８】
この成分音エンベロープテーブル３１にはサスティーンデータも記憶されている。このサスティーンデータは、サスティーン効果が付与されたときの、エンベロープの末尾のサスティーン部分のエンベロープスピードＥＳとエンベロープタイムＥＴとからなっている。上記サスティーンスイッチ１７がオンされたときに読み出されて使用される。
【００５９】
このサスティーンの部分のエンベロープスピードＥＳとエンベロープタイムＥＴは、トーンナンバデータＴＮごとに１つずつ記憶されているが、キーナンバデータＫＮごとに１つずつ記憶されてもよいし、全トーンナンバデータＴＮ及び全キーナンバデータＫＮにわたって１つのみ記憶されても良い。
【００６０】
このサスティーンにおいては、成分音コードデータも合わせて記憶されている。この成分音コードデータは、同じトーンナンバデータＴＮまたは／及び同じキーナンバデータＫＮの成分音コードデータと異なる。この異なる成分音コードデータはオフイベント以降サスティーンが始まるときに上記成分音発生器２１…に送り込まれる。
【００６１】
これにより、サスティーンにおいて、レベル／合成割合が「０」の成分音信号の一部または全部のレベル／合成割合が「０」以外のサスティーンレベル値まで徐々に変化し、この後サスティーンの緩やかな減衰に沿って緩やかに「０」に近づく。この結果、サスティーンにおいて、サスティーン前に無かった音色成分を包含させることができ、サスティーンを際立たせることができる。
【００６２】
このようなサスティーン特有の音色成分としては、アタック、ディケイより低音の成分があげられる。この低音成分は、アタック、ディケイの周波数に対して整数倍、ほぼ整数倍、または非整数倍となる。
【００６３】
また、上記多数の成分音信号のうちどの成分音信号を合成しどの成分音信号を合成しないかを示す合成情報である成分音コードデータが、緩やかに減衰するサスティーン状態においても記憶されることになる。
【００６４】
（５）処理全体
図５はコントローラ（ＣＰＵ）２によって実行される処理全体のフローチャートを示す。この処理全体は本成分音合成装置の電源オンによって開始され、電源オフまで繰り返し実行される。まず、プログラム／データ記憶部４の初期化など種々のイニシャライズ処理が行われる（ステップ０１）。
【００６５】
このイニシャライズ処理では、全エンベロープ発生器２４…のエンベロープレジスタ４１…に「０」のエンベロープスピードデータＥＳが書き込まれ、全エンベロープのレベル／合成割合が「０」にされる。そして、上記キーボード１１またはミディ回路１５での手動演奏または自動演奏に基づき、上記オンイベントに応じた発音処理が行われる（ステップ０３）。
【００６６】
この発音処理では、上記成分音エンベロープテーブル３１から各成分音のエンベロープデータが読み出され、上記エンベロープ発生器２４…へ送られ、楽音が発音開始される。この楽音の内容は、上記キーボード１１またはミディ回路１５からの上記演奏情報（楽音発生情報）、楽音制御情報の音楽的ファクタ情報及びこのときプログラム／データ記憶部４に既に記憶されている音楽的ファクタ情報によって決定される。
【００６７】
次いで、上記キーボード１１またはミディ回路１５での手動演奏または自動演奏に基づき、オフイベントに応じた消音（減衰）処理が行われる（ステップ０５）。この消音（減衰）処理では、当該消音に係る各成分音の各エンベロープのフェーズが全てリリースとされる。このとき、サスティーンスイッチ１７がオンされていれば、リリースはサスティーン状態にされる。
【００６８】
さらに、上記ミディ回路１５またはパネルスイッチ群１３の各種スイッチの操作があれば、このスイッチに対応する音楽的ファクタ情報が取り込まれ、プログラム／データ記憶部４に記憶され、音楽的ファクタ情報が変更される（ステップ０７）。この後、その他の処理が実行され（ステップ０９）、上記ステップ０３からこのステップ０９までの処理が繰り返される。
【００６９】
上記ステップ０７で、上記サスティーンスイッチ１７がオンされていれば、上記プログラム／データ記憶部４のレジスタ（図示せず）のサスティーンフラグが「１」にプリセットされ、上記サスティーンスイッチ１７がオフされていれば、上記プログラム／データ記憶部４のレジスタのサスティーンフラグが「０」にクリアされる。
【００７０】
（６）発音処理
図６は上記ステップ０３の発音処理のフローチャートを示す。まずオンイベントがあると（ステップ１１）、上記成分音エンベロープテーブル３１に基づいてこのオンイベントに係る楽音のトーンナンバデータＴＮ及びキーナンバデータＫＮに対応するエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴ並びに成分音コードデータが読み出される（ステップ１２）。
【００７１】
そして、プログラム／データ記憶部４に記憶されている合成成分音コードデータの各ビットとこの読み出された成分音コードデータの各ビットが対比され、両ビットがともに「１」であれば（ステップ１４）、このビットに応じた成分音のエンベロープのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが合成エンベロープのものに書き換えられる（ステップ１５）。
【００７２】
この合成エンベロープでは、既にエンベロープ発生器２４で発生されている単独成分音または合成成分音のエンベロープに、この新たな成分音のエンベロープが加算合成される。このステップ１５のエンベロープ合成処理は後述する。合成成分音コードデータの各ビットと成分音コードデータの各ビットとは、上記１０８個の成分音発生器２１…及びエンベロープ発生器２４…に対応している。
【００７３】
また、合成成分音コードデータのビットが「０」で成分音コードデータのビットが「１」であれば（ステップ１６）、上記ステップ１２で読み出されたエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが、上記対応するビットのエンベロープ発生器２４のエンベロープレジスタ４１にストアされる（ステップ１７）。
【００７４】
さらに、合成成分音コードデータのビットが「１」または「０」で成分音コードデータのビットが「０」であれば（ステップ１４、１６）、何もなされない。以上のエンベロープ合成処理またはエンベロープ発生開始処理が他の成分音についても繰り返され、つまり合成成分音コードデータの他のビットと成分音コードデータの他のビットについても繰り返される（ステップ１８）。
【００７５】
次いで、プログラム／データ記憶部４内の合成成分音コードデータの各ビット値に対して、上記ステップ１２で読み出された成分音コードデータの各ビット値が論理和ＯＲ演算合成されて、これが上記合成成分音コードデータとされ（ステップ１９）、上記読み出された成分音コードデータがプログラム／データ記憶部４にストアされ（ステップ２０）、その他の処理が行われる（ステップ２１）。
【００７６】
これにより、エンベロープ発生器２４…のうち合成エンベロープの発信が行なわれているエンベロープ発生器２４…に対応した、合成成分音コードデータのビットが「１」とされ、これ以外のビットが「０」とされる。
【００７７】
また、オンイベントのとき、合成成分音ａ＋ｂの合成エンベロープスピードデータＥＳｓ及び合成エンベロープタイムデータＥＴｓは書き換えられ、この新たなオンイベントを考慮したエンベロープの合成エンベロープスピードデータＥＳｓ及び合成エンベロープタイムデータＥＴｓに置き換えられる。よって、オンイベントのときに、同じ周波数の各成分音のエンベロープ信号が合成され、１つの楽音として出力される。
【００７８】
以上のように、少なくとも２つの発音操作の後の開始タイミングにおいて、発音操作中の成分音信号の合成情報と、発音操作が開始された成分音信号の合成情報とが、ともに「合成する」であれば（ステップ１４）、当該成分音信号につき合成エンベロープが求められる（ステップ１５）。
【００７９】
また、少なくとも２つの発音操作の後の開始タイミングにおいて、発音操作中の成分音信号の合成情報が「合成せず」、発音操作が開始された成分音信号の合成情報が「合成する」であれば（ステップ１６）、発音操作が開始された成分音信号のエンベロープで発音開始される（ステップ１７）。
【００８０】
さらに、少なくとも２つの発音操作の後の開始タイミングにおいて、発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が開始された成分音信号の合成情報が「合成せず」であれば（ステップ１４、１６）、何もなされない。
【００８１】
また、上記合成エンベロープが求められるたびに（ステップ１５）、発音操作中の成分音信号の合成情報が更新される（ステップ１９）。さらに、発音操作が開始された成分音信号のエンベロープで発音開始されるたびに（ステップ１７）、発音操作中の成分音信号の合成情報が更新される（ステップ１９）。
【００８２】
（７）消音処理
図７は上記ステップ０５の消音処理のフローチャートを示す。まずオフイベントがあると（ステップ３１）、サスティーンスイッチ１７がオンされていてサスティーンフラグが「１」になっていれば（ステップ３２）、上記成分音エンベロープテーブル３１に基づいてこのオフイベントに係る楽音のトーンナンバデータＴＮに対応するサスティーンのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴ並びに成分音コードデータが読み出される（ステップ３３）。
【００８３】
また、サスティーンスイッチ１７がオフされていてサスティーンフラグが「０」になっていれば（ステップ３２）、上記成分音エンベロープテーブル３１に基づいてこのオフイベントに係る楽音のトーンナンバデータＴＮ及びキーナンバデータＫＮに対応するリリースのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴ並びに成分音コードデータが読み出される（ステップ３４）。
【００８４】
次いで、この読み出された成分音コードデータの「１」のビットに応じた成分音のエンベロープのリリースフェーズまたはサスティーンのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが合成エンベロープのものに書き換えられる（ステップ３５、３６）。
【００８５】
この合成エンベロープでは、既にエンベロープ発生器２４で発生されている単独成分音または合成成分音の合成エンベロープに、このキーオフに係る成分音のリリースフェーズまたはサスティーンのエンベロープが加算合成（実際には減算合成）される。このステップ３６のエンベロープ合成処理は後述する。合成成分音コードデータの各ビットと成分音コードデータの各ビットとは、上記１０８個の成分音発生器２１…及びエンベロープ発生器２４…に対応している。
【００８６】
そして、以上のエンベロープ合成処理またはエンベロープ終了開始処理が他の成分音についても繰り返され、つまり成分音コードデータの他のビットについても繰り返される（ステップ３７）。
【００８７】
次いで、上記ステップ２０でプログラム／データ記憶部４に記憶されていた成分音コードデータのうち、上記ステップ３３、３４で読み出された成分音コードデータと同じものが消去され（ステップ３８）、残った成分音コードデータの各ビット値が論理和ＯＲ演算合成されて、これが上記合成成分音コードデータとされ（ステップ３９）、その他の処理が行われる（ステップ４０）。
【００８８】
これにより、エンベロープ発生器２４…のうちリリースまたはサスティーン効果の減衰に入ったエンベロープを除外して、なお合成エンベロープの発信が行なわれているエンベロープ発生器２４…に対応した、合成成分音コードデータのビットが「１」とされ、これ以外のビットが「０」とされる。
【００８９】
また、オフイベントのときにも、合成成分音ａ＋ｂの合成エンベロープスピードデータＥＳｓ及び合成エンベロープタイムデータＥＴｓは書き換えられ、この新たなリリースまたはサスティーン効果を考慮したエンベロープの合成エンベロープスピードデータＥＳｓ及び合成エンベロープタイムデータＥＴｓに置き換えられる。よって、オフイベントのときにも、同じ周波数の各成分音のエンベロープ信号が合成され、１つの楽音として出力される。
【００９０】
以上のように、少なくとも２つの発音操作の先の終了タイミングにおいて、発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が終了された成分音信号の合成情報が「合成する」であれば（ステップ３５）、当該成分音信号につき合成エンベロープが求められる（ステップ３６）。また、上記合成エンベロープが求められるたびに（ステップ３６）、発音操作中の成分音信号の合成情報が更新される（ステップ３９）。
【００９１】
また、サスティーンスイッチ１７がオンされていれば、少なくとも２つの発音操作の先の終了タイミングにおいてサスティーン状態が開始され、発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が終了された成分音信号の合成情報が「合成する」であれば（ステップ３５）、当該成分音信号につきサスティーン状態における合成エンベロープが求められる（ステップ３６）。また、上記合成エンベロープが求められるたびに（ステップ３６）、発音操作中の成分音信号の合成情報が更新される（ステップ３９）。
【００９２】
このように、同時に並行して発音操作されている複数のキーボード１１のキーのいずれかが消音操作されたとき、上記共用される成分音信号のうち、この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープ波形がリリース状態にならないように維持される。また、この消音操作に係わる成分音信号のエンベロープ波形のみがリリース状態にされる。
【００９３】
これにより、キーボード１１の一つのキーの消音操作があっても、複数のキーにわたって共用されている成分音信号すべてがリリース状態にならないようにでき、消音操作に係らない他の指示に係る成分音までリリースされてしまわず、一つの消音操作で他のキーの楽音の成分が変化してしまうことがない。
【００９４】
また、キーボード１１の一つのキーの消音操作があっても、複数のキーにわたって共用されている成分音信号すべてがリリース状態にならないようにできるから、複数のキーにわたってサスティーンを付加することもできる。このようなことは、特にドローバー型のオルガン（鍵盤楽器）においても有効である。
【００９５】
（８）エンベロープ合成処理
図８は、上記ステップ１５及びステップ３６のエンベロープ合成処理のフローチャートを示す。まず、上記フェーズカウンタ５０のフェーズカウント値とエンベロープタイムレジスタ４９の残存エンベロープタイムデータＥＴがコントローラ２によって読み出され（ステップ５１）、この残存エンベロープタイムデータＥＴに残りのフェーズのエンベロープタイムデータＥＴが順次累算され、現在時点から成分音ａの各フェーズの末尾までの絶対時間が求められる（ステップ５２）。
【００９６】
図９の例では、成分音ａが発音開始し（タイミングＴａ０）、成分音ｂが発音開始し（タイミングＴｂ０）、続いて成分音ａのアタックフェーズが終了し（タイミングＴａ１）、この後成分音ａのディケイが終了し（タイミングＴａ２）、成分音ｂのアタックが終了し（タイミングＴｂ１）、成分音ａのサスティーンが終了し（タイミングＴａ３）、成分音ｂのディケイが終了し（タイミングＴｂ２）、成分音ａのリリースが終了し（タイミングＴａ４）、成分音ｂのサスティーンが終了し（タイミングＴｂ３）、成分音ｂのリリースが終了する（タイミングＴｂ４）。
【００９７】
この場合、上記残存エンベロープタイムデータＥＴは（Ｔａ１−Ｔｂ０）となり、上記残りのフェーズのエンベロープタイムデータＥＴの累算値は（Ｔａ２−Ｔｂ０）、（Ｔａ３−Ｔｂ０）、（Ｔａ４−Ｔｂ０）となる。各フェーズの各エンベロープタイムデータＥＴはこれら各タイミングＴａ０、Ｔａ１、Ｔａ２、Ｔａ３、Ｔａ４の間の時間を示している。したがって、この残りのフェーズのエンベロープタイムデータＥＴが累算されれば、成分音ｂの発音開始から各タイミングＴａ１、Ｔａ２、Ｔａ３、Ｔａ４までの時間が求められる。
【００９８】
この求められた各絶対時間（Ｔａ２−Ｔｂ０）、（Ｔａ３−Ｔｂ０）、（Ｔａ４−Ｔｂ０）には、この各タイミング直前のフェーズの成分音ａのエンベロープスピードデータＥＳと成分音ａを示すフラグａ（「１」）も対応づけて記憶される（ステップ５３）。
【００９９】
次いで、成分音ｂについても同様にして、残存エンベロープタイムデータＥＴに残りのフェーズのエンベロープタイムデータＥＴが順次累算され、現在時点から成分音ｂの各フェーズの末尾までの絶対時間が求められる（ステップ５４）。この絶対時間は同様に（Ｔｂ１−Ｔｂ０）、（Ｔｂ２−Ｔｂ０）、（Ｔｂ３−Ｔｂ０）、（Ｔｂ４−Ｔｂ０）となる。
【０１００】
この求められた各絶対時間（Ｔｂ１−Ｔｂ０）、（Ｔｂ２−Ｔｂ０）、（Ｔｂ３−Ｔｂ０）、（Ｔｂ４−Ｔｂ０）には、この各タイミング直前のフェーズの成分音ｂのエンベロープスピードデータＥＳと成分音ｂを示すフラグｂ（「０」）も対応づけて記憶される（ステップ５５）。
【０１０１】
なお、上記タイミングＴａ３、Ｔｂ３は、いずれもオフイベントタイミング（オフ操作のタイミング）であり、上記タイミングＴａ４、Ｔｂ４はいずれもオフイベントタイミングによってシフトされる。したがって、上記絶対時間（Ｔａ３−Ｔｂ０）、（Ｔａ４−Ｔｂ０）、（Ｔｂ３−Ｔｂ０）、（Ｔｂ４−Ｔｂ０）はオンイベントタイミング（オン操作のタイミング）では求められない。
【０１０２】
しかし、エンベロープの形状がオフ操作によって変化しない場合には求められる。上記絶対時間（Ｔａ３−Ｔｂ０）、（Ｔａ４−Ｔｂ０）、（Ｔｂ３−Ｔｂ０）、（Ｔｂ４−Ｔｂ０）は、上述の消音処理のときに求められる。このため、各成分音のサスティーンの末尾については、絶対時間は取り得る最大値とされ、エンベロープスピードデータＥＳは「０」とされる。
【０１０３】
ただし、上記成分音ａがリリース（サスティーン効果付与時も含む）に入っていて、成分音ｂが発音開始する場合には、上記絶対時間（Ｔａ４−Ｔｂ０）は求められる。成分音ａはすでにオフ操作され、リリース終了のタイミングがはっきりしているからである。
【０１０４】
そして、上記ステップ２２乃至２５で求められた絶対時間（Ｔａ２−Ｔｂ０）、（Ｔａ３−Ｔｂ０）、（Ｔａ４−Ｔｂ０）、（Ｔｂ１−Ｔｂ０）、（Ｔｂ２−Ｔｂ０）、（Ｔｂ３−Ｔｂ０）、（Ｔｂ４−Ｔｂ０）は大きい順に並べられ、対応づけられたエンベロープスピードデータＥＳも同様に並べ変えられる（ステップ５６）。これにより、図９（３）に示すような各タイミングが順番にソートされる。
【０１０５】
このように、同時に並行して発音操作されている複数のキーボード１１のキーのいずれかが消音操作されたとき、上記共用される成分音信号のうち、この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープ波形がリリース状態にならないように維持される。また、この消音操作に係わる成分音信号のエンベロープ波形のみがリリース状態にされる。
【０１０６】
これにより、キーボード１１の一つのキーの消音操作があっても、複数のキーにわたって共用されている成分音信号すべてがリリース状態にならないようにでき、消音操作に係らない他の指示に係る成分音までリリースされてしまわず、一つの消音操作で他のキーの楽音の成分が変化してしまうことがない。
【０１０７】
また、キーボード１１の一つのキーの消音操作があっても、複数のキーにわたって共用されている成分音信号すべてがリリース状態にならないようにできるから、複数のキーにわたってサスティーンを付加することもできる。このようなことは、特にドローバー型のオルガン（鍵盤楽器）においても有効である。
【０１０８】
図１０（１）はこのようにしてソートされた絶対時間とエンベロープスピードデータＥＳと成分音フラグを示す。このデータ内容は、上記図９（３）の合成エンベロープ信号に対応したものとなっている。
【０１０９】
次いで、各絶対時間（Ｔａ２−Ｔｂ０）、（Ｔａ３−Ｔｂ０）、（Ｔａ４−Ｔｂ０）、（Ｔｂ１−Ｔｂ０）、（Ｔｂ２−Ｔｂ０）、（Ｔｂ３−Ｔｂ０）、（Ｔｂ４−Ｔｂ０）から、それぞれ１つ前の絶対時間が減算される（ステップ５７）。
【０１１０】
これにより、図９（３）の合成エンベロープ信号の各タイミングの間の新たなフェーズの合成エンベロープタイムデータＥＴｓが図１０（２）左欄に示すように求められる。なお、先頭の合成エンベロープタイムデータＥＴｓは、上記絶対時間の先頭の（Ｔａ２−Ｔｂ０）がそのままコピーされる。
【０１１１】
さらに、各絶対時間に対応したエンベロープスピードデータＥＳには、より先の絶対時間のエンベロープスピードデータＥＳであって、自己の成分音フラグａ、ｂと異なるフラグを有するデータＥＳが加算合成される（ステップ５８）。
【０１１２】
これにより、成分音ａのエンベロープスピードＥＳと成分音ｂのエンベロープスピードＥＳとが図９（３）のフェーズごとに加算合成され、図９（３）の合成エンベロープ信号の各タイミングの間の新たなフェーズの合成エンベロープスピードデータＥＳｓが図１０（２）右欄に示すように求められる。
【０１１３】
このようにして求められた合成エンベロープ信号の各フェーズの合成エンベロープタイムデータＥＴｓ及び合成エンベロープスピードデータＥＳｓは、エンベロープ発生器２４のエンベロープレジスタ４１に書き込まれ、フェーズカウンタ５０がクリアされる（ステップ５９）。
【０１１４】
これにより合成エンベロープの生成が開始される。この場合、合成エンベロープのオンイベントまたはオフイベントの時点以降の部分が、エンベロープ発生器２４のエンベロープレジスタ４１に記憶され生成される。
【０１１５】
こうして、成分音ａのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴは、同じ周波数の新たな成分音ｂが発生されるたびに書き換えられ、この新たな成分音ｂを合成したエンベロープの合成エンベロープスピードデータＥＳｓ及び合成エンベロープタイムデータＥＴｓに置き換えられる。
【０１１６】
よって、同じ周波数の同じ成分音の発生量が合成され、１つにまとめて発生されることになる。また、同じ周波数の同じ成分音のエンベロープ信号が合成され、１つにまとめて出力されることになる。
【０１１７】
そして、成分音ａのリリース以降のエンベロープスピードデータＥＳとエンベロープタイムデータＥＴとが成分音ａのエンベロープ発生器２４のエンベロープレジスタ４１に記憶され、成分音ｂのリリース以降のエンベロープスピードデータＥＳとエンベロープタイムデータＥＴも成分音ｂのエンベロープ発生器２４のエンベロープレジスタ４１に記憶される（ステップ６０）。このリリース以降のエンベロープスピードデータＥＳとエンベロープタイムデータＥＴは、上記オフイベント以降にエンベロープ合成処理が行われる。
【０１１８】
こうして、発音操作の開始タイミングまたは終了タイミングが異なり、しかも同時に並行して発生される少なくとも２つの上記合成楽音のうち、後の開始タイミングまたは先の終了タイミングにおいて、この少なくとも２つの合成楽音の各成分音信号の各エンベロープにつき、合成したエンベロープが成分音信号ごとに求められ、これが１つのエンベロープとして各成分音信号に合成される。
【０１１９】
以上の図９の合成されるエンベロープは、２つだけでなく、３つ以上でもよい。この場合でも、先頭を除く後のすべての開始タイミングまたは末尾を除くすべての先の終了タイミングにおいて、図６乃至図８の処理が実行され、合成エンベロープが演算される。
【０１２０】
この場合でも、同時に並行して発音操作されている複数のキーボード１１のキーのいずれかが消音操作されたとき、上記共用される成分音信号のうち、この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープ波形がリリース状態にならないように維持される。また、この消音操作に係わる成分音信号のエンベロープ波形のみがリリース状態にされる。
【０１２１】
（９）サスティーン状態のエンベロープ合成処理
図１１はサスティーン状態における、同じ周波数の成分音ａと成分音ｂとのエンベロープ合成の波形の例を示す。タイミングＴａ１１で成分音ａが先にオフになると、成分音ａのサスティーンのエンベロープスピードデータＥＳとエンベロープタイムデータＥＴで合成エンベロープが合成し直される（ステップ５１〜６０）。これにより、合成し直された合成エンベロープ信号は成分音ｂのホールドレベル／合成割合（ＥＳｂ１１）、すなわちレベル「０」ではなく有限値のレベル「Ｌｂ」に向かって徐々に緩やかに減衰していく。
【０１２２】
こうして、発音操作の先の終了タイミング以降において、合成されたエンベロープレベル／合成割合は、未だ終了タイミングに達していない合成楽音の成分音信号のエンベロープレベル（維持レベル／ホールドレベル、アタックレベル、ディケイレベルなど）に向かって漸近することになる。
【０１２３】
さらに、タイミングＴｂ１１で成分音ｂが次いでオフになると、成分音ｂのサスティーンのエンベロープスピードデータＥＳとエンベロープタイムデータＥＴで合成エンベロープが合成し直される（ステップ５１〜６０）。これにより、合成し直された合成エンベロープ信号はレベル「０」に向かって徐々に緩やかに減衰していく。
【０１２４】
もし、成分音ｂがオフにならなければ、合成エンベロープ信号は成分音ｂのホールドレベル（上記エンベロープレベル）に達したのち、このホールドレベルを維持していく。この後に、成分音ｂがオフになると、合成し直された合成エンベロープ信号はレベル「０」に向かって徐々に緩やかに減衰していく。
【０１２５】
成分音ａのオフと成分音ｂのオフとの間で、サスティーンスイッチ１７がオンからオフにされると、この間でオフイベントは発生しないので（ステップ３１）、成分音ａのエンベロープはもはや書き換えられず、この結果成分音ａのサスティーンは維持される。
【０１２６】
しかし、成分音ｂのオフでは、サスティーンがオフになっているから（ステップ３２→３４）、サスティーンのエンベロープデータは読み出されず（ステップ３３）、通常のリリースのエンベロープデータが読み出されるので（ステップ３４）、サスティーン状態は解除され通常のリリース状態になる（ステップ３６）。
【０１２７】
また、成分音ａのオフと成分音ｂのオフとの間で、サスティーンスイッチ１７がオフからオンにされると、この間でオフイベントは発生しないので（ステップ３１）、成分音ａのエンベロープはもはや書き換えられず、この結果成分音ａにはサスティーンは付与されない。
【０１２８】
しかし、成分音ｂのオフでは、サスティーンがオンになっているから（ステップ３２→３３）、サスティーンのエンベロープデータが読み出され（ステップ３３）、通常のリリースのエンベロープデータは読み出されないので（ステップ３４）、通常のリリース状態は解除されサスティーン状態になる（ステップ３６）。
【０１２９】
上記共用される成分音信号のうち、一部の成分音信号のエンベロープ波形がサスティーン状態にあるとき、同時に並行して発音操作されている複数の上記キーのいずれかが消音操作されたとき、この消音操作に係らない成分音信号のエンベロープ波形または合成エンベロープ波形はサスティーン状態に維持される。また、この消音操作に係わる成分音信号のエンベロープ波形もサスティーン状態またはリリース状態にされる。
【０１３０】
このとき、図１１のタイミングＴａ１１とＴｂ１１との間で、サスティーンスイッチ１７がオンからオフに切り換えられると、成分音ｂはサスティーン状態ではなくリリース状態になる。しかし、成分音ａはサスティーン状態が維持される。
【０１３１】
これにより、他のキーに係る楽音がサスティーン状態にあるとき、一つのキーの消音操作があっても、このサスティーン状態がリリース状態に切換えられず、サスティーン状態が維持されることができる。このようなことは、特にドローバー型のオルガン（鍵盤楽器）においても有効である。
【０１３２】
以上の図１１の合成されるエンベロープは、２つだけでなく、３つ以上でもよい。この場合でも、先頭を除く後のすべての開始タイミングまたは末尾を除くすべての先の終了タイミングにおいて、図６乃至図８の処理が実行され、合成エンベロープが演算される。
【０１３３】
このような場合でも、他のキーに係る楽音がサスティーン状態にあるとき、一つのキーの消音操作があっても、このサスティーン状態がリリース状態に切換えられず、サスティーン状態が維持されることができる。
【０１３４】
上記加算器６６…と乗算器６２…との接続関係は、多数の成分音信号のうちどの成分音信号を合成しどの成分音信号を合成しないかを示していて、上述と同じ合成情報を表す。発音操作の後の開始タイミングにおいて、発音操作中の成分音信号の合成情報と、発音操作が開始された成分音信号の合成情報とが、ともに「合成する」であれば、当該成分音信号につき合成エンベロープが求められる。
【０１３５】
発音操作の後の開始タイミングにおいて、発音操作中の成分音信号の合成情報が「合成せず」、発音操作が開始された成分音信号の合成情報が「合成する」であれば、発音操作が開始された成分音信号のエンベロープで発音開始される。発音操作の後の開始タイミングにおいて、発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が開始された成分音信号の合成情報が「合成せず」であれば、何もされない。
【０１３６】
発音操作の先の終了タイミングにおいて、発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が終了された成分音信号の合成情報が「合成する」であれば、当該成分音信号につき合成エンベロープが求められる。
【０１３７】
発音操作の先の終了タイミングにおいてサスティーン状態が開始されると、発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が終了された成分音信号の合成情報が「合成する」であれば、当該成分音信号につきサスティーン状態における合成エンベロープが求められる。
【０１３８】
（１０）楽音信号発生部５（第二実施例）
図１２は上記楽音信号発生部５の第二実施例を示す。この楽音信号発生部５ではドローバーを使っている。ドローバーシステムは、複数のドローバーを備え、電気オルガンなどに使われている音色調整用ストップ（音栓）の一種である。この各ドローバーによって、基音と倍音などの周期の異なる複数のサイン波などの周期の異なる複数の波形のそれぞれのレベル／合成割合が変更決定され、これらの波形の合成波形の形状が変更決定される。
【０１３９】
上記キーボード１１の各キーのオンデータは、乗算器６１…、乗算器６２…、………で振幅データが乗算され、発音ソース回路６３…に振幅データとして送り込まれる。この振幅データはドローバー回路６５で設定される。発音ソース回路６３…からは、上記振幅データに応じた振幅で、周期の異なる同じ波形のサイン波などが出力される。
【０１４０】
これらの振幅が制御された周期の異なる複数のサイン波などは、エンベロープ発生器６７でエンベロープが合成され、加算器６４で加算合成され、下記ドローバー回路６５…で設定された形状の波形の音色で、上記サウンドシステム６に送られる。
【０１４１】
このエンベロープ発生器６７は、各発音ソース回路６３…ごと、つまり共用される成分音信号ごとに設けられ、一つのキーの消音操作があっても、複数のキーにわたって共用されている成分音信号／サイン波すべてがリリース状態にならず、他のキーに係る楽音がサスティーン状態にあるときでもリリース状態にならずサスティーン状態が維持される。
【０１４２】
上記ドローバー回路６５…の設定を変更すると、周波数の異なる成分音信号（サイン波）の合成の組み合わせまたは合成割合が変更され、合成される楽音波形の形状が変更され、合成楽音波形の音色が変更される。これにより、キーボード１１の複数のキーにわたって、成分音信号の一部または全部は共用されることになる。
【０１４３】
上記ドローバー回路６５…では、引き出し量などの操作量または設定量に応じたデータが発生され、上記乗算器６１…、乗算器６２…、………、に送り込まれ、上記キーボード１１の各キーのオンデータと乗算され、上記振幅データとされる。これにより、各キーの楽音のいずれの波形も、ドローバー回路６５…で設定された波形で統一される。
【０１４４】
また、各発音ソース回路６３…からは、１オクターブ１２音またはｎオクターブ１２音×ｎに対応した異なる周波数の上記サイン波などが出力される。したがって、各キーの音高に応じた周波数が基音として選択される。
【０１４５】
上記乗算器６１…、乗算器６２…、………からの出力は、単独でまたは加算器６６…で加算されて、発音ソース回路６３…に振幅データとして送り込まれる。この加算においては、１オクターブまたは数オクターブ異なる同じ音名の振幅データが加算される。これにより、ちょうど１オクターブまたは数オクターブ異なる逓倍または整数倍の成分音／高調波音が合成されることになる。
【０１４６】
上記発音ソース回路６３…からの振幅が制御されたサイン波は、エンベロープ発生器６７でエンベロープ波形が合成され出力される。このエンベロープ波形は、アタック、ディケイ、サスティーン、リリースと変化する。上記キーボード１１のキーオフつまり、発音操作の終了タイミング以降で、サスティーン状態とリリース状態と切換えられる。
【０１４７】
サスティーン状態は、エンベロープレベルが緩やかに減衰し、リリース状態は、エンベロープレベルが通常の速さで減衰する。このエンベロープ発生器６７は、上述のエンベロープ発生器２４と同じでも良い。
【０１４８】
この図１２の回路では、分かりやすくするために簡易な回路構成にしてある。この図１２のドローバー回路６５は２つであるが、実際には、３つ以上となってもよいし、キーボード１１のキーは２オクターブ２４個＋１個であるが、実際にはもっと多数でもよい。これに応じて、発音ソース回路６３…、乗算器６１…、６２…、加算器６６…の数も増えてもよい。
【０１４９】
（１１）エンベロープ発生器６７（第二実施例）
図１３は上記図１２のエンベロープ発生器６７を示す。上記発音ソース回路６３…からの振幅が制御されたサイン波は、上記乗算器７１でエンベロープ波形が乗算され、上記加算器６４に送られる。
【０１５０】
先リリースレジスタ７２にはリリースのエンベロープのスピードデータがコントローラ２によってストアされ、先サスティーンレジスタ７３にはサスティーンのエンベロープのスピードデータがコントローラ２によってストアされる。
【０１５１】
リリースのエンベロープスピードデータは「０」より大きく「１」より小さく、「０」に近い値であり、急峻な減衰が形成される。サスティーンのエンベロープスピードデータは「０」より大きく「１」より小さく、「１」に近い値であり、緩やかな減衰が形成される。
【０１５２】
先リリースレジスタ７２のリリースエンベロープスピードデータは、乗算器７４を経て、後リリースレジスタ７５にストアされ、アンドゲート７７を経て上記乗算器７４に帰還される。これにより、リリースエンベロープスピードデータ同士が順次累乗されていき、順次減衰していくエンベロープ波形が形成される。
【０１５３】
先サスティーンレジスタ７３のサスティーンエンベロープスピードデータは、乗算器７８を経て、後サスティーンレジスタ７６にストアされ、アンドゲート７９を経て上記乗算器７８に帰還される。これにより、サスティーンエンベロープスピードデータ同士が順次累乗されていき、順次減衰していくエンベロープ波形が形成される。
【０１５４】
後リリースレジスタ７５からのリリースのエンベロープデータは、セレクタ（マルチプレクサ）８０を経て上記乗算器７１へ送られ、上記サイン波に乗算される。後サスティーンレジスタ７９からのサスティーンのエンベロープデータは、セレクタ（マルチプレクサ）８０を経て上記乗算器７１へ送られ、上記サイン波に乗算される。
【０１５５】
上記アンドゲート７７、７９には所定周期のクロック信号φが開成信号として供給され、上記リリースまたはサスティーンのエンベロープスピードデータ同士の累乗が所定周期ごとに行なわれる。
【０１５６】
上記キーボード１１の各キーのオン／オフ信号は、エッジ検出回路８１で立下りエッジが検出され、このワンショットの検出パルスは、上記後リリースレジスタ７５、後サスティーンレジスタ７６にリセット信号として供給され、ストア値が「１」にリセットされる。エッジ検出回路８１は例えばデジタルまたはアナログの微分回路などから構成される。
【０１５７】
上記サスティーンスイッチ１７のオン／オフを示すサスティーンフラグは、サスティーンオンオフレジスタ８２にコントローラ２によってストアされ、上記セレクタ８０に供給される。これにより、サスティーンモードでは、後サスティーンレジスタ７６からのサスティーンエンベロープデータが乗算器７１に送られ、非サスティーンモードでは、後リリースレジスタ７５からのリリースエンベロープデータが乗算器７１に送られる。
【０１５８】
このエンベロープ発生器６７は、各発音ソース回路６３…ごと、つまり共用される成分音信号キーボード１１のキーのごとに設けられているので、キーボード１１の一つのキーの消音操作があっても、複数のキーにわたって共用されている成分音信号／サイン波すべてがリリース状態にならないようにでき、消音操作に係らない他のキーに係る成分音までリリースされないし、複数のキーにわたってサスティーンを付加することができる。また、他のキーに係る楽音がサスティーン状態にあるとき、一つのキーの消音操作があっても、このサスティーン状態がリリース状態に切換えられず、サスティーン状態が維持される。
【０１５９】
上記先リリースレジスタ７２のリリースエンベロープスピードデータと、先サスティーンレジスタ７３のサスティーンエンベロープスピードデータとは、音楽的ファクタに応じて切換えられたり、リリースエンベロープスピードデータとリリースエンベロープスピードデータとの相対値の組み合わせが切換えられたりしてもよい。この場合、上記成分音エンベロープテーブル３１にこれらのリリースエンベロープスピードデータとリリースエンベロープスピードデータとが音楽的ファクタごとに記憶され読み出される。
【０１６０】
この図１２及び図１３の回路はデジタル回路のほか同様のアナログ回路でも実現可能である。上記成分音信号の波形はサイン波のほか、コサイン波、矩形波、三角波、台形波、段差のある波形、複数周期の複雑な波形など、どのような波形でもよい。この図１２及び図１３の第二実施例の他の構成、作用、効果は、上記第一実施例と同じであり、これらの説明は本実施例でも記載されているものとするし、この第二実施例の記載内容も上記第一実施例に記載されているものとする。例えば図８のエンベロープ合成処理などは本実施例でも実行され、キーボード１１のキーのオンイベントまたはオフイベントがあった時に実行される。
【０１６１】
（１２）全体回路（第三実施例）
図１４は成分音合成方法を実現するコンピュータプログラムを実行する全体回路、成分音合成方法を実行する全体回路、成分音合成装置、楽音のエンベロープ制御装置、楽音制御装置、自動演奏装置または電子楽器の全体回路１の第三実施例を示す。
【０１６２】
この第三実施例と上記第二実施例とはチャンネル割り当てを行うキーアサイナはなく、キーボード１１の全キーに対応して発音回路／音源回路（発音ソース回路６３…、ＤＣＯ１０８…、ＤＣＡ１０９…）が設けられており、このうち音程が等しい発音回路／音源回路が共用／共通にされている。なお、上記第一実施例にはキーアサイナはある。
【０１６３】
ＲＯＭ９２に記憶されたプログラムに基づいて、ＣＰＵ（コントローラ）９１によって、各種処理が実行され、各種処理データはＲＡＭ９３に記憶される。このプログラムは、後述または前述したフローチャートに対応している。インターフェース回路９４によって、ＣＰＵ９１からのスキャン情報がキースキャナ９５またはパネルスキャナ９６との間で送受され、キースキャナ９５またはパネルスキャナ９６からの演奏情報または楽音情報が、上記ＣＰＵ９１との間で送受される。
【０１６４】
音源回路（トーンジェネレータ）９７では波形ＲＯＭ９８に記憶された波形生成のための情報に基づいて楽音波形信号が生成される。また、エンベロープ情報に基づいて、この生成された楽音波形信号に対してアタック、ディケイ、サスティーン、リリースのエンベロープ制御、またはサスティーン効果付与のエンベロープ制御がなされる。
【０１６５】
ＤＳＰ（デジタルシグナルプロセッサ）９９では、ディケイＲＡＭ１００に記憶された情報に基づいて、回転効果、共鳴付加、残響付加などの音楽的効果付与がなされ、サウンドシステム１０１から放音出力される。
【０１６６】
上記ＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、インターフェース回路９４、キースキャナ９５、パネルスキャナ９６の間はＣＰＵバス１０２によって互いにデータ・情報の送受がなされ、音源回路９７と波形ＲＯＭ９８との間は音源バス１０３によって互いにデータ・情報の送受がなされ、デジタルシグナルプロセッサ９９とディケイＲＡＭ１００との間は効果バス１０４によって互いにデータ・情報の送受がなされる。
【０１６７】
（１３）パネルスイッチ群１０５（第三実施例）
図１５はパネルスイッチ群１０５の第三実施例を示す。キーボード１１はアッパー、ローア、ペダルの３つ／複数に分かれており、これに応じてパネルスイッチ群１０５も３つ／複数に分かれている。このパネルスイッチ群１０５はスイッチと称しているが、このスイッチは操作子も含む広い概念である。この各パネルスイッチ群１０５には、複数のドローバー１０６…が設けられていて、ペダル用２本、ローア用９本、アッパー用９本となっている。
【０１６８】
ペダルのドローバー１０６…は８フィート（２倍音）、１６フィート（基音）の２つ、ローア及びアッパーのドローバー１０６…は１フィート（１６倍音）、１＋１／３フィート（１０倍音）、１＋３／５フィート（１０倍音）、２フィート（８倍音）、２＋２／３フィート（７倍音）、４フィート（６倍音）、５＋１／３フィート（３倍音）、８フィート（２倍音）、１６フィート（基音）の９つとなっている。
【０１６９】
このドローバー１０６…には可変抵抗器などが連結され、ドローバー１０６…のスライド量に応じた電圧値がアナログーデジタル変換されて、上記ＣＰＵ９１などに取り込まれる。
【０１７０】
このドローバー１０６…のスライド量によって、基音と倍音などの周期の異なる複数のサイン波などの周期の異なる複数の波形のそれぞれのレベル／合成割合が変更決定され、これらの波形の合成波形の形状が変更決定される。サスティーンスイッチ１０７は上述の図１のサスティーンスイッチ１７と同じである。
【０１７１】
これらの各フィートの成分音は互いに共用される。例えば、８フィート（２倍音）の成分音及び１６フィート（基音）の成分音では、８フィート（２倍音）の成分音が両方で共用される。フィート（２倍音）の成分音及び１６フィート（基音）の成分音では、５＋１／３フィート（３倍音）の成分音が両方で共用される。
【０１７２】
さらに、８フィート（２倍音）の成分音及び５＋１／３フィート（３倍音）の成分音では、１０＋２／３フィート（１．５倍音）または４フィート（６倍音）の成分音が両方で共用される。２フィート（８倍音）の成分音及び１＋３／５フィート（１０倍音）の成分音では、１３＋１／３フィート（１．２倍音）、４／５フィート（２０倍音）または２／５フィート（４０倍音）の成分音が両方で共用される。このことは上記第一実施例及び第二実施例でも同様である。
【０１７３】
（１４）音源回路（トーンジェネレータ）９７（第三実施例）
図１６は上記音源回路（トーンジェネレータ）９７のうちペダルキーボード１１の２５鍵Ｃ０〜Ｃ２に対応した部分を示す。ＤＣＯ（デジタルコントロールオシレータ）１０８…はデジタル制御される発信器であり、３７個設けられている。
【０１７４】
１６フィートで音高Ｃ０〜Ｃ２の２５個、８フィートでＣ１〜Ｃ３の２５個、このうち音高Ｃ１〜Ｃ２の１２個は共用されるから、２５＋２５−１−１２＝３７個の上記のとおりとなる。このＤＣＯ１０８…は、上記発音ソース回路６３…と同様であり、音高Ｃ０〜Ｃ３に対応した異なる周波数の上記サイン波などが上記成分音信号として出力され、各キーの音高に応じた周波数が基音として出力される。
【０１７５】
この各ＤＣＯ１０８…からの各成分音信号は、同じく３７個のＤＣＡ（デジタルコントロール増幅器）１０９…で、レベル／合成割合が制御され、ミキサー１１０で１つの楽音信号に合成されて、上記デジタルシグナルプロセッサ９９を通じてサウンドシステム１０１へ送られて放音される。
【０１７６】
上記キースキャナ９５で検出されたキーボード１１のオンキーまたはオフキーの音高と、パネルスキャナ９６で検出されたドローバー１０６…の各操作量に応じて、上記各ＤＣＡ１０９…のそれぞれのレベル／合成割合（ゲイン）が決定される。さらにこのレベル／合成割合（ゲイン）の変化のレート（速度）も制御され、生成された楽音波形信号に対してアタック、ディケイ、サスティーン、リリースのエンベロープ制御がなされ、上記サスティーンスイッチ１０７のオンに応じて、緩やかに減衰変化するサスティーン効果付与のエンベロープ制御がなされる。
【０１７７】
（１５）処理全体（第三実施例）
図１７はＣＰＵ（コントローラ）９１によって実行される処理全体のフローチャートを示す。この処理全体は本成分音合成装置の電源オンによって開始され、電源オフまで繰り返し実行される。まず、ＲＡＭ９３の初期化など種々の後述するイニシャライズ処理が行われる（ステップ１０１）。
【０１７８】
次いで、キーボード１１またはパネルスイッチ群１０５のオン操作またはオフ操作などのオンイベントまたはオフイベントがあると（ステップ１０２）、このイベントに応じた処理が実行される（ステップ１０３）。そして、時変数処理が行われ（ステップ１０４）、以上のステップ１０２から１０４の処理が電源オフまで繰り返される。この時変数処理は、時間の経過に伴って変化する変数に対する処理であり、パーカス音の減衰処理などが実行される。
【０１７９】
（１６）イニシャライズ処理（ステップ１０１）（第三実施例）
図１８は上記図１７のステップ１０１のイニシャライズ処理のフローチャートを示す。この処理では、まず音源回路９７の初期化が実行される。つまり、ＤＣＯ１０８の波形及び周波数が所定の波形及び所定の周波数に設定され、ＤＣＡ１０９のゲイン／レベル／合成割合が「０」にリセットされ、ミキサー１１０の合成割合が所定値に設定される（ステップ１１１）。
【０１８０】
次いで、ＲＡＭ９３内のドローバー１０６…に関する記憶エリアがクリアされる。つまり、全ドローバー１０６…のシフト量／設定量のデータが「０」にリセットされる（ステップ１１２）。そして、ＲＡＭ９３内のＤＣＡ１０９…に関する記憶エリアがクリアされる。つまり、全ＤＣＡ１０９…のゲイン値／レベル値／合成割合値のデータが「０」にリセットされる（ステップ１１３）。最後にその他のイニシャライズ処理が実行される（ステップ１１４）。
【０１８１】
（１７）イベント処理（ステップ１０３）（第三実施例）
図１９は上記図１７のイベント処理（ステップ１０３）のフローチャートを示す。まず、上記イベントが、キーボード１１のいずれかのキーのオンまたはオフであれば（ステップ１２１）、このイベントがあったキーに応じた発音処理または消音処理などのキーイベント処理が実行される（ステップ１２２）。
【０１８２】
また、上記イベントが、パネルスイッチ群１０５のドローバー１０６…の操作であれば（ステップ１２３）、ドローバー１０６…のシフト量／設定量に応じたドローバー処理が実行される（ステップ１２４）。さらに、上記イベントが、サスティーンスイッチ１０７のオン（オフ）の操作であれば（ステップ１２５）、サスティーンスイッチ状態を示すデータにつき、オン「１」及びオフ「０」のいずれか一方から他方へ切り換えられ（テップ１２６）、上記以外であればその他のイベント処理が実行される（ステップ１２７）。
【０１８３】
（１８）キーイベント処理（ステップ１２２）（第三実施例）
図２０は上記図１９のキーイベント処理（ステップ１２２）のフローチャートを示す。まず、キーオンイベント時及びキーオフイベント時（ステップ１３１）において、ｉ＝「０」とされ（ステップ１３２、１３３）、ｉ番目のドローバー１０６のシフト量／設定量が読み込まれる（ステップ１３４、１３５）。
【０１８４】
このｉ番目のドローバー１０６の当該キーイベントに係るキーに対応する発音を担当しているＤＣＡ１０９のゲイン値／レベル値／合成割合値が読み込まれ（ステップ１３６、１３７）、このＤＣＡ１０９のゲイン値／レベル値／／合成割合値にドローバー１０６のシフト量／設定量／合成割合値が加算または減算される（ステップ１３８、１３９）。
【０１８５】
この場合、上記キーイベントがキーオンであれば（ステップ１３１）、加算され、キーオフであれば（ステップ１３１）、減算される。この加算値または減算値は、エンベロープの新たな目標値となる。
【０１８６】
こうして、キーオン時には新たなキーオンに係る成分音信号のみのエンベロープのみが付加され、キーオフ時には新たなキーオフに係る成分音信号のみのエンベロープのみが除外され、他のエンベロープまで除外されない。
【０１８７】
次いで、キーオフイベント時（ステップ１３１）において、サスティーンスイッチ１０７がオン状態であれば（ステップ１４０）、エンベロープの減衰演算のレート／速度が小さくされ（ステップ１４１）、サスティーンスイッチ１０７がオフ状態であれば（ステップ１４０）、エンベロープの減衰演算のレート／速度が大きくされる（ステップ１４２）。
【０１８８】
こうして、他のキーに係る楽音がサスティーン状態にあるとき、一つのキーの消音操作があっても、このサスティーン状態がリリース状態に切換えられず、サスティーン状態が維持されることができる。
【０１８９】
以上のステップ１３１〜１４１の処理は、上記ｉが順次＋１され（ステップ１４３、１４４）、全ドローバー１０６…につき繰り返される（ステップ１４５、１４６）。これは、ペダルに限られず、ローア、アッパーでも、全ドローバー１０６…につき、同様に繰り返される。
【０１９０】
（１９）ドローバー処理（ステップ１２４）（第三実施例）
図２１は上記図１９のドローバー処理（ステップ１２４）のフローチャートを示す。まず、ＲＡＭ９３内のドローバー１０６のシフト量／設定量がクリアされ（ステップ１５１）、ｉ＝「０」とされ（ステップ１５２）、ＲＡＭ９３内のｉ番目のＤＣＡ１０９のゲイン値／レベル値がクリアされ（ステップ１５３）、ｊ＝「０」とされる（ステップ１５４）。
【０１９１】
次いで、ｉ番目のＤＣＡ１０９が担当しているキーが検出され（ステップ１５５）、このキーが押鍵中／オン中であれば（ステップ１５６）、ｊ番目のドローバー１０６のシフト量／設定量が読み込まれ（ステップ１５７）、ｉ番目のＤＣＡ１０９のゲイン値／レベル値に加算される（ステップ１５８）。
【０１９２】
以上のステップ１５５〜１５８の処理は、上記ｊが順次＋１され（ステップ１５９）、全ドローバー１０６…につき繰り返され（ステップ１６０）、さらに上記ｉが順次＋１され（ステップ１６１）、全キーつまり全ＤＣＡ１０９…につき繰り返される（ステップ１６２）。
【０１９３】
こうして、全ドローバー１０６…のシフト量／設定量／合成割合値に応じた、成分音信号のレベル／合成割合が決定され、合成楽音信号の波形及び音色が決定される。
【０１９４】
他のローア、アッパーも、このペダルと同様の構成であるが、鍵数が多くなり、ドローバー１０６…も多くなるので、これに応じた構成となる。この図１４乃至図２１の第三実施例の他の構成、作用、効果は、上記第一実施例または第二実施例と同じであり、これらの説明は本実施例でも記載されているものとするし、この第三実施例の記載内容も上記第一実施例または第二実施例に記載されているものとする。例えば図８のエンベロープ合成処理などは本実施例でも実行され、上記イベント処理（ステップ１０３）のキーボード１１のキーのオンイベントまたはオフイベントがあった時に実行される。
【０１９５】
（２０）他の実施の形態
本件発明は上記実施例に限定されず、本件発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、上記成分音コードデータは、現在発音中の合成楽音に使用されている成分音信号の「数」を示してもよい。上記実施例では、使う成分音発生器２１については「１」、使わない成分音発生器２１については「０」であった。
【０１９６】
しかし、この実施例では、使わない成分音発生器２１については「０」であるが、使う成分音発生器２１については「１以上」となり、この使われている成分音発生器２１が合成楽音に供給している成分音信号の数に応じた「数」となる。
【０１９７】
この場合、上記図６のステップ１４では、合成成分音コードデータの各ビットが「１以上」で、読み出された成分音コードデータの各ビットが「１」であることが判別される。上記ステップ１９では、プログラム／データ記憶部４内の合成成分音コードデータの各ビット値に対して、上記ステップ１２で読み出された成分音コードデータの各ビット値が加算されて、これが上記合成成分音コードデータとされる。
【０１９８】
また、図７のステップ３５では、読み出された成分音コードデータの「１以上」のビットに応じた成分音のエンベロープのリリースフェーズまたはサスティーンのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが合成エンベロープのものに書き換えられる。
【０１９９】
上記ステップ３８、３９では、上記ステップ２０でプログラム／データ記憶部４に記憶されていた成分音コードデータのうち、上記ステップ３３、３４で読み出された成分音コードデータと同じものがデクリメント「−１」され、これが新たな合成成分音コードデータとされる。
【０２００】
上記各成分音信号は一定の周波数であったが、チューニング操作によって周波数が変更されるようにされてもよい。成分音信号を共用するときには、当該成分音信号の周波数は一つの決まった周波数の成分音信号となる。
【０２０１】
上記サスティーンスイッチ１７は、音域／音高ごと、演奏分野（パート）ごと、タッチごと、音色ごと、発音時間ごと、発音数ごとに複数設けられ、これら音域、パート、タッチ、音色の別ごとにサスティーンが付加されたりされなかったりしてもよい。
【０２０２】
図４の成分音エンベロープテーブル３１の成分音コードデータ及びエンベロープデータは、キーナンバデータＫＮ（音高／音域）ごと、トーンナンバデータＴＮ（音色）ごとに記憶されるほか、タッチごと、発音時間ごと、演奏分野（パート）ごと、発音数ごとに、異なる値／同じ値で記憶されても良い。
【０２０３】
この場合、上述の音楽的ファクタに基づいて、これらのタッチ、発音時間、演奏分野（パート）、発音数、音色、音高／音域に応じた、成分音コードデータ及びエンベロープデータが読み出され、楽音信号発生部５にストアされ、これらの音楽的ファクタごとに異なる成分音の組み合わせが選択され、音楽的ファクタごとに異なるエンベロープ信号が発生される。
【０２０４】
成分音発生器２１…から発生される成分音はサイン波以外に、コサイン波、矩形波、三角波、のこぎり波、台形波、段差のある波形、その他の複雑な波形でもよいし、音色、音高（音域）、タッチ、演奏分野（パート）、発音時間ごとに異なる波形が記憶され切り替え選択されてもよい。このような複雑な形状の波形は上記各成分音の楽音波形として読み出され出力される。
【０２０５】
また、成分音発生器２１…から発生される成分音は成分音以外の１つの独立した楽音であってもよい。この場合、同じ成分音発生器２１…から発生される楽音の波形は同じ波形形状であり、同じ音高（周波数）である。このような場合でも同様にエンベロープの合成または発生量の合成を行うことができる。
【０２０６】
さらに、合成されるのはエンベロープ以外の成分音信号の振幅でもよい。この場合上記ステップ１５、３４で合成されるのは、振幅決定因子例えばタッチデータＴＣなどである。そして、各タッチデータＴＣは、上記オンイベント及びオフイベントごとに相加され、この相加されたタッチデータＴＣは上記乗算器２２…へ送られ、成分音信号に乗算される。
【０２０７】
なお、この相加されたタッチデータＴＣは、当該成分音信号の各エンベロープスピードデータＥＳに乗算されてもよい。この乗算されたエンベロープスピードデータＥＳを使って上記ステップ１５、３４のエンベロープ合成が行われる。
【０２０８】
上記エンベロープデータはエンベロープスピードＥＳとエンベロープタイムＥＴとで演算されるものであったが、予めメモリにアタック、ディケイ、サスティーン、リリースのエンベロープレベルデータが記憶され、これが読み出されて、読み出された複数のエンベロープレベルデータが重複するときは、加算合成されて出力されてもよい。これにより、図８のエンベロープ合成処理は不要となり、読み出されるエンベロープレベルデータが加算されていく。
【０２０９】
また、上記エンベロープ発生器２４…は、成分音発生器２１…と同じ数用意されたが、いずれか一方または両方を、時分割処理によって、数を少なくしてもよい。この場合、エンベロープ演算レジスタ４８、エンベロープタイムレジスタ４９、フェーズカウンタ５０は、複数のチャンネルメモリエリアが形成され、時分割チャンネル数に応じたデータが記憶され、順次シフト循環出力される。
【０２１０】
さらに、上記エンベロープデータは、エンベロープスピードデータＥＳとエンベロープレベルデータＥＬ、またはエンベロープレベルデータＥＬとエンベロープタイムデータＥＴとで代用されてもよい。この場合、隣り合う２つのエンベロープレベルデータＥＬの差がエンベロープスピードデータＥＳで除算されて上記エンベロープタイムデータＥＴが求められる。また、隣り合う２つのエンベロープレベルデータＥＬの差がエンベロープタイムデータＥＴで除算されて上記エンベロープスピードデータＥＳが求められる。
【０２１１】
上記第一実施例においては、各楽音、各成分音または各キーにチャンネルを割り当てるキーアサイナが設けられていたが、第一実施例においてこのキーアサイナは省略されて、全成分音信号ごとに楽音信号発生部５が構成されてもよい。逆に、上記第二実施例及び第三実施例においては、このキーアサイナはなかったが、第一実施例と同様にこのキーアサイナが設けられても良い。
【０２１２】
また、本発明は電子楽器またはコンピュータなどにおいて実施され得る。上記各図の回路の機能はソフトウエア（フローチャート）によって実施されても良いし、上記各図のフローチャートの機能はハードウエア（回路）によって実施されてもよい。各請求項記載の発明は、当該発明をコンピュータに実行させるコンピュータプログラムを記憶した媒体、コンピュータプログラムの通信装置（方法）、楽音発生装置（方法）、楽音制御装置（方法）としても実現可能である。
【０２１３】
（２１）他の発明の効果
[１]周波数値が異なり波形が同じ多数の成分音信号を出力させ、この多数の成分音信号を合成して１つの合成楽音として出力させ、  上記楽音につき、音高の異なる当該楽音の発音及び消音の指示をする複数の指示手段であって、  この複数の指示手段にわたって、上記多数の成分音信号の一部または全部を共用する複数の指示手段につき、  同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のエンベロープのうち、  この消音操作に係わる成分音信号のエンベロープを、この消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープから抽出区別させ、消音操作に係わる成分音信号のエンベロープのみをリリース状態にさせ、消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持させることを特徴とする成分音合成方法。
周波数値が２倍以上異なり波形が同じ多数の成分音信号であって、各周波数が一定の多数の成分音信号を出力させ、この多数の成分音信号を合成して１つの合成楽音として出力させ、  
この複数の指示手段にわたって、上記多数の成分音信号の一部または全部を共用する複数の指示手段につき、  同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のうち、  この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持するとともに、  この消音操作に係わる成分音信号のエンベロープのみをリリース状態にすることを特徴とする成分音合成装置。
【０２１４】
[２]周波数値が異なり波形が同じ多数の成分音信号を出力し、この多数の成分音信号を合成して１つの合成楽音として出力する楽音出力手段と、  上記楽音につき、音高の異なる当該楽音の発音及び消音の指示をする複数の指示手段であって、この複数の指示手段にわたって、上記多数の成分音信号の一部または全部を共用する複数の指示手段と、  同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のエンベロープのうち、  この消音操作に係わる成分音信号のエンベロープを、この消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープから抽出区別し、消音操作に係わる成分音信号のエンベロープのみをリリース状態にさせ、消音操作に係らない他の成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持させることを特徴とする成分音合成方法。
周波数値が２倍以上異なり波形が同じ多数の成分音信号であって、各周波数が一定の多数の成分音信号を出力し、この多数の成分音信号を合成して１つの合成楽音として出力する楽音出力手段と、
同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のうち、  この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持させるとともに、  この消音操作に係わる成分音信号のエンベロープのみをリリース状態にさせることを特徴とする成分音合成方法。
【０２１５】
[２]周波数値が２倍以上異なり波形が同じ多数の成分音信号であって、各周波数が一定の多数の成分音信号を出力し、この多数の成分音信号を合成して１つの合成楽音として出力する楽音出力手段と、  上記楽音につき、音高の異なる当該楽音の発音及び消音の指示をする複数の指示手段であって、この複数の指示手段にわたって、上記多数の成分音信号の一部または全部を共用する複数の指示手段と、  同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のうち、  この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持するとともに、  この消音操作に係わる成分音信号のエンベロープのみをリリース状態にするエンベロープ制御手段とを備えたことを特徴とする成分音合成装置。
同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、上記共用される成分音信号のうち、  この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープをリリース状態にならないように維持させるとともに、  この消音操作に係わる成分音信号のエンベロープのみをリリース状態にさせるエンベロープ制御手段とを備えたことを特徴とする成分音合成装置。
【０２１６】
[３]上記指示手段の発音操作の終了タイミング以降で、緩やかに減衰するサスティーン状態と、通常の速さで減衰するリリース状態とを切り換える切り換え手段をさらに備え、  上記共用される成分音信号のうち、一部の成分音信号のエンベロープがサスティーン状態にあるとき、  同時に並行して発音操作されている複数の上記指示手段のいずれかが消音操作されたとき、  この消音操作に係らない成分音信号のエンベロープまたは合成エンベロープをサスティーン状態に維持するとともに、  この消音操作に係わる成分音信号のエンベロープもサスティーン状態にするまたはリリース状態にすることを特徴とする請求項２記載の成分音合成装置。
【０２１７】
[４]発音操作の開始タイミングまたは終了タイミングが異なり、しかも同時に並行して発生される少なくとも２つの上記合成楽音のうち、後の開始タイミングまたは先の終了タイミングにおいて、この少なくとも２つの合成楽音の各成分音信号の各エンベロープにつき、合成したエンベロープを成分音信号ごとに求め、これを１つのエンベロープとして各成分音信号に合成するエンベロープ合成手段とを備えたことを特徴とする請求項２または３記載の成分音合成装置。
【０２１８】
これにより、発音操作の開始タイミングまたは終了タイミングにおいて、異なる合成楽音にわたって共通する成分音信号の各エンベロープを合成するので、別々にエンベロープを付与する無駄がなくなる。
【０２１９】
[５]上記先の終了タイミング以降において、上記合成されたエンベロープレベルは、未だ終了タイミングに達していない合成楽音の成分音信号のエンベロープレベルに向かって漸近することを特徴とする請求項２、３または４記載の成分音合成装置。これにより、発音操作の終了に達していない発音操作中の楽音／成分音については、なお継続して発音させ続けることができる。
【０２２０】
[６]上記エンベロープは、発音操作の終了タイミング以降で、緩やかに減衰するサスティーン状態と、通常の速さで減衰するリリース状態とが切り換えられ、  リリース状態のときには、上記各成分音信号の各エンベロープを「０」に近づけ、  サスティーン状態のときには、上記各成分音信号の各エンベロープを揺やかに「０」に近づけるとともに、レベルが「０」の成分音信号の一部または全部のレベルを「０」以外の値まで徐々に変化させ、この後緩やかに「０」に近づけることを特徴とする請求項２、３または４記載の成分音合成装置。これにより、リリース状態とサスティーン状態とで合成される成分音の内容を異ならせて／切り換えて音色を異ならせる／切り換えることができる。
【０２２１】
[７]上記成分音信号が上記合成楽音にとって不要の場合は、当該成分音信号が上記合成楽音の成分とならない場合、当該合成楽音の発音操作の開始タイミング前、または当該合成楽音の発音操作の終了タイミング以降のエンベロープが減衰し切った場合であることを特徴とする請求項２、３、４、５または６記載の成分音合成装置。
【０２２２】
これにより、成分音信号が上記合成楽音の成分とならない状態から成分となる場合、発音操作の開始前から開始後になる場合、発音操作の終了前から終了後になる場合、空きチャンネルをサーチしたり、割当てチャンネルをサーチしたりする処理が不要となり、楽音の発音開始及び発音終了の処理が迅速になり、発音開始及び発音終了の反応が速くなる。
【０２２３】
さらに、時分割処理によるキーアサイナでは、既にチャンネルに割り当てられる全ての楽音の全成分音の各周波数と、これからチャンネルを割り当てる楽音の全成分音の各周波数とで、またはこれから発音終了させる楽音の全成分音の各周波数とで、一致するものをサーチ・チェックする必要がなくなり、楽音の発音開始及び発音終了の処理が速くなり、楽音の発音開始及び発音終了の反応が遅くなる。
【０２２４】
[８]上記指示手段は異なる複数の音高に対応しており、上記複数の成分音信号は、これらの各音高にほぼ対応した周波数及びこの周波数のほぼ逓倍であることを特徴とする請求項２、３、４、５、６または７記載の成分音合成装置。これにより、オクターブの異なる同じ音名で成分音信号を共用することができ、成分音信号を効率的かつ有効に使用することができる。
【０２２５】
[９]上記多数の成分音信号のうちどの成分音信号を合成しどの成分音信号を合成しないかを示す合成情報を記憶し、  上記発音操作の後の開始タイミングにおいて、  発音操作中の成分音信号の合成情報と、発音操作が開始された成分音信号の合成情報とが、ともに「合成する」であれば、当該成分音信号につき合成エンベロープを求め、  発音操作中の成分音信号の合成情報が「合成せず」、発音操作が開始された成分音信号の合成情報が「合成する」であれば、発音操作が開始された成分音信号のエンベロープで発音開始させ、  発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が開始された成分音信号の合成情報が「合成せず」であれば、何もしないことを特徴とする請求項２、３、４、５、６、７または８記載の成分音合成装置。これにより、エンベロープを合成するか合成しないかを、合成情報に基づいて判断することができ、楽音の発音開始の処理が迅速になり、発音開始の反応が速くなる。
【０２２６】
[１０]上記多数の成分音信号のうちどの成分音信号を合成しどの成分音信号を合成しないかを示す合成情報を記憶し、  上記発音操作の先の終了タイミングにおいて、  発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が終了された成分音信号の合成情報が「合成する」であれば、当該成分音信号につき合成エンベロープを求めることを特徴とする請求項２、３、４、５、６、７、８または９記載の成分音合成装置。これにより、エンベロープを合成するか合成しないかを、合成情報に基づいて判断することができ、楽音の発音終了の処理が迅速になり、発音終了の反応が速くなる。
【０２２７】
[１１]上記多数の成分音信号のうちどの成分音信号を合成しどの成分音信号を合成しないかを示す合成情報を、緩やかに減衰するサスティーン状態において記憶し、  上記発音操作の先の終了タイミングにおいてサスティーン状態を開始し、  発音操作中の成分音信号の合成情報が「合成せず」または「合成する」で、発音操作が終了された成分音信号の合成情報が「合成する」であれば、当該成分音信号につきサスティーン状態における合成エンベロープを求めることを特徴とする請求項２、３、４、５、６、７、８、９または１０記載の成分音合成装置。
【０２２８】
これにより、サスティーン状態においても、エンベロープを合成するか合成しないかを、合成情報に基づいて判断することができ、サスティーン状態においても、楽音の発音終了の処理が迅速になり、発音終了の反応が速くなる。
【０２２９】
[１２]上記合成エンベロープを求めるたびに、発音操作中の成分音信号の合成情報を更新することを特徴とする請求項２、３、４、５、６、７、８、９、１０または１１記載の成分音合成装置。これにより、発音操作の開始または終了ごとに、この合成情報を最新の状態にすることができ、エンベロープを合成するか合成しないかの判断を、過誤無く迅速に行なうことができる。
【０２３０】
[１３]上記合成される多数の成分音信号の合成割合または上記共用される成分音信号の全成分音信号に占める割合は変化されることを特徴とする請求項２、３、４、５、６、７、８、９、１０、１１または１２記載の成分音合成装置。これにより、合成される楽音の音色が変化される。
【０２３１】
[１４]ＣＰＵが、  周波数値が２倍以上異なり波形が同じ多数の成分音信号であって、各周波数が一定の多数の成分音信号を常時出力させ、この多数の全成分音信号を合成して１つの楽音として出力させ、  この各成分音信号のそれぞれのレベルを「０」から所定値まで個別に変化させるためのエンベロープを発生して各成分音信号に合成させ、各成分音信号のそれぞれのレベルを「０」から所定値まで個別に変化させることであって、当該成分音信号が上記合成楽音にとって不要の場合には、この成分音信号のエンベロープのレベルは「０」とされ、  発音操作の開始タイミングまたは終了タイミングが異なり、しかも同時に並行して発生される少なくとも２つの上記合成楽音のうち、後の開始タイミングまたは先の終了タイミングにおいて、この少なくとも２つの合成楽音の各成分音信号の各エンベロープにつき、合成したエンベロープを成分音信号ごとに求めさせ、これを１つのエンベロープとして各成分音信号に合成させることを特徴とする成分音合成方法／実行させることを特徴とする請求項２、３、４、５、６、７、８、９、１０、１１、１２または１３記載の成分音合成のためのコンピュータプログラム／成分音合成装置。
【０２３２】
これにより、多数の成分音信号を常時出力しているにもかかわらず、不要な成分音信号を「０」に押さえることができ、不要な成分音信号が不用意に聞こえてしまうことがなくなる。
【０２３３】
[１５]各成分音信号のそれぞれのレベルを「０」から所定値まで個別に変化させるためのエンベロープを発生して各成分音信号に合成し、各成分音信号のそれぞれのレベルを「０」から所定値まで個別に変化することであって、当該成分音信号が上記合成楽音にとって不要の場合には、この成分音信号のエンベロープのレベルは「０」とすることを特徴とする請求項２、３、４、５、６、７、８、９、１０、１１、１２、１３または１４記載の成分音合成のためのコンピュータプログラム／成分音合成装置。
【０２３４】
これにより、多数の成分音信号を常時出力しているにもかかわらず、不要な成分音信号を「０」に押さえることができ、不要な成分音信号が不用意に聞こえてしまうことがなくなる。
【０２３５】
また、時分割処理によるキーアサイナのように、発音開始時に空きチャンネルをサーチしたり、発音終了時に発音終了させるべき楽音に割り当てられているチャンネルをサーチしたりする処理が不要となり、楽音の発音開始及び発音終了の処理が迅速になり、楽音の発音開始及び発音終了の反応が速くなる。
【０２３６】
さらに、時分割処理によるキーアサイナでは、既にチャンネルに割り当てられる全ての楽音の全成分音の各周波数と、これからチャンネルを割り当てるまたはこれから発音終了させる楽音の全成分音の各周波数とで、一致するものをサーチ・チェックしなければならず、楽音の発音開始の処理が遅くなり、楽音の発音開始の反応が遅くなる。特に同時発音数が多いときには顕著となる。
【産業上の利用可能性】
【０２３７】
複数のキーに共用されている成分音信号が一つのキーの消音でリリース状態にならず、他のキーに係る楽音がサスティーン状態にあるときでもリリース状態にならない。上記キーボード１１の各キーのオンデータは、乗算器６１、６２で、ドローバー回路６５で設定された振幅データが乗算され、加算器６６で加算され、発音ソース回路６３…に送られ、振幅データに応じた振幅で、周期の異なる同じ波形のサイン波が出力され、エンベロープ発生器６７でエンベロープが合成され、加算器６４で加算合成される。
【０２３８】
このエンベロープ発生器６７は、各発音ソース回路６３…ごと、つまり共用される成分音信号ごとに設けられ、一つのキーの消音操作があっても、複数のキーにわたって共用されている成分音信号／サイン波すべてがリリース状態にならず、他のキーに係る楽音がサスティーン状態にあるときでもリリース状態にならずサスティーン状態が維持される。
【０２３９】
成分音信号が共通するエンベロープにつき、合成したエンベロープが求められて１つにまとめられる状況において、多数の成分音信号が常時出力されているので、楽音の発音開始及び発音終了の処理が迅速になり、楽音の発音開始及び発音終了の反応が速くなる。
【０２４０】
合成エンベロープの各フェーズの絶対時間（Ｔａ２−Ｔｂ０）、（Ｔａ３−Ｔｂ０）、（Ｔａ４−Ｔｂ０）、（Ｔｂ１−Ｔｂ０）、（Ｔｂ２−Ｔｂ０）、（Ｔｂ３−Ｔｂ０）、（Ｔｂ４−Ｔｂ０）は大きい順に並べられ（ステップ５６）、合成エンベロープ信号の各エンベロープタイムデータＥＴｓが求められ（ステップ５７、図１０（２）左欄）、さらに合成エンベロープ信号の各エンベロープスピードデータＥＳｓが求められる（ステップ５８、図１０（２）右欄）。これは発音操作の終了後のサスティーン状態のエンベロープデータも同様に実行される（ステップ３３）
【図面の簡単な説明】
【０２４１】
【図１】成分音合成装置の全体回路を示す。
【図２】楽音信号発生部５を示す。
【図３】エンベロープ発生器２４…の１つを示す。
【図４】プログラム／データ記憶部４内の成分音エンベロープテーブル３１を示す。
【図５】コントローラ（ＣＰＵ）２によって実行される処理全体のフローチャートを示す。
【図６】上記ステップ０３の発音処理のフローチャートを示す。
【図７】上記ステップ０５の消音処理のフローチャートを示す。
【図８】ステップ１５及びステップ３４のエンベロープ合成処理のフローチャートを示す。
【図９】同じ周波数の成分音ａと成分音ｂとのエンベロープ合成の波形の例を示す。
【図１０】同じ周波数の成分音ａと成分音ｂとのエンベロープ合成のデータの例を示す。
【図１１】サスティーン状態における、同じ周波数の成分音ａと成分音ｂとのエンベロープ合成の波形の例を示す。
【図１２】楽音信号発生部５の第二実施例を示す。
【図１３】図１２のエンベロープ発生器６７（第二実施例）を示す。
【図１４】成分音合成装置の全体回路の第三実施例を示す。
【図１５】パネルスイッチ群１０５（第三実施例）を示す。
【図１６】音源回路（トーンジェネレータ）９７のうちペダルキーボード１１の２５鍵Ｃ０〜Ｃ２に対応した部分（第三実施例）を示す。
【図１７】ＣＰＵ（コントローラ）９１によって実行される処理全体のフローチャート（第三実施例）を示す。
【図１８】図１７のステップ１０１のイニシャライズ処理のフローチャート（第三実施例）を示す。
【図１９】図１７のイベント処理（ステップ１０３）のフローチャート（第三実施例）を示す。
【図２０】図１９のキーイベント処理（ステップ１２２）のフローチャート（第三実施例）を示す。
【図２１】図１９のドローバー処理（ステップ１２４）のフローチャート（第三実施例）を示す。
【符号の説明】
【０２４２】
１…全体回路、２…コントローラ（ＣＰＵ）、
３…タイミング発生部、４…プログラム／データ記憶部、
５…楽音信号発生部、６…サウンドシステム、７…情報記憶部、
１１…キーボード、１２…キーボードスキャン回路、
１３…パネルスイッチ群、１４…スイッチスキャン回路、
１５…ミディ回路、１７…サスティーンスイッチ、
２１…成分音発生器、２２…乗算器、
２３…加算器、２４…エンベロープ発生器、
３１…成分音エンベロープテーブル、
４１…エンベロープレジスタ、４６…加算器、
４７…セレクタ、４８…エンベロープ演算レジスタ、
４９…エンベロープタイムレジスタ、５０…フェーズカウンタ、
５１…加算器、５２…ナンドゲート群、
６１、６２…乗算器、６３…発音ソース回路、
６４、６６…加算器、６５…ドローバー回路、
６７…エンベロープ発生器、７１…乗算器、
７２…先リリースレジスタ、７３…先サスティーンレジスタ、
７４、７８…乗算器、７５…後リリースレジスタ、
７６…後サスティーンレジスタ、７７、７９…アンドゲート、
８０…セレクタ、８１…エッジ検出回路、
８２…サスティーンオンオフレジスタ、
９１…ＣＰＵ、９２…ＲＯＭ、
９３…ＲＡＭ、９４…インターフェース回路、
９５…キースキャナ、９６…パネルスキャナ、
９７…音源回路（トーンジェネレータ）、９８…波形ＲＯＭ、
９９…デジタルシグナルプロセッサ、１００…ディケイＲＡＭ、
１０１…サウンドシステム、１０２…ＣＰＵバス、
１０３…音源バス、１０４…効果バス、
１０５…パネルスイッチ群、１０６…ドローバー、
１０７…サスティーンスイッチ、１０８…ＤＣＯ（デジタルコントロールオシレータ）、
１０９…ＤＣＡ（デジタルコントロール増幅器）、１１０…ミキサー。
【図１】
0005142363.tif 000002
【図２】
0005142363.tif 000003
【図３】
0005142363.tif 000004
【図４】
0005142363.tif 000005
【図５】
0005142363.tif 000006
【図６】
0005142363.tif 000007
【図７】
0005142363.tif 000008
【図８】
0005142363.tif 000009
【図９】
0005142363.tif 000010
【図１０】
0005142363.tif 000011
【図１１】
0005142363.tif 000012
【図１２】
0005142363.tif 000013
【図１３】
0005142363.tif 000014
【図１４】
0005142363.tif 000015
【図１５】
0005142363.tif 000016
【図１６】
0005142363.tif 000017
【図１７】
0005142363.tif 000018
【図１８】
0005142363.tif 000019
【図１９】
0005142363.tif 000020
【図２０】
0005142363.tif 000021
【図２１】
0005142363.tif 000022