(57)【特許請求の範囲】
【請求項１】
複数の楽音を並行して発生する手段と、
この並行して発生された複数の楽音の相互の周波数値比に基づく共鳴相関値を決定する手段と、
上記発生された複数の楽音を繰り返し遅延させて残響を付加する手段と、
この繰り返し遅延の遅延時間または減衰量を、上記共鳴相関値に基づいて決定する手段とを備えたことを特徴とする残響共鳴装置。
【請求項２】
コントローラが残響共鳴装置に対して、
並行して発生された複数の楽音の相互の周波数値比に基づく共鳴相関値を決定させ、
上記発生された複数の楽音を繰り返し遅延させて残響を付加させ、
この繰り返し遅延の遅延時間または減衰量を、上記共鳴相関値に基づいて決定させることを特徴とする残響共鳴方法。
【請求項３】
楽音の直接音を発生する手段と、
この発生された直接音の周波数に対して、周波数の異なる共鳴音を複数発生させる手段と、
これら発生された直接音及び共鳴音を繰り返し遅延させて残響を付加する手段と、
この繰り返し遅延の遅延時間または減衰量を、上記直接音の周波数からいちばん離れた共鳴音の周波数と直接音の周波数との差に基づいて決定する手段とを備えたことを特徴とする残響共鳴装置。
【請求項４】
コントローラが残響共鳴装置に対して、
発生された楽音の直接音の周波数に対して、周波数の異なる共鳴音を複数発生させ、
これら発生された直接音及び共鳴音を繰り返し遅延させて残響を付加させ、
この繰り返し遅延の遅延時間または減衰量を、上記直接音の周波数からいちばん離れた共鳴音の周波数と直接音の周波数との差に基づいて決定させることを特徴とする残響共鳴方法。
【請求項５】
楽音の直接音を発生する手段と、
この発生された直接音の周波数及びレベルに対して、異なる周波数及び異なるレベルの共鳴音を複数発生させる手段と、
これら発生された直接音及び共鳴音を繰り返し遅延させて残響を付加する手段と、
この繰り返し遅延の遅延時間または減衰量を、上記複数の共鳴音の合計レベルに基づいて決定する手段とを備えたことを特徴とする残響共鳴装置。
【請求項６】
コントローラが残響共鳴装置に対して、
発生された楽音の直接音の周波数及びレベルに対して、異なる周波数及び異なるレベルの共鳴音を複数発生させ、
これら発生された直接音及び共鳴音を繰り返し遅延させて残響を付加させ、
この繰り返し遅延の遅延時間または減衰量を、上記複数の共鳴音の合計レベルに基づいて決定させることを特徴とする残響共鳴方法。
【請求項７】
楽音の直接音を発生する手段と、
この発生された直接音の周波数に対して、異なる周波数の共鳴音を複数発生させる手段と、
これら発生された直接音及び共鳴音を繰り返し遅延させて残響を付加する手段と、
この繰り返し遅延の遅延時間または減衰量を、上記共鳴音の発生数に基づいて決定する手段とを備えたことを特徴とする残響共鳴装置。
【請求項８】
コントローラが残響共鳴装置に対して、
発生された楽音の直接音の周波数に対して、異なる周波数の共鳴音を複数発生させ、
これら発生された直接音及び共鳴音を繰り返し遅延させて残響を付加させ、
この繰り返し遅延の遅延時間または減衰量を、上記共鳴音の発生数に基づいて決定させることを特徴とする残響共鳴方法。
【請求項９】
上記遅延時間または減衰量は初期反射音と後期残響音とで異なり、
上記共鳴音の周波数は同時に発生される複数の上記直接音の各音高の相互関係に基づき、
上記遅延時間または減衰量は同時に発生される複数の上記直接音の各音高の相互関係に基づき、
上記直接音は、複数の成分音からなっており、
上記共鳴音の周波数は上記発生される直接音の楽音の周波数と単純な整数倍比の関係にあり、
上記直接音の成分音の周波数と共鳴音の周波数とが同じであればこれらの成分音及び共鳴音は１つに合成されることを特徴とする請求項３記載の残響共鳴装置。
【請求項１０】
上記遅延時間または減衰量は初期反射音と後期残響音とで異なり、
上記共鳴音のレベルは同時に発生される複数の上記直接音の各音高の相互関係に基づき、
上記遅延時間または減衰量は同時に発生される複数の上記直接音の各音高の相互関係に基づき、
上記直接音は、複数の成分音からなっており、
上記共鳴音の周波数は上記発生される直接音の楽音の周波数と単純な整数倍比の関係にあり、
上記直接音の成分音の周波数と共鳴音の周波数とが同じであればこれらの成分音及び共鳴音は１つに合成されることを特徴とする請求項５記載の残響共鳴装置。
【請求項１１】
上記遅延時間または減衰量は初期反射音と後期残響音とで異なり、
上記共鳴音の発生数は同時に発生される複数の上記直接音の各音高の相互関係に基づき、
上記遅延時間または減衰量は同時に発生される複数の上記直接音の各音高の相互関係に基づき、
上記直接音は、複数の成分音からなっており、
上記共鳴音の周波数は上記発生される直接音の楽音の周波数と単純な整数倍比の関係にあり、
上記直接音の成分音の周波数と共鳴音の周波数とが同じであればこれらの成分音及び共鳴音は１つに合成されることを特徴とする請求項７記載の残響共鳴装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、残響共鳴装置及び方法に関し、特に発生楽音に共鳴特性及び残響を付加する装置及び方法に関する。
【０００２】
【従来技術】
従来の残響を付加する装置では遅延回路が用いられ、発生された楽音（直接音）がこの遅延回路に入力されて遅延されて出力され（初期反射音）、この遅延出力がさらに当該遅延回路に帰還されて、遅延が繰り返されて出力される（後期残響音）。
【０００３】
これら残響装置は、例えば特願平８−２９４７７号明細書、特願平８−４６１５８号明細書、特願平８−４６１５９号明細書、特願平８−５７１７４号明細書などに示され、また共鳴音を付加する装置は特願平１−３１４８１８号（特開平３−１７４５９０号）明細書に示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような残響装置は単に残響を付加するだけであり、共鳴特性との関連性はなかった。しかしながら、このような残響特性を共鳴特性と関連付ければ、変化のある楽音を生成することができる。
【０００５】
本発明は、上述した課題を解決するためになされたものであり、本発明の目的は、このような残響特性と共鳴特性と関連付けた楽音を発生させることにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明は、共鳴特性の付加された楽音を繰り返し遅延させて残響を付加し、この遅延される楽音の遅延内容を上記共鳴特性に基づいて決定するようにした。これにより、残響特性と共鳴特性と関連付けた楽音を発生させることができる。
【０００７】
【発明の実施の形態】
１．全体回路
図１は残響共鳴装置、楽音生成制御装置または電子楽器の全体回路を示す。演奏情報発生部１からは演奏情報（楽音発生情報）が発生される。この演奏情報（楽音発生情報）は、楽音を発生させるための情報である。この演奏情報発生部１は、マニュアル操作によって演奏される発音指示装置、自動演奏装置、種々のスイッチまたはインターフェイスである。
【０００８】
上記演奏情報（楽音発生情報）は、音楽的ファクタ（因子）情報であり、音高（音域）情報（音高決定因子）、発音時間情報、演奏分野情報、発音数情報、共鳴度情報などである。発音時間情報は楽音の発音開始からの経過時間を示す。演奏分野情報は、演奏パート情報、楽音パート情報、楽器パート情報等を示し、例えばメロディ、伴奏、コード、ベース、リズム等、または上鍵盤、下鍵盤、足鍵盤等に対応している。
【０００９】
上記音高情報はキーナンバデータＫＮとして取り込まれる。このキーナンバデータＫＮはオクターブデータ（音域データ）と音名データとからなる。演奏分野情報は、パートナンバデータＰＮとして取り込まれ、このパートナンバデータＰＮは各演奏エリアを識別するデータであって、発音操作された楽音がどの演奏エリアからのものかによって設定される。
【００１０】
発音時間情報は、トーンタイムデータＴＭとして取り込まれ、キーオンイベントからのタイムカウントデータに基づいたり、またはエンベロープフェーズで代用される。この発音時間情報は特願平６−２１９３２４号明細書及び図面に発音開始からの経過時間情報として詳しく示される。
【００１１】
発音数情報は同時に発音している楽音の数を示し、例えばアサインメントメモリ３０のオン／オフデータが「１」の楽音の数に基づき、この数は特願平６−２４２８７８号の図９及び図１５、特願平６−２７６８５５号の図８及び図１８、特願平６−２７６８５７号の図９及び図２０、特願平６−２７６８５８号の図９及び図２１のフローチャートに基づいて求められる。
【００１２】
共鳴度情報は、発音している１つの楽音と他の楽音との共鳴度を示す。この１つの楽音の音高周波数と他の楽音の音高周波数とが１：２、２：３、３：４、４：５、５：６など小さい整数倍比であれば共鳴度情報の値は大きく、９：８、１５：８、１５：１６、４５：３２、６４：４５など大きい整数数倍比であれば共鳴度情報の値は小さくなる。この共鳴度情報は直接音の周波数ナンバデータＦＮ及びエンベロープスピードデータＥＳまたはエンベロープレベルデータＥＬに基づいて求められる。
【００１３】
発音指示装置は、キーボード楽器、弦楽器、吹奏楽器、打楽器、コンピュータのキーボード等である。自動演奏装置は、記憶された演奏情報を自動的に再生するものである。インターフェイスは、ＭＩＤＩ（ミュージカルインスツルメントデジタルインターフェイス）等、接続された装置からの演奏情報を受け取ったり、送り出したりする装置である。
【００１４】
さらに、この演奏情報発生部１には各種スイッチが設けられ、この各種スイッチは音色タブレット、エフェクトスイッチ、リズムスイッチ、ペダル、ホイール、レバー、ダイヤル、ハンドル、タッチスイッチ等であって楽器用のものである。この各種スイッチより、楽音制御情報が発生され、この楽音制御情報は発生された楽音を制御する情報であって音楽的ファクタ（因子）情報であり、音色情報（音色決定因子）、タッチ情報（発音指示操作の速さ／強さ）、発音数情報、共鳴度情報、エフェクト情報、リズム情報、音像（ステレオ）情報、クオンタイズ情報、変調情報、テンポ情報、音量情報、エンベロープ情報等である。
【００１５】
これら音楽的ファクタ情報も上記演奏情報（楽音情報）に合体され、上記各種スイッチより入力されるほか、上記自動演奏情報に合体されたり、上記インターフェイスで送受される演奏情報に合体される。なお、上記タッチスイッチは上記発音指示装置の１つ１つに対応して設けられており、タッチの速さと強さを示すイニシャルタッチデータとアフタタッチデータとが発生される。
【００１６】
上記音色情報は、鍵盤楽器（ピアノ等）、管楽器（フルート等）、弦楽器（バイオリン等）、打楽器（ドラム等）の楽器（発音媒体／発音手段）の種類等に対応しており、トーンナンバデータとして取り込まれる。上記エンベロープ情報は、エンベロープタイム、エンベロープレベル、エンベロープスピード、エンベロープフェーズなどである。
【００１７】
このような音楽的ファクタ情報は、コントローラ２へ送られ、後述の各種信号、データ、パラメータの切り換えが行われ、楽音の内容が決定される。上記演奏情報（楽音発生情報）及び楽音制御情報はコントローラ２で処理され、各種データが音響出力部５へ送られ、楽音信号が発生される。コントローラ２はＣＰＵ、ＲＯＭ及びＲＡＭなどからなっている。
【００１８】
プログラム／データ記憶部３（内部記憶媒体／手段）はＲＯＭまたは書き込み可能なＲＡＭ、フラッシュメモリまたはＥＥＰＲＯＭ等の記憶装置からなり、光ディスクまたは磁気ディスク等の情報記憶部４（外部記憶媒体／手段）に記憶されるコンピュータのプログラムが書き写され記憶される（インストール／転送される）。またプログラム／データ記憶部３には外部の電子楽器またはコンピュータから上記ＭＩＤＩ装置または送受信装置を介して送信されるプログラムも記憶される（インストール／転送される）。このプログラムの記憶媒体は通信媒体も含む。
【００１９】
このインストール（転送／複写）は、情報記憶部３が本楽音生成装置にセットされたとき、または本楽音生成装置の電源が投入されたとき自動的に実行され、または操作者による操作によってインストールされる。上記プログラムは、コントローラ２が各種処理を行うための後述するフローチャートに応じたプログラムである。
【００２０】
なお、本装置に予め別のオペレーティングシステム、システムプログラム（ＯＳ）、その他のプログラムが記憶され、上記プログラムはこれらのＯＳ、その他のプログラムとともに実行されてもよい。このプログラムは本装置（コンピュータ本体）にインストールされ実行されたときに、別のプログラムとともにまたは単独で請求項（クレーム）に記載された処理・機能を実行させることができればよい。
【００２１】
また、このプログラムの一部又は全部が本装置以外の１つ以上の別装置に記憶されて実行され、本装置と別装置との間には通信手段を介して、これから処理するデータ／既に処理されたデータ／プログラムが送受され、本装置及び別装置全体として、本発明が実行されてもよい。
【００２２】
このプログラム／データ記憶部３には、上述した音楽的ファクタ情報、上述した各種データ及びその他の各種データも記憶される。この各種データには時分割処理に必要なデータや時分割チャンネルへの割当のためデータ等も含まれる。
【００２３】
音響出力部５では、上記アサインメントメモリ４０に書き込まれた各データに応じた楽音信号が並行して発生され発音出力される。この音響出力部５は時分割処理によって複数の楽音信号が同時に生成されポリフォニックに発音される。この音響出力部５では、共鳴付加、残響付加及び音像形成（ステレオ制御）が行われる。
【００２４】
タイミング発生部６からは、残響共鳴装置、楽音生成制御装置又は電子楽器の全回路の同期を取るためのタイミングコントロール信号が各回路に出力される。このタイミングコントロール信号は、各周期のクロック信号のほか、これらのクロック信号を論理積または論理和した信号、時分割処理のチャンネル分割時間の周期を持つ信号、チャンネルナンバデータＣＨＮｏ、タイムカウントデータＴＩなどを含む。このタイムカウントデータＴＩは、絶対時間つまり時間の経過を示し、このタイムカウントデータＴＩのオーバフローリセットから次のオーバフローリセットまでの周期は、各楽音のうち最も長い発音時間より長く、場合によって数倍に設定される。
【００２５】
２．成分音テーブル３０
図２はプログラム／データ記憶部３内の成分音テーブル３０を示す。この成分音テーブル３０には、各音色（トーンナンバデータＴＮ）の楽音を構成する各成分音のデータが記憶され、対応する成分音のデータがトーンナンバデータＴＮから変換され読み出される。この成分音のデータは、複数の周波数ナンバ比データＦＮＲ、複数のエンベロープデータ及びレベルデータＬＥからなっている。この成分音にはノイズ音も含まれる。このノイズ音は鍵盤楽器（ピアノ）の響板、管楽器の管、弦楽器の胴などの音である。
【００２６】
周波数ナンバ比データＦＮＲは、音高に応じた基本周波数に対する各成分音の周波数の比を示す。指定された音高周波数に対して、この周波数ナンバ比データＦＮＲが乗算され、各成分音の周波数が求められる。基本周波数の周波数ナンバ比データＦＮＲは「１」であるから省略されてもよい。
【００２７】
この周波数ナンバ比データＦＮＲは、２、３、４、５、…の整数、１／２、１／３、１／４、１／５、…の整数分の１、または１．１、１．２、１．３、…、２．１、２．２、２．３、…の非整数、１／１．１、１／１．２、１／１．３、…、１／２．１、１／２．２、１／２．３、…の非整数分の１である。
【００２８】
エンベロープデータは、上記各成分音ごとのエンベロープを示す。この各エンベロープデータは、各エンベロープフェーズごとのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴからなっている。エンベロープスピードデータＥＳはエンベロープのデジタル演算１周期当たりの演算のステップ値を示す。エンベロープタイムデータＥＴは各フェーズごとのエンベロープ演算時間（発生時間、発音時間）、つまり上記デジタル演算の各フェーズのごとの演算回数を示す。このエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴによって演算されるエンベロープ波形の振幅は、各成分音（各楽音）の発生量を示す。
【００２９】
この成分音の数は１つの音色につき複数であるが、場合によって１つもある。この成分音は１つの楽音につき合成されて出力される。この合成割合は上記エンベロープデータに応じて変化する。もしこのエンベロープデータによるエンベロープ演算レベルが「０」であれば、当該成分音の割合は「０」となる。この各成分音のそれぞれに１つずつチャンネルが割り当てられ、個別にエンベロープ制御され、合成されて出力される。
【００３０】
レベルデータＬＥは、各成分音のエンベロープのサスティーンのレベルを示し、このレベルは上記エンベロープデータのサスティーン状態で達成される。したがって、このレベルデータＬＥは上記エンベロープスピードデータＥＳとエンベロープタイムデータＥＴとから演算されてもよく、省略されることも可能である。
【００３１】
また、このレベルデータＬＥは、サスティーンレベルのほか、当該成分音の最大レベルまたはアタック到達レベルでもよい。この場合でも、当該レベルデータＬＥは上記エンベロープスピードデータＥＳとエンベロープタイムデータＥＴとから演算されてもよく、省略されることも可能である。さらに、このレベルデータＬＥは、当該成分音のエンベロープ波形の積分値に応じた値でもよい。これにより、レベルデータＬＥは当該成分音の音量エネルギーに応じたものとなる。
【００３２】
３．共鳴相関値テーブル３５
図６はプログラム／データ記憶部３内の共鳴相関値テーブル３５を示す。この共鳴相関値テーブル３５内の各共鳴相関値データは、あるキーナンバデータＫＮの楽音と他のキーナンバデータＫＮの楽音との共鳴関係の高さを示す。例えば、キーナンバＣ１に対して、キーナンバＣ２は２倍音の関係にあるので、共鳴相関値データは「０．８」と高く、キーナンバＣ１に対して、キーナンバＤ２は全音の音程関係なので共鳴相関値データは「０．１」と低くなっている。
【００３３】
この共鳴相関値データは、１：ｎ（ｎ＝１、２、３、４、５、６、…）の周波数比の関係にあるときが高く、次いで、２：３ｎ（ｎ＝１、２、３、…）（完全５度など）、３：４ｎ（ｎ＝１、２、３、…）（完全４度など）、３：５ｎ（ｎ＝１、２、３、…）（長六度など）、４：５ｎ（ｎ＝１、２、３、…）（長三度など）、５：６ｎ（ｎ＝１、２、３、…）（短三度など）、…の周波数比の関係にあるときが順次高くなる。ただし、上記１：ｎ（ｎ＝１、２、３、４、５、６、…）の周波数比の関係は、「ｎ」の値が大きくなるほど、共鳴相関値データは小さくなる。
【００３４】
同時に発音されているすべての楽音の相互の共鳴相関値データがこの共鳴相関値テーブル３５から求められ、各共鳴相関値データが合算（加算合成）される。この算出された共鳴相関値データに基づいて、残響特性の遅延率または減衰率が変更される。
【００３５】
上記同時に発音されている楽音のキーナンバデータＫＮは、次述するアサインメントメモリ４０から読み出される。このキーナンバデータＫＮは、アサインメントメモリ４０に書き込まれて発音されていてオン／オフデータが「１」の楽音のものである。むろん、オン／オフデータが「０」のリリース中のものも含まれてもよい。
【００３６】
４．アサインメントメモリ４０
図３は、音響出力部５のアサインメントメモリ４０を示す。アサインメントメモリ４０には、複数（１６、３２、６４または１２８等）のチャンネルメモリエリアが形成されており、上記音響出力部５に形成された複数の楽音生成チャンネルに割り当てられた成分音に関するデータが記憶される。
【００３７】
これら各チャンネルメモリエリアには、チャンネルが割当られた成分音の周波数ナンバデータＦＮ、キーナンバデータＫＮ、上記エンベロープスピードデータＥＳ並びにエンベロープタイムデータＥＴ、エンベロープフェーズデータＥＦが記憶される。なお、トーンナンバデータＴＮ、タッチデータＴＣ、トーンタイムデータＴＭ、パートナンバデータＰＮ、上記共鳴度情報、オン／オフデータ等も記憶される。
【００３８】
これら各チャンネルメモリエリアには、上記成分音（直接音）のほか、同じくチャンネルが割り当てられた共鳴音及びノイズ音の周波数ナンバデータＦＮ、キーナンバデータＫＮ、上記エンベロープスピードデータＥＳ並びにエンベロープタイムデータＥＴ、エンベロープフェーズデータＥＦが記憶される。
【００３９】
この共鳴音の周波数ナンバデータＦＮの値と直接音の周波数ナンバデータＦＮの値とは、単純な整数倍比の関係にある。例えば、１：ｎ（ｎ＝１、２、３、４、５、６、…）、２：ｎ（ｎ＝３、５、７、９、１１、１３、…）、３：ｎ（ｎ＝４、５、７、８、１０、１１，…）、４：ｎ（ｎ＝５、７、９、１１、１３、１４、…）、５：ｎ（ｎ＝６、７、８、９、１１、１２、…）などの周波数比の関係である。
【００４０】
この中では１：２（オクターブ）、２：３（完全５度）、３：４（完全４度）、４：５（長三度）、５：６（短三度）などが特に重点的に選択される。したがって、共鳴音の周波数ナンバデータＦＮの値は、直接音の周波数ナンバデータＦＮの値がこの整数倍比に応じて比例換算される。例えば、２倍、３／２倍、４／３倍、５／４倍、…、３倍、４倍、５倍、…などである。
【００４１】
この比例換算された共鳴音の周波数ナンバデータＦＮは、最寄りの音高のキーナンバデータＫＮで代用できる。しかし、最寄りの音高のキーナンバデータＫＮに応じた周波数ナンバデータＦＮの値と比例換算された共鳴音の周波数ナンバデータＦＮの値とは「Ｓ字調律」によって若干のずれがある。したがって、完全な整数倍比を実現するならば、比例換算された周波数ナンバデータＦＮが用いられ、そうでなければ、比例換算値に近い音高のキーナンバデータＫＮが用いられる。
【００４２】
また、この共鳴音のエンベロープスピードデータＥＳまたはエンベロープレベルデータＥＬも、上記直接音のエンベロープスピードデータＥＳまたはエンベロープレベルデータＥＬに対して、周波数ナンバデータＦＮの整数倍比に応じた比例換算が行われ、１／２倍、２／３倍、３／４倍、４／５倍、…、１／３倍、１／４倍、１／５倍、…の大きさにされる。この作成される共鳴音のデータの数は１つの直接音に対して２個、３個、４個、５個、…と固定されている。なお、上記比例換算結果が所定値未満の共鳴音のデータ作成は禁止されてもよい。
【００４３】
このように共鳴音は直接音に対して同じトーンデータＴＮ及び同じ楽音波形であり、エンベロープ振幅が上記比例換算に応じて小さくなる。なお、生成楽音につきサイン波が高調波合成される場合には、直接音の合成サイン波の数は、共鳴音の合成サイン波の数より少なくなり、より周波数の高い合成音がカットされる。むろん、直接音の合成サイン波の数は、共鳴音の合成サイン波の数と同じであってもよい。
【００４４】
この場合、直接音の成分音と共鳴音の成分音とが同じ周波数になるときは、これらは１つに合成されて１つのチャンネルにまとめて割り当てられ、アサインメントメモリ４０の１つのチャンネルエリアに書き込まれる。この合成では、各エンベロープ波形が１つのエンベロープ波形に合成され、この合成エンベロープ波形を生成するためのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが演算される。
【００４５】
ここで、直接音の成分音のエンベロープ波形と共鳴音の成分音のエンベロープ波形とは同じ形であれば、各エンベロープタイムデータＥＴは同じとなるから、直接音の成分音または共鳴音の成分音のエンベロープタイムデータＥＴいずれかがが選択され、直接音の成分音のエンベロープスピードデータＥＳと共鳴音の成分音のエンベロープスピードデータＥＳとが加算合成される。
【００４６】
上記ノイズ音の周波数ナンバデータＦＮの値は、上記直接音の周波数ナンバデータＦＮの値と同じまたは直接音の音高いかんにかかわらず固定かつ一定である。ただし、ノイズ音は直接音に対して異なるトーンデータＴＮ及び異なる楽音波形であり、エンベロープ振幅も直接音より小さくなるが、同じであってもよい。このノイズ音は直接音の「共振音」としての性格を有し同じ周波数であるが、上記ノイズ音の周波数ナンバデータＦＮの値が直接音の周波数ナンバデータＦＮの値から演算されて求められてもよい。
【００４７】
オン／オフデータは割り当られ発音する楽音（成分音）がキーオン中または発音中（「１」）かキーオフ中または消音中（「０」）かを示す。周波数ナンバデータＦＮは割り当られ発音する成分音の周波数値を示し、上記キーナンバデータＫＮから変換され、さらに上記周波数ナンバ比データＦＮＲが乗算される。上記プログラム／データ記憶部３には、この変換のためのテーブル（デコーダ）が設けられている。
【００４８】
上記エンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴは上述したとおりである。このエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴは、同じ周波数の新たな成分音が当該チャンネルに割り当てられるたびに書き換えられ、この新たな成分音を合成したエンベロープのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴに置き換えられる。
【００４９】
エンベロープフェーズデータＥＦは図５（１）（２）（３）の合成前のエンベロープまたは合成後のエンベロープの各部を示す。フェーズカウンタ５０１からのカウント値が取り込まれ、当該エンベロープフェーズデータＥＦとしてアサインメントメモリ４０に記憶される。
【００５０】
キーナンバデータＫＮは割り当られ発音する楽音の音高（周波数）を示し、上記音高情報に応じて決定される。このキーナンバデータＫＮは、１つの楽音を構成する各成分音すべてについて記憶され、オンイベントがあって当該成分音がチャンネル割り当てされ合成されるたびに、キーナンバデータＫＮがアサインメントメモリ４０の該当チャンネルメモリエリアに付加記憶され、オフイベントのたびに対応するキーナンバデータＫＮは消去される。キーナンバデータＫＮの上位データは音域またはオクターブを示し、下位データは音名を示す。
【００５１】
この各キーナンバデータＫＮに対応して当該成分音のエンベロープのリリースのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが記憶される。このリリースのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが１つの成分音で複数あれば、この複数全て記憶される。
【００５２】
トーンナンバデータＴＮは、割り当てられ発音する楽音の音色を示し、上記音色情報に応じて決定される。このトーンナンバデータＴＮが異なれば音色も異なり、この楽音の楽音波形も異なる。タッチデータＴＣは、発音操作の速さまたは強さを示し、上記段差スイッチの操作に基づいて求められ、または上記タッチ情報に応じて決定される。パートナンバデータＰＮは、上述したように各演奏エリアを示し、発音操作された楽音がどの演奏エリアからのものかによって設定される。トーンタイムデータＴＭは、キーオンイベントからの経過時間を示す。
【００５３】
これら各チャンネルメモリエリアの各データは、オンタイミング及び／又はオフタイミングに書き込まれ、各チャンネルタイミングごとに書き換えられたり、読み出されたりして、上記音響出力部５で処理される。このアサインメントメモリ４０は、音響出力部５の中ではなく、プログラム／データ記憶部３またはコントローラ２の中に設けてもよい。
【００５４】
上記時分割処理によって形成されるチャンネル、すなわち複数の楽音（成分音）を並行して発生するための複数の楽音発生システムへの各楽音の割り当て方法またはトランケート方法は、例えば特願平１−４２２９８号、特願平１−３０５８１８号、特願平１−３１２１７５号、特願平２−２０８９１７号、特願平２−４０９５７７号、特願平２−４０９５７８号に示された方法が使われる。
【００５５】
５．音響出力部５
図４は上記音響出力部５を示す。上記アサインメントメモリ４０の各チャンネルの周波数ナンバデータＦＮ等は波形読み出し部４１へ送られ、楽音波形データＭＷが周波数ナンバデータＦＮに応じた速度（音高）で読み出される。読み出された楽音波形データＭＷは乗算器４３でエンベロープデータＥＮが乗算合成され、累算器４４で全チャンネルの楽音波形データが累算合成され、サウンドシステム５３で発音される。
【００５６】
この楽音波形データＭＷはサイン波１種類だけである。したがって、１つの楽音につき周波数の異なる複数のサイン波が高調波合成されて出力される。よって各サイン波の振幅や周波数が変化すれば、合成される楽音の波形も変化し音色も変化する。このサイン波はメモリに記憶されるのではなく、三角関数演算によって上記トーンタイムデータＴＭまたは上記タイムカウントデータＴＩから変換されてもよい。
【００５７】
なお、この楽音波形データＭＷはサイン波以外の複雑な波形の場合もあり、上記共鳴音の楽音波形データＭＷ及びノイズ音の楽音波形データＭＷもあり、音色、パート、音高（音域）、タッチ、発音時間ごとに異なる波形が記憶され選択される。この場合、トーンナンバデータＴＮ、パートナンバデータＰＮ、タッチデータＴＣ等は、波形読み出し部４１へ送られ、波形メモリ４２からトーンナンバデータＴＮ、パートナンバデータＰＮ、タッチデータＴＣに応じた楽音波形データＭＷが選択され、この選択された楽音波形データＭＷが周波数ナンバデータＦＮに応じた速度（音高）で読み出される。
【００５８】
上記アサインメントメモリ４０の各チャンネルのエンベロープスピードデータＥＳは、加算器４６、エンベロープ演算メモリ４８で時分割に順次累算され、エンベロープ演算データＥＮが演算され、上記乗算器４３へ上記エンベロープデータＥＮとして送られる。エンベロープ演算メモリ４８は時分割チャンネル数に応じたエリアを有し、各チャンネルのエンベロープ演算データＥＮが記憶され、各チャンネルごとにエンベロープが演算される。
【００５９】
このエンベロープ演算メモリ４８は、上記チャンネルナンバデータＣＨＮｏによってアドレス指定され、この指定されたアドレスのみが書き込み／読み出しされたりリセットされたりする。このエンベロープ演算メモリ４８の各チャンネルエリアはオフイベント信号または／及びオンイベント信号によって個別にリセット（クリア）される。
【００６０】
上記アサインメントメモリ４０の各チャンネルのエンベロープタイムデータＥＴは、セレクタ４７、エンベロープタイムメモリ４９及び加算器５１で順次「−１」され、「０」になるとフェーズ終了信号がナンドゲート群５２で検出され出力される。このフェーズ終了信号はエンベロープの各フェーズの終了を示す。
【００６１】
このフェーズ終了信号はフェーズカウンタ５０へ入力され、インクリメントすなわち＋１される。このフェーズカウンタ５０では、各チャンネルのエンベロープのフェーズがカウントされる。このフェーズカウンタ５０は、上記時分割チャンネル数に応じたカウンタが設けられ、上記チャンネルナンバデータＣＨＮｏによって指定されるカウンタのみがイネーブルとされ、この指定されたカウンタのみがインクリメントされたりリセットされたりする。
【００６２】
上記フェーズカウンタ５０は、オンイベント及びオフイベント時にコントローラ２によって、上記チャンネルナンバデータＣＨＮｏによって指定されるカウンタのみがリセット（クリア）される。このとき上述したようにエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴの合成／書き換えが行われる。
【００６３】
このフェーズカウンタ５０のエンベロープフェーズデータＥＦは上記アサインメントメモリ４０にアドレスデータとして送られ、各チャンネルの中の各フェーズごとのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが読み出されたり書き込まれたりする。アサインメントメモリ４０は、上記チャンネルナンバデータＣＨＮｏによってアドレス指定され、この指定されたアドレスのみが書き込み／読み出しされたクリアされたりする。このアサインメントメモリ４０の各チャンネルエリアはオフイベント信号または／及びオンイベント信号によって個別にリセット（クリア）される。
【００６４】
上記フェーズ終了信号は上記セレクタ４７に送られて、上記エンベロープタイムデータＥＴが次のフェーズのエンベロープタイムデータＥＴに切り換えられる。上記エンベロープタイムメモリ４９は、上記チャンネルナンバデータＣＨＮｏによってアドレス指定され、この指定されたアドレスのみが書き込み／読み出しされたりリセットされたりする。このエンベロープタイムメモリ４９の各チャンネルエリアはオフイベント信号（オンイベント信号）によって個別にリセット（クリア）される。
【００６５】
上記エンベロープ演算メモリ４８からの各チャンネルのエンベロープ演算データＥＮは乗算器１３１でチャンネル割り当てのための重み付けが行われ、修正エンベロープメモリ１３２に書き込まれる。修正エンベロープメモリ１３２は時分割チャンネル数に応じたエリアを有し、各チャンネルの修正エンベロープデータＭＥＮが記憶される。
【００６６】
また、この重み付けされ修正された各修正エンベロープデータＭＥＮは、第１最小レベル検出回路１４１、第２最小レベル検出回路１４２及び第３最小レベル検出回路１４３で対比され、各チャンネルのうち１番目、２番目及び３番目に楽音のレベルが小さいチャンネルナンバが検出される。検出された第１最小チャンネルナンバ１ＭＣＨ、第２最小チャンネルナンバ２ＭＣＨ及び第３最小チャンネルナンバ３ＭＣＨは最小チャンネルメモリ１３４にストアされる。この各最小チャンネルナンバ１ＭＣＨ、２ＭＣＨ及び３ＭＣＨは、チャンネル明け渡し（トランケート）の優先順位を示す。
【００６７】
この第１最小レベル検出回路１４１、第２最小レベル検出回路１４２及び第３最小レベル検出回路１４３では、上記修正エンベロープデータＭＥＮが「０」のチャンネルも検出され、この検出データが空きチャンネルフラグＥＣＦとして、上記各チャンネルナンバ１ＭＣＨ、２ＭＣＨ及び３ＭＣＨとともに、上記最小チャンネルメモリ１３４にストアされる。この第１最小レベル検出回路１４１、第２最小レベル検出回路１４２及び第３最小レベル検出回路１４３は特願平１０−１６６１７号の図１３に示される。
【００６８】
この第１最小レベル検出回路１４１、第２最小レベル検出回路１４２及び第３最小レベル検出回路１４３では、上記検出された各チャンネルの各修正エンベロープデータＭＥＮも検出され、この検出された３つの最小修正エンベロープデータ１ＭＥＮ、２ＭＥＮ及び３ＭＥＮも上記最小チャンネルメモリ１３４にストアされる。この最小チャンネルメモリ１３４及び修正エンベロープメモリ１３２は、１つの時分割チャンネル時間の前半で書き込みされ、後半で読み出しされる。
【００６９】
上記アサインメントメモリ４０から読み出される各チャンネルの周波数ナンバデータＦＮは重み付けメモリ１３３へ送られて、重み付けデータＷＴが読み出され上記乗算器１３１へ送られ、チャンネル明け渡し（トランケート）の優先順位が重み付けされる。この重み付けメモリ１３３は、図１４（２）に示すように各周波数ナンバデータＦＮに対して各重み付けデータＷＴが記憶されている。
【００７０】
この特性（２）は楽音周波数が１０００Ｈｚから４０００Ｈｚ当たりの中音付近の重み付けが大きくなり、低音と高音で重み付けが小さくなっている。この特性（２）は人間の等ラウドネス曲線または最低可聴曲線に沿ったものであり、人間の聴覚（ラウドネス特性、マスキング特性）に合致したチャンネル割り当ての優先特性を実現できる。これは同じ周波数の各成分音を合成してチャンネル割り当てを行っている本実施例でしかできない。
【００７１】
上記最低可聴曲線は人間が聴くことのできる最低の音の強さ（デシベル、レベル）（最低可聴値）の周波数（音高）に応じた特性を表し、上記等ラウドネス曲線は人間が同じ強さに聴こえる音の強さ（デシベル、レベル）の周波数（音高）に応じた特性を表す。なお、図１４（２）の特性では上記等ラウドネス曲線または最低可聴曲線が逆特性にされたので、中音域の数値が大きく高音域と低音域の数値が小さくなっている。
【００７２】
また、この重み付けデータＷＴは図１４（１）に示すように楽音周波数が低いほどこの重み付けデータＷＴは大きくなっており、低音の方がチャンネル割り当ての優先度が高くなっていてもよい。さらに、この重み付けデータＷＴは逆に低音の方がチャンネル明け渡し（トランケート）の頻度（可能性）が高くなってもよい。また、この重み付けメモリ１３３及び乗算器１３１は省略され、チャンネル割り当ての優先度が音楽的性質によって重み付けされなくてもよい。これにより、各チャンネルの合成成分音のレベルが小さいほどチャンネルトランケートの可能性（頻度）が高くなる。
【００７３】
また、この重み付けメモリ１３３には、他の音楽的ファクタ情報が代わりに入力されてもよい。例えば上述のキーナンバデータＫＮ、トーンナンバデータＴＮ、パートナンバデータＰＮ、タッチデータＴＣ、トーンタイムデータＴＭ、共鳴相関値データなどである。これにより、音域（音高）、音色、演奏分野、タッチ、発音時間、共鳴度などの音楽的性質にも応じてチャンネル割り当ての優先度が変化修正（決定制御）される。
【００７４】
これにより、例えばトーン（音色）ナンバ、タッチデータ、共鳴度が大きいほど、音高（音域）、パートナンバ（ＭＩＤＩチャンネルナンバ）または発音時間が小さいほど、チャンネル割り当ての優先度が高くなり、トランケートの可能性（頻度）が低くなる。なお、こられの各データが複数加算されて上記重み付けメモリ１３３へ送られてもよい。
【００７５】
この音響出力部５は音像を形成するステレオチャンネル（オーディオチャンネル）数に応じた数だけ設けられる。各ステレオ（オーデイオ）チャンネルの各アサインメントメモリ４０の各チャンネルエリアには音像データが記憶され、この音像データが乗算器４３で各チャンネルの楽音波形データ又はエンベロープデータＥＮに乗算合成され音像が形成される。このようなステレオ（オーデイオ）チャンネルシステムのチャンネル割り当てシステムは、特願平３−２０４４０４号または特願平２−４０８８５９号の明細書及び図面に示される。
【００７６】
６．初期反射音及び後期残響音
上記音響出力部５から発生された左右の音源の波形データを直接音データＴとする。この直接音データＴは、自然音における直接音に相当する楽音を表す楽音波形データである。そして、本実施例では図７に示すように、直接音データＴから複数の初期反射音データＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、…が生成される。次にこれらの前の初期反射音データＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、…それぞれから後期残響音群データＫ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５、…が生成される。
【００７７】
上記直接音データＴは、図７では１本の線で示されているが、実際には楽音波形にエンベロープ波形が合成されており、アタック→ディケイ→サスティーン→リリースの時間幅を持っている。従って、上記初期反射音データＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、…及び上記後期残響音群データＫ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５、…の中の１音１音も同様の時間幅を持っている。
【００７８】
７．残響テーブル３１
図８はプログラム／データ記憶部３の残響テーブル３１を示す。この残響テーブル３１には、ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、ＤＴ４、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、ＤＴ５４、…と減衰率データｇ１、ｇ２、ｇ３、ｇ４、…、ｇ５１、ｇ５２、ｇ５３、ｇ５４、…が記憶されている。これらのデータは、上記共鳴相関値データの全体データまたは上位データごと、上記音楽的ファクタごと、つまり音高、音色、タッチ、発音時間、エンベロープレベル、エンベロープスピード、エンベロープタイムまたはエンベロープフェーズ毎に多層的に記憶されている。
【００７９】
上記同時発音されている楽音が変化して、同時発音の楽音の各音高の相互関係が変化すると、共鳴相関値データが変更される。そうすると、上記読み出されるディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、ＤＴ４、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、ＤＴ５４、…及び減衰率データｇ１、ｇ２、ｇ３、ｇ４、…、ｇ５１、ｇ５２、ｇ５３、ｇ５４、…が変更され、残響特性の遅延率または減衰率が変更される。
【００８０】
また、上記音像情報（ステレオ的ファクタ）は、音像ポジションを決めるデータであって、例えば各チャンネルの楽音のレベルを設定するレベル設定データ、各チャンネルの楽音の位相を設定する位相設定データであって、これらのデータによって音像の位置（方向）、大きさ等が設定される。
【００８１】
ディレイタイムデータＤＴ１は上記前の初期反射音ＳＡ、ＳＢ、ＳＣのディレイタイムを決定し、ディレイタイムデータＤＴ２は上記後の初期反射音群Ｓａ、Ｓｂ、Ｓｃのディレイタイムを決定し、ディレイタイムデータＤＴ３及びＤＴ４は上記後期残響音列ＳＳＡ、ＳＳＢのディレイタイムを決定する。減衰率データｇ１は前の初期反射音ＳＡ、ＳＢ、ＳＣの減衰率を表し、減衰率データｇ２は後の初期反射音Ｓａ、Ｓｂ、Ｓｃの減衰率を表し、減衰率データｇ３は後期残響音列ＳＳＡ、ＳＳＢの減衰率を表す。
【００８２】
減衰率データｇ１は前の初期反射音ＳＡの減衰率を表し、減衰率データｇ２は前の初期反射音ＳＢの減衰率を表し、減衰率データｇ３は前の初期反射音ＳＣの減衰率を表す。減衰率データｇ４は後の初期反射音Ｓａの減衰率を表し、減衰率データｇ５は後の初期反射音Ｓｂの減衰率を表し、減衰率データｇ６は後の初期反射音Ｓｃの減衰率を表す。また、０＜ｇ１、ｇ２、ｇ３、ｇ４、ｇ５、ｇ６、…＜１である。なお、減衰率は入力レベルに対する出力レベルの変化率でも良い。これら各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…、ｇ１、ｇ２、ｇ３、…の各値は何れかが同じであっても良いし、全て異なっていても良い。
【００８３】
８．サウンドシステム５３
図９は上記サウンドシステム５３内の初期反射音作成部６０を示す。上記各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…はレジスタ６１にストアされて各クロックジェネレータ６２、６２、６２、…に供給される。このクロックジェネレータ６２、…はプログラマブルであり、供給された各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…に応じた周波数のクロック信号φ１、φ２、φ３、…が発生され、各タップディレイ回路６３、６４、６５、６６、６７、６８に供給される。
【００８４】
この各タップディレイ回路６３、６４、６５、６６、６７、６８は、ＣＣＤ（ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ）などからなり、印加されたクロック信号φ１、φ２、φ３、…の周波数に応じた速度で入力された楽音データが順次送られ、入力楽音データが遅延されて各タップから出力される。したがって、上記各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…は、残響音（初期反射音）または残響特性の遅延タイミング、遅延時間または遅延率を決定している。この初期反射音作成部６０の２つの入力端子からは左右のステレオ音響が入力される。
【００８５】
また上記各減衰率データｇ１、ｇ２、ｇ３、…はレジスタ６１にストアされて各乗算器７２、７２、７２、…に供給される。この乗算器７２、…では入力された楽音データに上記各減衰率データｇ１、ｇ２、ｇ３、…が乗算されて小さく減衰される。したがって、上記各減衰率データｇ１、ｇ２、ｇ３、…は、残響音（初期反射音）または残響特性の減衰の大きさ、減衰量または減衰率を決定している。
【００８６】
各タップディレイ回路６３、６４、６５、６６、６７、６８及び乗算器７２、７２、…の各出力は、加算器７３、…で加算合成されたり、タップディレイ回路６３、６４、６５、６６、６７、６８にフィードバックされたりする。したがって、生成される初期反射音（残響音）は複雑かつ多様で非常に広がった音となる。
【００８７】
図１０は後期残響音作成部８０を示す。この後期残響音作成部８０には上記初期反射音作成部６０の出力楽音データが入力される。上記各ディレイタイムデータＤＴ５１、ＤＴ５２、ＤＴ５３、…はレジスタ８１にストアされて各クロックジェネレータ８２、８２、８２、…に供給される。このクロックジェネレータ８２、…はプログラマブルであり、供給された各ディレイタイムデータＤＴ５１、ＤＴ５２、ＤＴ５３、…に応じた周波数のクロック信号φ５１、φ５２、φ５３、…が発生され、各タップディレイ回路８３、８３、…に供給される。
【００８８】
この各タップディレイ回路８３、…は、ＣＣＤ（ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ）などからなり、印加されたクロック信号φ５１、φ５２、φ５３、…の周波数に応じた速度で入力された楽音データが順次送られ、入力楽音データが遅延されて各タップから出力される。したがって、上記各ディレイタイムデータＤＴ５１、ＤＴ５２、ＤＴ５３、…は、残響音（初期反射音）または残響特性の遅延タイミング、遅延時間または遅延率を決定している。
【００８９】
また上記各減衰率データｇ５１、ｇ５２、ｇ５３、…はレジスタ８５にストアされて各乗算器８６、８６、…に供給される。この乗算器８６、…では入力された楽音データに上記各減衰率データｇ５１、ｇ５２、ｇ５３、…が乗算されて小さく減衰される。したがって、上記各減衰率データｇ５１、ｇ５２、ｇ５３、…は、残響音（後期残響音）または残響特性の減衰の大きさ、減衰量または減衰率を決定している。
【００９０】
各タップディレイ回路８３、８３、…及び乗算器８６、８６、…の各出力は、加算器８７、…で加算合成されたり、タップディレイ回路８３、８３、…にフィードバックされたりする。したがって、生成される後期残響音は複雑かつ多様で非常に広がった音となる。
【００９１】
上記各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…の値が大きくなれば、この残響の継続時間は短くなり、各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…の値が小さくなれば、この残響の継続時間は長くなる。
【００９２】
また各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、…の値が大きくなればクロック信号φ１、φ２、φ３、…の周波数が高くなって、この残響の継続時間は短くなり、各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、…の値が小さくなればクロック信号φ１、φ２、φ３、…、φ５１、φ５２、φ５３、…の周波数が低くなって、この残響の継続時間は長くなる。
【００９３】
さらに各ディレイタイミングデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、…の値が大きくなればクロック信号φ１、φ２、φ３、…、φ５１、φ５２、φ５３、…の周波数が高くなって、単位時間当たりの残響音の数が多くなって残響密度は高くなり、各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、…の値が小さくなればクロック信号φ１、φ２、φ３、…、φ５１、φ５２、φ５３、…の周波数が低くなって、単位時間当たりの残響音の数が少なくなって残響密度は低くなる。
【００９４】
９．サウンドシステム５３
図１１はサウンドシステム５３の別の例を示す。反射残響回路９０としては、上記初期反射音作成部６０、上記後期残響音作成部８０、上記初期反射音作成部６０に上記後期残響音作成部８０が接続されたものまたはこれらの回路６０、８０のステレオシステムの片方のチャンネル用の回路が使用される。
【００９５】
上記反射残響回路９０、９０の出力は乗算器９１、９１、…及び加算器９２、９２を介して互いに加算合成されたり、乗算器９１、９１を介してフィードバックされたりする。これにより、２つの出力が互いに影響を及ぼし合って、広がりのある楽音が生成される。
【００９６】
図１２はサウンドシステム５３のさらに別の例を示す。各反射残響回路９０、９０には同じ楽音データが入力され、各出力は加算器９２で加算合成されて出力される。また片方の反射残響回路９０の出力は乗算器９１及び加算器９２を介して他方の反射残響回路９０に入力される。これにより、１つの出力が他方の出力に従属して、広がりのある楽音が生成される。
【００９７】
図１３はサウンドシステム５３のさらに別の例を示す。この例では、上記図１１の回路が２つ用意されて、各出力が加算器９２、９２で加算合成されて出力される。また、この２つの図１１の回路には同じ楽音データが入力される。これにより、４つの出力が互いに影響を及ぼし合って、さらに多重的に広がりのある楽音が生成される。
【００９８】
発音中の楽音の互いの共鳴度が高く、上記合計共鳴相関値データが大きくなれば、各ディレイタイミングデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、…の値が大きくなって、残響密度は高くなり、また各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…の値が小さくなって、この残響の継続時間は長くなる。むろん、場合によってこれと逆の特性であってもよい。
【００９９】
発音中の楽音の互いの共鳴度が低く、上記合計共鳴相関値データが小さくなれば、各ディレイタイミングデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、…の値が小さくなって、残響密度は低くなり、また各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…の値が大きくなって、この残響の継続時間は短くなる。むろん、場合によってこれと逆の特性であってもよい。
【０１００】
これら各ディレイタイミングデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、…の値及び各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…の値は、初期反射音と後期残響音とで異なっている。一方の値が他方の値より大きかったり小さかったりする。むろん同じ値でもよい。
【０１０１】
１０．処理全体
図１５はコントローラ（ＣＰＵ）２によって実行される処理全体のフローチャートを示す。この処理全体は本楽音生成装置の電源オンによって開始され、電源オフまで繰り返し実行される。まず、プログラム／データ記憶部３の初期化など種々のイニシャライズ処理が行われ（ステップ０１）、上記演奏情報発生部１での手動演奏または自動演奏に基づき、発音処理が行われる（ステップ０３）。
【０１０２】
この発音処理では、空きチャンネルがサーチされ、サーチされた空きチャンネルにオンイベントに係る楽音が割り当てられる。この楽音の内容は、上記演奏情報発生部１からの上記演奏情報（楽音発生情報）、楽音制御情報の音楽的ファクタ情報及びこのときプログラム／データ記憶部３に既に記憶されている音楽的ファクタ情報によって決定される。
【０１０３】
この場合、サーチされた空きチャンネルのアサインメントメモリ４０のエリアに「１」のオン／オフデータ、周波数ナンバデータＦＮ、エンベロープスピードデータＥＳ、エンベロープタイムデータＥＬ、「０」のエンベロープフェーズデータＥＦなどが書き込まれる。さらに、トーンナンバデータＴＮ、タッチデータＴＣ、パートナンバデータＰＮ、「０」のトーンタイムデータＴＭも書き込まれる。
【０１０４】
次いで、上記演奏情報発生部１での手動演奏または自動演奏に基づき、消音（減衰）処理が行われる（ステップ０５）。この消音（減衰）処理では、オフイベント（キーオフイベント、消音イベント）に係る楽音が割り当てられているチャンネルがサーチされ当該楽音が減衰され消音される。この場合、キーオフイベントに係る楽音のエンベロープフェーズがリリースとなり、エンベロープレベルが次第に「０」になる。
【０１０５】
さらに、上記演奏情報発生部１の各種スイッチの操作があれば、このスイッチに対応する音楽的ファクタ情報が取り込まれ、プログラム／データ記憶部３に記憶され、音楽的ファクタ情報が変更される（ステップ０６）。この後、その他の処理が実行され（ステップ０７）、上記ステップ０２からこのステップ０７までの処理が繰り返される。
【０１０６】
１１．発音処理（ステップ０３）
図１６は上記ステップ０３の発音処理のフローチャートを示す。まず、オンイベントがあると（ステップ１１）、上記成分音テーブル３０に基づいてこのオンイベントに係る楽音のトーンナンバデータＴＮに対応する周波数ナンバ比データＦＮＲ及びエンベロープスピードデータＥＳ並びにエンベロープタイムデータＥＴが読み出される（ステップ１２）。
【０１０７】
次いで、このオンイベントに係る直接音の楽音のキーナンバデータＫＮに対応した周波数ナンバデータＦＮに、この読み出された各周波数ナンバ比データＦＮＲが乗算され、各成分音の周波数ナンバデータＦＮが求められる（ステップ１３）。この場合オンイベントが複数あれば、複数の直接音の楽音の各成分音について周波数ナンバデータＦＮが求められる。
【０１０８】
そして、この直接音に対する共鳴音の周波数ナンバデータＦＮ、エンベロープスピードデータＥＳ並びにエンベロープタイムデータＥＴが求められる（ステップ１４）。この場合、共鳴音の周波数ナンバデータＦＮの値は、直接音の周波数ナンバデータＦＮの値が２倍、３／２倍、４／３倍、５／４倍、…、３倍、４倍、５倍、…される。
【０１０９】
これにより、各共鳴音の共鳴特性（共鳴度）は、同時発音されている直接音の楽音の音高の相互関係に基づいて変化することになる。
【０１１０】
また、この共鳴音のエンベロープスピードデータＥＳまたはエンベロープレベルデータＥＬは、上記直接音のエンベロープスピードデータＥＳまたはエンベロープレベルデータＥＬの値が１／２倍、２／３倍、３／４倍、４／５倍、…、１／３倍、１／４倍、１／５倍、…される（ステップ１４）。このように共鳴音は直接音に対して同じトーンデータＴＮ及び同じ楽音波形であり、エンベロープ振幅が上記比例換算に応じて小さくなる。
【０１１１】
この共鳴音の数は予め決められた数に限定される。また、この演算結果が所定値未満の共鳴音のデータ作成は禁止される。さらに、このように演算された共鳴音のアタックのエンベロープスピードデータＥＳまたはエンベロープレベルデータＥＬの合計値が所定値を越えたとき、上記共鳴音の作成処理は終了される。
【０１１２】
これにより、この共鳴音の共鳴特性は上記直接音に対する共鳴する周波数範囲を意味する。また、この共鳴音の共鳴特性は上記直接音に対する各共鳴音の合計レベルを意味する。さらに、この共鳴音の共鳴特性は上記直接音に対する共鳴音の数を意味する。
【０１１３】
そして、アサインメントメモリ４０内の既に割り当てられている各成分音の周波数ナンバデータＦＮと、上記ステップ１３で求められた各周波数ナンバデータＦＮとが一致していれば（ステップ１５）、このチャンネルの各フェーズのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが合成エンベロープのものに書き換えられ、キーナンバデータＫＮが付加記憶される（ステップ１６）。
【０１１４】
この合成エンベロープでは、既にこのチャンネルに割り当てられている単独成分音または合成成分音のエンベロープに、この新たな成分音のエンベロープが加算合成される。このステップ１５のエンベロープ合成処理は特願平１０−１２７６４号、特願平１０−１２７８１号及び特願平１０−１６６１７号の図７及び対応明細書部分に示される。
【０１１５】
これにより、直接音の成分音と共鳴音の成分音とが同じ周波数になるときは、これらは１つに合成されて１つのチャンネルにまとめて割り当てられ、アサインメントメモリ４０の１つのチャンネルエリアに書き込まれる。上記合成では、各エンベロープ波形が１つのエンベロープ波形に合成され、この合成エンベロープ波形を生成するためのエンベロープスピードデータＥＳ及びエンベロープタイムデータＥＴが演算される。
【０１１６】
またこれにより、各直接音と共鳴音との共鳴特性（共鳴度）は、同時発音されている直接音だけでなく共鳴音の楽音の音高の相互関係に基づいて変化することになる。
【０１１７】
次いで、アサインメントメモリ４０に書き込まれている全キーナンバデータＫＮに基づき、共鳴相関値テーブル３５から各共鳴相関値データが求められ、この合計値が求められる（ステップ２０）。この共鳴相関値データの合計値に基づき、残響テーブル３１から対応するディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、ＤＴ４、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、ＤＴ５４、…と減衰率データｇ１、ｇ２、ｇ３、ｇ４、…、ｇ５１、ｇ５２、ｇ５３、ｇ５４、…が読み出され（ステップ２１）、サウンドシステム５３内の反射残響回路９０（初期反射音作成部６０、後期残響音作成部８０）に送られる（ステップ２２）。
【０１１８】
これにより、同時発音されている楽音の共鳴特性（共鳴度）または同時発音されている楽音の音高の相互関係に基づいて、残響内容、遅延内容、遅延率または減衰率が変更制御される。
【０１１９】
また、既に割り当てられている各成分音の周波数ナンバデータＦＮと、求められた各周波数ナンバデータＦＮとが一致していなければ（ステップ１５）、空きチャンネルがサーチされる（ステップ２３）。この空きチャンネルのナンバは、上記最小チャンネルメモリ１３４に記憶されている第１最小チャンネルナンバ１ＭＣＨである。
【０１２０】
ついで、上記ステップ８２で乗算修正された各修正レベルデータＭＬＥのうちもっとも値の大きいデータＭＬＥまたはもっとも低音のデータＭＬＥと最小チャンネルメモ１３４に記憶されている第１最小修正エンベロープデータ１ＭＥＮとが比較され（ステップ２４）、第１最小修正エンベロープデータ１ＭＥＮの方が小さければ（ステップ２５）、この第１最小チャンネルナンバ１ＭＣＨのアサインメントメモリ４０のエリアに上記成分音の周波数ナンバデータＦＮ、キーナンバデータＫＮ及びエンベロープスピードデータＥＳ並びにエンベロープタイムデータＥＴが書き込まれ、フェーズカウンタ５０の対応チャンネルのカウンタがクリアされる（ステップ２７）。
【０１２１】
こうして、既に成分音が割り当てられ、この成分音のレベルが小さくなっているチャンネルを、他の最大のレベルの成分音に明け渡すことができる。
【０１２２】
そして、この割り当てたチャンネルの第１最小チャンネルナンバ１ＭＣＨ及び第１最小修正エンベロープデータ１ＭＥＮが上記最小チャンネルメモリ１３４から消去され（ステップ２８）、プログラム／データ記憶部３（ＲＡＭ）の上記修正レベルデータＭＬＥも消去され（ステップ２９）、以上のエンベロープ合成処理またはチャンネル割り当て処理が他の成分音についても繰り返され（ステップ３０）、その他の処理が行われる（ステップ３１）。
【０１２３】
こうして、チャンネルに割り当てられているレベルの小さい成分音が順次消去され、レベルの大きい成分音が順次チャンネルに割り当てられ、小さい成分音と大きい成分音とが順次入れ替えられていく。
【０１２４】
１２．トーンタイムデータＴＭ及び同時発音数の処理
図１７はコントローラ２によって一定周期ごとに実行されるインタラプト処理のフローチャートを示す。この処理で上記トーンタイムデータＴＭのインクリメント及び同時発音数のカウントが行われる。
【０１２５】
この処理では、上記アサインメントメモリ４０の各チャンネルエリアにつき（ステップ４１、４６、４７）、オン／オフデータが「１」で楽音が発音中のものについて（ステップ４３）、そのトーンタイムデータＴＭが「＋１」される（ステップ４４）。
【０１２６】
また、同じくアサインメントメモリ４０の各チャンネルエリアにつき（ステップ４１、４６、４７）、いったん同時発音数データがクリアされた後（ステップ４２）、オン／オフデータが「１」で楽音が発音中のものがカウントされ（ステップ４３）、同時発音数が順次「＋１」される（ステップ４５）。このカウントされた同時発音数はプログラム／データ記憶部３に記憶される。
【０１２７】
そして、その他の周期的な処理が行われる（ステップ４８）。こうして、各チャンネルの楽音の発音経過時間がカウントされ記憶され上記発音時間情報として利用され、またそのときどきの全チャンネルの発音中の楽音の数がカウントされ記憶され上記同時発音数情報として利用される。
【０１２８】
本発明は上記実施例に限定されず、本発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、上記各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、…の値及び／または各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…の値は、合計共鳴相関値データに基づいて変更されたが、共鳴する周波数範囲、共鳴音の数、直接音又は／及び共鳴音の全合計レベルに基づいて変更されてもよい。
【０１２９】
この場合、上記ステップ１４で算出された共鳴音のアタックのエンベロープスピードＥＳの値が所定値未満になったとき、この共鳴音は直接音から周波数上いちばん離れているので、この共鳴音の周波数ナンバデータＦＮの直接音の周波数ナンバデータＦＮに対する「差」が上記「共鳴する周波数範囲」を示す。上記残響テーブル３１の各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…は、この「差」に基づいて記憶され選択され変更される。この場合の直接音は、複数の直接音のうち、任意、最先または最新に発音開始（キーイベント）された音である。
【０１３０】
また、上記ステップ１４で算出された共鳴音のエンベロープスピードＥＳの値が所定値未満になったとき、これまで算出された共鳴音の数がカウントされ、このカウント値は上記「共鳴音の数」を示す。上記残響テーブル３１の各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…は、この「共鳴音の数」に基づいて記憶され選択され変更される。
【０１３１】
さらに、上記ステップ４５で各直接音及び／または各共鳴音のアタックのエンベロープスピードデータＥＳが合計される。この合計値は上記「直接音又は／及び共鳴音の全合計レベル」を示す。上記残響テーブル３１の各ディレイタイムデータＤＴ１、ＤＴ２、ＤＴ３、…、ＤＴ５１、ＤＴ５２、ＤＴ５３、各減衰率データｇ１、ｇ２、ｇ３、…、ｇ５１、ｇ５２、ｇ５３、…は、この「直接音又は／及び共鳴音の全合計レベル」に基づいて記憶され選択され変更される。
【０１３２】
また、波形メモリ４２に記憶される楽音波形データＭＷはサイン波以外の複雑な波形でもよいし、音色、音高（音域）、タッチ、パート、発音時間ごとに異なる波形が記憶され切り替え選択されてもよい。このような複雑な形状の波形は上記各成分音の楽音波形として読み出され出力される。
【０１３３】
また、各チャンネルに割り当てられる楽音は成分音以外の１つの独立した楽音であってもよい。この場合、同じチャンネルに割り当てられる楽音の波形は同じ波形形状であり、同じ音高（周波数）である。このような場合でも同様にエンベロープの合成または発生量の合成を行うことができる。
【０１３４】
さらに、合成されるのはエンベロープ以外の楽音波形データＭＷの振幅でもよい。この場合上記ステップ１６で合成されるのは、振幅決定因子例えばタッチデータＴＣなどである。そして、アサインメントメモリ４０の各チャンネルのタッチデータＴＣは、上記オンイベント及びオフイベントごとに相加され、この相加されたタッチデータＴＣはアサインメントメモリ４０から上記乗算器４３へ送られ、楽音波形データＭＷに乗算される。なお、この相加されたタッチデータＴＣは、当該チャンネルの各エンベロープスピードデータＥＳに乗算されてもよい。この乗算されたエンベロープスピードデータＥＳを使って上記ステップ１６のエンベロープ合成が行われる。
本件出願当初の特許請求の範囲は以下の通りであった。
［１］楽音を発生する手段と、  この発生された楽音に共鳴特性を付加する手段と、  この共鳴特性の付加された楽音を繰り返し遅延させて残響を付加する手段と、  この遅延される楽音の遅延内容を上記共鳴特性に基づいて決定する手段とを備えたことを特徴とする残響共鳴装置。
［２］楽音を発生させ、  この発生された楽音に共鳴特性を付加させ、  この共鳴特性の付加された楽音を繰り返し遅延させて残響を付加させ、  この遅延される楽音の遅延内容を上記共鳴特性に基づいて決定させることを特徴とする残響共鳴方法。
［３］上記遅延内容は遅延処理における直接音に対する遅延率または減衰率であり、  上記共鳴特性は上記直接音に対する共鳴する周波数範囲、上記直接音に対する各共鳴音の合計レベル、上記直接音に対する共鳴音の数であり、  上記遅延内容は初期反射音と後期残響音とで異なり、  上記共鳴特性は同時に発生される楽音の各音高の相互関係に基づき、
上記遅延内容は同時に発生される楽音の各音高の相互関係に基づき、  上記同時に発生される複数の楽音は、１つの楽音を構成する複数の成分音であり、  上記共鳴音の周波数は上記発生される直接音の楽音の周波数と単純な整数倍比の関係にあり、  上記直接音の成分音の周波数と共鳴音の周波数とが同じであればこれらの成分音は１つに合成されることを特徴とする請求項１記載の残響共鳴装置。
【０１３５】
【発明の効果】
以上詳述したように、本発明では、共鳴特性の付加された楽音を繰り返し遅延させて残響を付加し、この遅延される楽音の遅延内容を上記共鳴特性に基づいて決定するようにした。したがって、残響特性と共鳴特性と関連付けた楽音を発生させることができる等の効果を奏する。
【図面の簡単な説明】
【図１】残響共鳴装置の全体回路を示す。
【図２】プログラム／データ記憶部３内の成分音テーブル３０を示す。
【図３】音響出力部５内のアサインメントメモリ４０を示す。
【図４】音響出力部５を示す。
【図５】同じ周波数の成分音ａと成分音ｂとのエンベロープ合成の波形の例を示す。
【図６】プログラム／データ記憶部３内の共鳴相関値テーブル３５を示す。
【図７】直接音、初期反射音及び後期残響音の例を示す。
【図８】残響テーブル３１を示す。
【図９】サウンドシステム５３内の初期反射音作成部６０を示す。
【図１０】サウンドシステム５３内の後期残響音作成部８０を示す。
【図１１】サウンドシステム５３の別の例を示す。
【図１２】サウンドシステム５３の別の例を示す。
【図１３】サウンドシステム５３の別の例を示す。
【図１４】重み付けメモリ１３３に記憶された重み付けデータＷＴの内容を示す。
【図１５】処理全体のフローチャートを示す。
【図１６】ステップ０３の発音処理のフローチャートを示す。
【図１７】一定周期ごとに実行されるインタラプト処理のフローチャートを示す。
【符号の説明】
１…演奏情報発生部、２…コントローラ（ＣＰＵ）、３…プログラム／データ記憶部、４…情報記憶部、５…音響出力部、６…タイミング発生部、３０…成分音テーブル、３１…残響テーブル、３５…共鳴相関値テーブル、４０…アサインメントメモリ、４１…波形読み出し部、４２…波形メモリ、４７…セレクタ、４８…エンベロープ演算メモリ、４９…エンベロープタイムメモリ、５０…フェーズカウンタ、４６，５１…加算器、５２…ナンドゲート群、５３…サウンドシステム、６０…初期反射音作成部、８０…後期残響音作成部、９０…反射残響回路、１３１…乗算器、１３２…修正エンベロープメモリ、１３３…重み付けメモリ、１３４…最小チャンネルメモリ、１４１…第１最小レベル検出回路、１４２…第２最小レベル検出回路、１４３…第３最小レベル検出回路。
【図１】
0003694172.tif 000002
【図２】
0003694172.tif 000003
【図３】
0003694172.tif 000004
【図４】
0003694172.tif 000005
【図５】
0003694172.tif 000006
【図６】
0003694172.tif 000007
【図７】
0003694172.tif 000008
【図８】
0003694172.tif 000009
【図９】
0003694172.tif 000010
【図１０】
0003694172.tif 000011
【図１１】
0003694172.tif 000012
【図１２】
0003694172.tif 000013
【図１３】
0003694172.tif 000014
【図１４】
0003694172.tif 000015
【図１５】
0003694172.tif 000016
【図１６】
0003694172.tif 000017
【図１７】
0003694172.tif 000018