(57)【特許請求の範囲】
【請求項１】
楽音信号を生成する複数の楽音発生チャネルと、前記各楽音発生チャネルの動作状態を記憶するチャネル状態記憶手段と、新たなキーオンが検出されると該新たなキーオンに対応した楽音信号を生成する前記楽音発生チャネルを前記チャネル状態記憶手段の記憶内容を参照してアサインするアサイン手段と、前記楽音発生チャネルが生成した楽音信号を出力する左右の出力系とを備える楽音信号発生装置において、
アサイン手段は、前記新たなキーオンが検出された際に、前記楽音発生チャネルに２チャネル以上の空きがあれば左右独立波形をそれぞれ生成するために一対の前記楽音発生チャネルをアサインし（以下、ステレオアサインという。）、２チャネル以上の空きがなければ前記左右独立波形のいずれか一方だけを生成するために１つの前記楽音発生チャネルをアサインする（以下、モノラルアサインという。）構成とし、
該アサイン手段によりモノラルアサインされた前記楽音発生チャネルの楽音信号を前記左右の出力系から出力させるべくパンニング係数を設定するパンニング設定手段を設けた
ことを特徴とする楽音信号発生装置。
【請求項２】
楽音信号を生成する複数の楽音発生チャネルと、前記各楽音発生チャネルの動作状態を記憶するチャネル状態記憶手段と、新たなキーオンが検出されると該新たなキーオンに対応した楽音信号を生成させる前記楽音発生チャネルを前記チャネル状態記憶手段の記憶内容を参照してアサインするアサイン手段と、前記楽音発生チャネルが生成した楽音信号を出力する左右の出力系とを備える楽音信号発生装置において、
前記アサイン手段は、前記新たなキーオンのベロシティがベロシティ基準値を超えていれば左右独立波形をそれぞれ生成するために一対の前記楽音発生チャネルをアサインし（以下、ステレオアサインという。）、前記新たなキーオンのベロシティがベロシティ基準値以下なら前記左右独立波形のいずれか一方だけを生成するために１つの前記楽音発生チャネルをアサインする（以下、モノラルアサインという。）構成とし、
該アサイン手段によりモノラルアサインされた前記楽音発生チャネルの楽音信号を前記左右の出力系から出力させるべくパンニング係数を設定するパンニング設定手段を設けた
ことを特徴とする楽音信号発生装置。
【請求項３】
請求項２記載の楽音信号発生装置において、
前記ベロシティ基準値は、前記新たなキーオンが検出された際に既に楽音発生チャネルがアサインされているキーのベロシティに基づいて決められることを特徴とする楽音信号発生装置。
【請求項４】
請求項３記載の楽音信号発生装置において、
前記ベロシティ基準値は、前記新たなキーオンが検出された際に既に楽音発生チャネルがアサインされているキーのベロシティの平均値であることを特徴とする楽音信号発生装置。
【請求項５】
請求項１ないし４のいずれか記載の楽音信号発生装置において、
前記パンニング設定手段は、前記モノラルアサインされた前記楽音発生チャネルの楽音信号のパンニング係数を前記新たなキーオンの音域に基づいて設定することを特徴とする楽音信号発生装置。
【請求項６】
請求項１ないし５のいずれか記載の楽音信号発生装置において、
前記アサイン手段は、前記新たなキーオンが検出された際に該新たなキーオンをアサインする前記楽音発生チャネルが不足するときには、既にアサインされている前記楽音発生チャネルのいずれかを選択し、該選択した楽音発生チャネルに前記新たなキーオンをアサインすることを特徴とする楽音信号発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音信号発生装置の技術分野に属する。
【０００２】
【従来の技術】
例えば電子ピアノに代表される電子鍵盤楽器には、楽音信号を生成する複数の楽音発生チャネル、各楽音発生チャネルの動作状態を記憶するチャネル状態記憶手段、キーオンが検出されると、チャネル状態記憶手段の記憶内容を参照して楽音発生チャネルの一対を選択し、選択された楽音発生チャネルの一方をＬチャネルとしてステレオ演奏のための左楽音信号を割当て、他方をＲチャネルとしてステレオ演奏のための右楽音信号を割当てる割当手段、左楽音信号を出力する左出力系及び右楽音信号を出力する右出力系を備える楽音信号発生装置を持ち、左出力系からの楽音信号により左スピーカを駆動し、右出力系からの楽音信号により右スピーカを駆動することによってステレオ演奏するものがある。
【０００３】
ステレオ演奏するためには、１つの鍵の操作（キーオン）に対して２つの楽音発生チャネル（Ｌ／Ｒチャネル）が必要となる。こうしたＬ／Ｒチャネルの対を鍵数だけ用意すればチャネル不足になることはないが、楽音発生チャネルの数を増やすことはコストアップになるので、楽音発生チャネルの数をある程度に抑えて（例えば３２チャネル）、限られた数の楽音発生チャネルの有効利用が研究されてきた。
【０００４】
そのような楽音発生チャネルの有効利用技術の一つとして、特開平１０−４９１５９号公報に開示されている楽音発生装置がある。この楽音発生装置では、楽音発生チャネルの全数が使用されているときに新たなキーオンがなされると、Ｌ／Ｒチャネルの対を２つ選び、それら対をなしている楽音発生チャネルの片方をトランケート（急速減衰）させ、残りのチャネルはそのまま動作させる。これにより、２つの楽音発生チャネルが空きになるので、それらを新たにキーオンされた鍵に対応するＬ／Ｒチャネルとして使用できる。
【０００５】
【発明が解決しようとする課題】
しかし、特開平１０−４９１５９号公報の技術では、ステレオ発音のうちの一方（片側チャネル）の発音のみが残るので、左右で音量バランスがばらつくおそれがある。これを防ぐには、例えばトランケート処理するチャネルを「前回はＬチャネルだったから今回はＲチャネルにする」というような制御を行う必要があり、制御が複雑化するのでＣＰＵも高性能（普通は高価格）のものを使用しなければならない。すなわち、特開平１０−４９１５９号公報の技術にも改善の余地があった。
【０００６】
本発明は、ステレオ発音が可能な楽音信号発生装置において、楽音発生チャネルを一層良好に有効利用することを目的としている。
【０００７】
【課題を解決するための手段および発明の効果】
上記課題を解決するための請求項１記載の楽音信号発生装置は、楽音信号を生成する複数の楽音発生チャネルと、前記各楽音発生チャネルの動作状態を記憶するチャネル状態記憶手段と、新たなキーオンが検出されると該新たなキーオンに対応した楽音信号を生成する前記楽音発生チャネルを前記チャネル状態記憶手段の記憶内容を参照してアサインするアサイン手段と、前記楽音発生チャネルが生成した楽音信号を出力する左右の出力系とを備える楽音信号発生装置において、アサイン手段は、前記新たなキーオンが検出された際に、前記楽音発生チャネルに２チャネル以上の空きがあれば左右独立波形をそれぞれ生成するために一対の前記楽音発生チャネルをアサインし（以下、ステレオアサインという。）、２チャネル以上の空きがなければ前記左右独立波形のいずれか一方だけを生成するために１つの前記楽音発生チャネルをアサインする（以下、モノラルアサインという。）構成とし、該アサイン手段によりモノラルアサインされた前記楽音発生チャネルの楽音信号を前記左右の出力系から出力させるべくパンニング係数を設定するパンニング設定手段を設けたことを特徴とする。
【０００８】
この楽音信号発生装置においては、アサイン手段は、新たなキーオンが検出された際に、楽音発生チャネルに２チャネル以上の空きがあれば、ステレオアサインとして左右独立波形をそれぞれ生成するために一対の楽音発生チャネルをアサインする。
【０００９】
しかし、２チャネル以上の空きがなければモノラルアサインとして左右独立波形のいずれか一方だけを生成するために１つの楽音発生チャネルをアサインする。このとき、空きチャネルがなければ、請求項６記載のように、アサイン手段は、新たなキーオンが検出された際に該新たなキーオンをアサインする楽音発生チャネルが不足するときには、既にアサインされている楽音発生チャネルのいずれかを選択し、該選択した楽音発生チャネルに新たなキーオンをアサインすることで対処できる。なお、既にアサインされている楽音発生チャネルを２チャネル選択して、それらにステレオアサインすることも可能である。
【００１０】
そして、パンニング設定手段は、アサイン手段によりモノラルアサインされた楽音発生チャネルの楽音信号を左右の出力系から出力させるべくパンニング係数を設定する。
普通、ステレオアサインの場合には、Ｌ側チャネルについてはＬ＝７０、Ｒ＝０、Ｒ側チャネルについてはＲ＝７０、Ｌ＝０のように設定されているので、Ｌ側チャネルの楽音信号が右出力系から出力されることはなく、Ｒ側チャネルの楽音信号が左出力系から出力されることはない。ところが、このパンニング係数は例えば音域やキーナンバに対応して固定されているのが普通であるため、単に１つの楽音発生チャネルをアサインしただけでは、その楽音信号に基づく音声出力が左または右の出力系だけから出力されてしまうので、左右の音量のバランスをとることができない。
【００１１】
しかしながら、アサイン手段によりモノラルアサインされた楽音発生チャネルの楽音信号のパンニング係数を、例えばＬ＝Ｘ、Ｒ＝Ｙ（Ｘ、Ｙはともに正数値）と設定すれば、モノラルアサインされた楽音発生チャネルの楽音信号を左右の出力系から出力させることができる。
【００１２】
このときのパンニング係数（上記Ｘ、Ｙ）の設定は、請求項５記載のように、新たなキーオンの音域に基づいて設定するとよい。具体的には、低音側（すなわち演奏者の左手側）のキーならＸを相対的に大きくしてＹを相対的に小さくし、高音側（演奏者の右手側）のキーならＸを相対的に小さくしＹを相対的に大きくし、中音部ではＸ、Ｙをほぼ等しくするといった設定にすると、左右の音量分布により擬似的にステレオ効果を生じさせることができる。なお、音域に基づいて設定する場合に、ここで例示したように低音域、中音域、高音域という分け方に限るものではなく、より細かく分けることもできる。したがって、究極の形態としてはキーナンバ毎にパンニング係数の設定を変えることもできる。
【００１３】
このように、楽音信号発生チャネルの有効利用としてモノラルアサインした場合にも左右で音量バランスがばらつくことはないし、パンニング係数の設定次第で疑似ステレオ効果も得られるから、演奏者や聴衆が違和感を感じることもない。
【００１４】
しかも、パンニング係数の設定だけで済むからＣＰＵの負担増は小さく、高性能（高価）なＣＰＵを採用する必要もない。
請求項２記載の楽音信号発生装置は、楽音信号を生成する複数の楽音発生チャネルと、前記各楽音発生チャネルの動作状態を記憶するチャネル状態記憶手段と、新たなキーオンが検出されると該新たなキーオンに対応した楽音信号を生成させる前記楽音発生チャネルを前記チャネル状態記憶手段の記憶内容を参照してアサインするアサイン手段と、前記楽音発生チャネルが生成した楽音信号を出力する左右の出力系とを備える楽音信号発生装置において、前記アサイン手段は、前記新たなキーオンのベロシティがベロシティ基準値を超えていれば左右独立波形をそれぞれ生成するために一対の前記楽音発生チャネルをアサインし（以下、ステレオアサインという。）、前記新たなキーオンのベロシティがベロシティ基準値以下なら前記左右独立波形のいずれか一方だけを生成するために１つの前記楽音発生チャネルをアサインする（以下、モノラルアサインという。）構成とし、該アサイン手段によりモノラルアサインされた前記楽音発生チャネルの楽音信号を前記左右の出力系から出力させるべくパンニング係数を設定するパンニング設定手段を設けたことを特徴とする。
【００１５】
電子鍵盤楽器では、あらゆるキーオンに対応してすべてをステレオ発音とすれば臨場感に優れることは言うまでもない。ところが、それぞれのキーオンにはベロシティの違い（キー操作の強弱と見てよい）があり、ベロシティが小さい場合には小さい音量とされる。そして、音量が小さい場合にはステレオ発音とモノラル発音との差も小さくなるので、モノラル発音にしても差し支えない。
【００１６】
そこで、請求項２記載の楽音信号発生装置は、上記の構成を採用したものであり、アサイン手段は、新たなキーオンのベロシティがベロシティ基準値を超えていれば（すなわちベロシティが相対的に大きければ）、ステレオ発音が好ましいから、ステレオアサインする。一方、新たなキーオンのベロシティがベロシティ基準値以下なら（すなわちベロシティが相対的に小さければ）、モノラルアサインする。
【００１７】
このとき、請求項６記載のように、アサイン手段は、新たなキーオンが検出された際に該新たなキーオンをアサインする楽音発生チャネルが不足するときには、既にアサインされている楽音発生チャネルのいずれかを選択し、該選択した楽音発生チャネルに新たなキーオンをアサインすることで対処できる。なお、既にアサインされている楽音発生チャネルを２チャネル選択して、それらにステレオアサインすることも可能である。
【００１８】
そして、パンニング設定手段は、アサイン手段によりモノラルアサインされた楽音発生チャネルの楽音信号を左右の出力系から出力させるべくパンニング係数を設定する。
請求項１について述べたとおり、ステレオアサインの場合には、Ｌ側チャネルについてはＲ側のパンニング値が０に、Ｒ側チャネルについてはＬ側のパンニング値が０に設定されているのが普通で、単に１つの楽音発生チャネルをアサインしただけでは、左右の出力系の一方でしか音声出力されないから、左右の音量のバランスをとることができない。
【００１９】
しかしながら、アサイン手段によりモノラルアサインされた楽音発生チャネルの楽音信号のパンニング係数を、例えばＬ＝Ｘ、Ｒ＝Ｙ（Ｘ、Ｙはともに正数値）と設定すれば、モノラルアサインされた楽音発生チャネルの楽音信号を左右の出力系から出力させることができる。
【００２０】
このときのパンニング係数（上記Ｘ、Ｙ）の設定は、請求項５記載のように、新たなキーオンの音域に基づいて設定するとよい。具体的には、低音側（すなわち演奏者の左手側）のキーならＸを相対的に大きくしてＹを相対的に小さくし、高音側（演奏者の右手側）のキーならＸを相対的に小さくしＹを相対的に大きくし、中音部ではＸ、Ｙをほぼ等しくするといった設定にすると、左右の音量分布により擬似的にステレオ効果を生じさせることができる。なお、音域に基づいて設定する場合に、ここで例示したように低音域、中音域、高音域という分け方に限るものではなく、より細かく分けることもできる。したがって、究極の形態としてはキーナンバ毎にパンニング係数の設定を変えることもできる。
【００２１】
このように、楽音信号発生チャネルの有効利用としてモノラルアサインした場合にも左右で音量バランスがばらつくことはないし、パンニング係数の設定次第で疑似ステレオ効果も得られるから、演奏者や聴衆が違和感を感じることもない。
【００２２】
しかも、パンニング係数の設定だけで済むからＣＰＵの負担増は小さく、高性能（高価）なＣＰＵを採用する必要もない。
なお、ベロシティ基準値は、予め設定しておいてもよいし、請求項３または４記載のように、既に楽音発生チャネルがアサインされているキーのベロシティに基づいて決めてもよい。
【００２３】
すなわち、請求項３記載の楽音信号発生装置は、請求項２記載の楽音信号発生装置において、前記ベロシティ基準値は、前記新たなキーオンが検出された際に既に楽音発生チャネルがアサインされているキーのベロシティに基づいて決められることを特徴とする。
【００２４】
また、請求項４記載の楽音信号発生装置は、請求項３記載の楽音信号発生装置において、前記ベロシティ基準値は、前記新たなキーオンが検出された際に既に楽音発生チャネルがアサインされているキーのベロシティの平均値であることを特徴とする。
【００２５】
これら請求項３または４記載のように、他のキーのベロシティに基づいて決めることにより、例えば他のいずれのキーよりもベロシティが小さいときにモノラルアサインとしたり、キーのベロシティの平均値よりもベロシティが小さいときにモノラルアサインとすることができる。つまり、キーオンに対応する音量が全体から見て比較的小さいときにモノラルアサインとすることができるから、請求項２の構成による効果（特に違和感の防止）を一層良好とすることができる。特に、請求項４ではベロシティ基準値として他のキーのベロシティの平均値を採用するので、全体的な音量バランスも良好となる。
【００２６】
【発明の実施の形態】
次に、本発明の２つの実施例を図面を参照して説明することにより発明の実施の形態を説明する。
【００２７】
【実施例１】
図１は、楽音信号発生装置を備える鍵盤式の電子楽器の全体的な構成を示すブロック図である。
この鍵盤式の電子楽器１０は、鍵盤１２とパネル１４を備えており、演奏者は鍵盤１２の鍵（キー）及びパネル１４のスイッチ類を操作できる。
【００２８】
鍵盤１２の鍵が操作されると、キースキャン回路１６が押鍵、離鍵すなわちキーオン、キーオフを検出し、検出したオン／オフ情報をそのキーナンバとともにバスライン１７に送出する。バスライン１７に送出されたキーオン／オフ情報及びキーナンバは、ＣＰＵ２４及び楽音信号発生装置４０に取込まれ、またＣＰＵ２４の制御下でＣＰＵワークＲＡＭ３０に記憶される。なお、ＣＰＵワークＲＡＭ３０は、後述する楽音発生チャネルの動作状態を記憶し、チャネル状態記憶手段として機能する。
【００２９】
パネル１４のモード選択スイッチ、音色選択スイッチ、ボリュームコントローラのオン／オフやポジション等はパネルスキャン１８にて検出される。それらのスイッチ情報は、パネルスキャン１８からバスライン１７に送出され、ＣＰＵ２４の制御下でＣＰＵワークＲＡＭ３０に記憶される。
【００３０】
また、パネル１４にはパネル表示２０が付属しており、パネル表示２０はＣＰＵ２４の指示を受けて電子楽器１０の状態等を表示するためのＬＥＤを点灯、消灯させる。
さらに、バスライン１７には、シリアル入出力回路であるＵＡＲＴ２２が接続されており、ＭＩＤＩ信号が入力される。
【００３１】
ＣＰＵ２４はＣＰＵプログラムＲＯＭ２６に格納されている動作プログラムに従って動作し、電子楽器１０の各部の動作を制御する。
音色パラメータＲＯＭ２８には、図４に示される構造のステレオ音色パラメータと図５に示されるモノラル音色パラメータが格納されている。図４に示すように、ステレオ音色パラメータは、音色毎にＬ側ＤＣＯとＲ側ＤＣＯとが対になり、それぞれのＤＣＯはウェーブスタートアドレス（Ｗａｖｅ  Ｓｔａｒｔ  Ａｄｄｒｅｓｓ）、Ｌ側並びにＲ側パンニング係数、アタック（Ａｔｔａｃｋ）、ディケイ（Ｄｅｃａｙ  ）及びリリース（Ｒｅｌｅａｓｅ  ）の各エンベロープデータ（Ｅｂｖ．  ｄａｔａ  ）を含んでいる。なお、本実施例の場合、Ｌ側ＤＣＯのＬ側パンニング係数は低音、中音、高音とも７０、Ｒ側パンニング係数は低音、中音、高音とも０に設定され、Ｒ側ＤＣＯではこれと逆にＬ側パンニング係数は低音、中音、高音とも０、Ｒ側パンニング係数は低音、中音、高音とも７０に設定されている。
【００３２】
また、図５に示すように、モノラル音色パラメータには、Ｌ／Ｒ共通ＤＣＯとしてウェーブスタートアドレス、Ｌ側並びにＲ側パンニング係数、アタック、ディケイ及びリリースの各エンベロープデータが含まれている。本実施例ではモノラル音色パラメータのパンニング係数は図６に示されるパンニングカーブ（低音側８０−高音側４０のカーブ（Ｌ）と低音側４０−高音側８０のカーブ（Ｒ））に従っており、低音はＬ側が８０でＲ側が４０、中音はＬ側、Ｒ側とも７０、高音はＬ側が４０でＲ側が８０となるように設定されている。
【００３３】
図１に戻り、バスライン１７には、楽音信号発生装置４０が接続されている。楽音信号発生装置４０は、サンプル波形データを格納している波形ＲＯＭ４２、波形ＲＯＭ４２から読み込んだサンプル波形データに基づいてサンプル波形（楽音信号）を生成するサンプル波形発生器４４、サンプル波形発生器４４の一部となるＲＡＭのアサイメントメモリ４６、サンプル波形発生器４４が生成したサンプル波形にパンニング処理を施すパンニング回路５０、パンニング処理されたサンプル波形を系列累算処理するための系列累算回路６０等から構成されている。
【００３４】
なお、本実施例の楽音信号発生装置４０においては、サンプル波形発生器４４はサンプル波形を生成する楽音発生チャネルを３２チャネル備えており、各チャネルが１音のサンプル波形を生成する。
そして、アサイメントメモリ４６は、各チャネル毎に、図３に示されるとおりのキーアサイメント情報を記憶する。すなわち、キーナンバ、そのオン／オフ情報、ウェーブスタートアドレス、Ｌ側及びＲ側パンニング係数、アタック、ディケイ及びリリースの各エンベロープデータ、ラウドネスデータが１チャネル分のアサイメント情報であり、それを３２チャネル分記憶できる。
【００３５】
記憶されるキーナンバとそのオン／オフ情報は、上述のキースキャン回路１６がバスライン１７に送出したものである。ウェーブスタートアドレス、Ｌ側及びＲ側パンニング係数及びエンベロープデータは、パネル１４の音色選択スイッチに基づいて音色パラメータＲＯＭ２８から獲得したものである。ラウドネスデータは、ボリュームコントローラのポジションをパネルスキャン１８が検出し、それを数値化してバスライン１７に送出したデータである。すなわち、アサイメントメモリ４６は、それぞれのチャネルが生成しているサンプル波形が対応しているキーナンバ、音色及び音量に関するデータを記憶すると言える。
【００３６】
図１に戻り、系列累算回路６０にはディジタルアナログコンバータ（ＤＡＣ）６２Ｌ、アンプ（Ａｍｐ）６４Ｌ及びスピーカ（ＳＰ）６６Ｌからなる左出力系と同様にＤＡＣ６２Ｒ、Ａｍｐ６４Ｒ及びＳＰ６６Ｒからなる右出力系とが接続されており、左右出力系は、それぞれ系列累算回路６０から出力されるデジタル信号をアナログ信号に変換し、増幅し、音声出力することができる。
【００３７】
図２に示すように、サンプル波形発生器４４にはＦナンバＲＯＭ７０、Ｆナンバ累算器７２、サンプル補間器７４、エンベロープ発生器７６、アサイメントメモリ４６（図２には示さない）等が備わっている。これらのうちでＦナンバ累算器７２、サンプル補間器７４及びエンベロープ発生器７６が１組となって１つのサンプル波形を生成するので、そうした１組が１つの楽音信号発生チャネルに該当し、本実施例ではこれらの組が３２組（すなわち楽音発生チャネルが３２チャネル）ある。
【００３８】
ＦナンバＲＯＭ７０にはアサイメントメモリ４６からのキーナンバが入力され、そのキーナンバに対応するＦナンバがＦナンバ累算器７２に読み込まれる。また、アサイメントメモリ４６からのキーオン／オフ情報もＦナンバ累算器７２に入力される。Ｆナンバ累算器７２は、Ｆナンバの整数部分を加算器ＡＤＤ１に送出し、小数部分をサンプル補間器７４に送出する。加算器ＡＤＤ１では、Ｆナンバの整数部分にアサイメントメモリ４６からのウェーブスタートアドレスが加算され、その加算後のデータが波形ＲＯＭ４２のアドレスを指定する。サンプル補間器７４は、このアドレス指定されたサンプル波形データを読込み、Ｆナンバの小数部分を用いてサンプル波形データに補間処理を施す。
【００３９】
サンプル補間器７４から出力されたサンプル波形データは、乗算器ＭＬＴ１に送られる。乗算器ＭＬＴ１には、エンベロープ発生器７６からのエンベロープデータが入力され、サンプル波形データにエンベロープデータが乗算される。このエンベロープデータは、アサイメントメモリ４６からエンベロープ発生器７６に供給されるアタック、ディケイ及びリリースのエンベロープデータに基づいている。さらに、サンプル波形データには、乗算器ＭＬＴ２において、アサイメントメモリ４６からのラウドネスデータが乗算される。
【００４０】
このようにエンベロープデータとラウドネスデータが乗算されたサンプル波形データはパンニング回路５０に送られる。
パンニング回路５０は、Ｌ側パンニング値補間回路５０Ｌと乗算器ＭＬＴ３とで構成されるＬ側系列及びＲ側パンニング値補間回路５０Ｒと乗算器ＭＬＴ４とで構成されるＲ側系列からなり、その下流側の系列累算回路６０も加算器ＡＤＤ３とラッチ６０ＬとからなるＬ側系列と加算器ＡＤＤ４とラッチ６０ＲからなるＲ側系列とからなっている。
【００４１】
Ｌ側パンニング値補間回路５０Ｌ及びＲ側パンニング値補間回路５０Ｒは、ＣＰＵ２４から補間の有無を指示され、補間有りならアサイメントメモリ４６から取得したパンニング係数（パン値）を乗算器ＭＬＴ３、ＭＬＴ４に送出する。乗算器ＭＬＴ３、ＭＬＴ４にパンニング係数が送出された際には、そのパンニング係数がサンプル波形データに乗算される。
【００４２】
さらにサンプル波形データは、加算器ＡＤＤ３、ＡＤＤ４を経てラッチ６０Ｌ、６０Ｒに送られ、全チャネル分の累算処理が行われる。累算されたデータは、上述したように左右出力系において、アナログ変換され、増幅され、音声として出力される。
【００４３】
さて、この電子楽器１０においては、図７に示すように、電子楽器１０の電源がオンされると、ＣＰＵ２４は各種の初期化処理を行う（Ｓ１０１）。
以後は、パネル１４のモード選択スイッチ、音色選択スイッチ、ボリュームコントローラのオン／オフやポジション等に応じて、音色、音量等を設定するためのパネル処理（Ｓ１０２）、キーオン／オフに対応しての発音、消音を実行するための処理であるキーイベント（Ｓ１０３）、その他の処理（Ｓ１０４）を繰り返し実行する。
【００４４】
キーイベント（Ｓ１０３）に含まれるサブルーチンとして、本発明に関わりの深いキーアサイン処理が行われるので、その処理を図８に従って説明する。
キーアサイン処理では、ＣＰＵ２４はまずキーオンの有無を判断し（Ｓ１２０）、キーオンがあればＣＰＵワークＲＡＭ３０を検索して空チャネルが２チャネル以上あるか否かを判断する（Ｓ１２１）。
【００４５】
空チャネルが２チャネル以上あるときには（Ｓ１２１：ＹＥＳ）、その中から２チャネルを選択して、それぞれに新たなキーオンのＬ及びＲチャネルをアサインする（Ｓ１２７）。詳しくは、アサイメントメモリ４６上の２つの空チャネルに対応する領域に、図３に示される内容のデータを書込み、ＣＰＵワークＲＡＭ３０の楽音発生チャネルの動作状態の記憶を更新させる。
【００４６】
空チャネルが２チャネル未満の場合には（Ｓ１２１：ＮＯ）、空チャネルが１チャネルあるか否かを判断する（Ｓ１２２）。
ここで否定判断の場合（Ｓ１２２：ＮＯ）、新たなキーオンをアサインするために次のようにして空チャネルを確保する。
【００４７】
まず、ステレオ発音のペアチャネルを１ペア選択する（Ｓ１２３）。この選択基準は適宜設定されればよく、本実施例では最も古く発音を開始したペアチャネルを選択する。
続いて、ＣＰＵ２４は、楽音信号発生装置４０に指示して、選択したペアチャネルの一方（本実施例ではＬチャネル）を高速リリース（すなわちトランケート）させる（Ｓ１２４）。また、ＣＰＵ２４は、楽音信号発生装置４０に指示して、選択したペアチャネルの他方（本実施例ではＲチャネル）のパンニング係数をキーナンバに基づいて変更させ、Ｒチャネルのモノラル音を左右の出力系から出力させる（Ｓ１２５）。このパンニング係数は、例えば図６（この図６の例はモノラルピアノ音のパンニングカーブである）に示すパンニングカーブ（本実施例の場合、８０−４０のパンニングカーブと４０−８０のパンニングカーブ）により、キーナンバに対応するパンニング係数が決定される。この実施例では前述のパンニングカーブを採用しているが、他の形態のパンニングカーブ、例えばフルパンニングカーブ（Ｌ、Ｒ）を用いてもよい。また、パンニング係数の設定により、例えば一方のチャネルが高速リリースされる直前の音量を、残されたチャネルで確保できるから、総音量の低下も防止できる。
【００４８】
なお、高速リリースはエンベロープ発生器７６の働きによって実現され、パンニングの変更はパンニング回路５０の働きによって実現される。
そして、高速リリースされたチャネルまたはＳ１２２で空チャネルであったチャネルに、新たなキーオンのＬ用波形をアサインし、パンニング係数をキーオンされたキーナンバに基づいて設定するすることにより、そのモノラル音を左右の出力系から出力させる（Ｓ１２６）。
【００４９】
すなわち、ＣＰＵ２４は、例えば図６に示すパンニングカーブ（本実施例の場合、８０−４０のパンニングカーブと４０−８０のパンニングカーブ）により、キーナンバに対応するパンニング係数を決定し、そのパンニング係数を含めて、アサイメントメモリ４６上の空チャネルに対応する領域に、図３に示される内容のデータを書込み、ＣＰＵワークＲＡＭ３０の楽音発生チャネルの動作状態の記憶を更新させる。なお、この実施例では前述のパンニングカーブを採用しているが、他の形態のパンニングカーブ、例えばフルパンニングカーブ（Ｌ、Ｒ）を用いてもよい。
【００５０】
このように、新たなキーオンが検出された際に、空チャネルが２チャネル以上あれば、その中から２チャネルを選択して、それぞれに新たなキーオンのＬ及びＲチャネルをアサインする（Ｓ１２７）ので、新たなキーオンに対応するステレオ発音が行われる。
【００５１】
一方、１チャネルだけ空いているときには、その１チャネルに新たなキーオンのＬ用波形をアサインし、パンニング係数をキーオンされたキーナンバに基づいて設定して、モノラル音（この例ではＬ用波形に基づく音）を、左右の出力系から出力させるので、左右の音量バランスが崩れることはない。その際にキーナンバに応じてパンニング係数を設定するので、擬似的にステレオ効果を生じさせることができるから、演奏者や聴衆が違和感を感じることもなくなる。しかも、パンニング係数の設定だけで済むからＣＰＵ２４の負担増はほとんどなく、高性能（高価）なＣＰＵを採用する必要もない。
【００５２】
なお、この実施例では、ＣＰＵ２４は、アサイン手段として機能すると共にパンニング回路５０と共同してパンニング設定手段として機能している。
【００５３】
【実施例２】
上記の実施例１例は空チャネル数に基づいてステレオアサインまたはモノラルアサインを選択する例であるが、キーベロシティに基づいてステレオアサインまたはモノラルアサインを選択することもできるので、それを実施例２として説明する。なお、ハード構成やメイン処理等は実施例１と同様であるので実施例１と同じ符号を用いて説明は省略する。また、キーアサイン処理がキーイベントのサブルーチンとして実行される点も実施例１と同様である。
【００５４】
この実施例２のＣＰＵ２４のキーアサイン処理は図９に示すとおりであり、まずキーオンの有無を判断し（Ｓ１３０）、キーオンがあればＣＰＵワークＲＡＭ３０からベロシティ平均値ＡＫＶを読込み、そのベロシティ平均値ＡＫＶと新たなキーオンのベロシティＮＫＶとを比較し、新たなキーオンのベロシティＮＫＶがベロシティ平均値ＡＫＶを超えているか否かを判断する（Ｓ１３１）。なお、ベロシティ平均値は、新たなキーオンが検出された際に既にアサインされている各キーのベロシティの平均値であり、現在発音中のキーのベロシティの平均値と言える。
【００５５】
新たなキーオンのベロシティＮＫＶがベロシティ平均値ＡＫＶを超えている場合には（Ｓ１３１：ＹＥＳ）、ＣＰＵ２４は、ＣＰＵワークＲＡＭ３０を検索して空チャネルが２チャネル以上あるか否かを判断する（Ｓ１３２）。
空チャネルが２チャネル以上あるときには（Ｓ１３２：ＹＥＳ）、その中から２チャネルを選択して、それぞれに新たなキーオンのＬ及びＲチャネルをアサインする（Ｓ１３４）。詳しくは、アサイメントメモリ４６上の２つの空チャネルに対応する領域に、図３に示される内容のデータを書込み、ＣＰＵワークＲＡＭ３０の楽音発生チャネルの動作状態の記憶を更新させる。
【００５６】
しかし、空チャネルが２チャネル未満の場合には（Ｓ１３２：ＮＯ）、現在アサインされているチャネルのいずれかを新たなキーオン用に用いるためのチャネル確保処理（Ｓ１３３）を実行してから、上述のＳ１３３を実行する。
チャネル確保処理は図１０に示すとおりであり、まず、ステレオ発音のペアチャネルを１ペア選択する（Ｓ１４０）。この選択基準は適宜設定されればよく、本例では最も古く発音を開始したペアチャネルを選択する。
【００５７】
続いて、ＣＰＵ２４は、楽音信号発生装置４０に指示して、選択したペアチャネルの一方（本実施例ではＬチャネル）を高速リリース（すなわちトランケート）させる（Ｓ１４１）。また、ＣＰＵ２４は、楽音信号発生装置４０に指示して、選択したペアチャネルの他方（本実施例ではＲチャネル）のパンニング係数をキーナンバに基づいて変更させ、Ｒチャネルのモノラル音を左右の出力系から出力させる（Ｓ１４２）。このパンニング係数は、例えば図６（この図６の例はモノラルピアノ音のパンニングカーブである）に示すパンニングカーブ（本実施例の場合、８０−４０のパンニングカーブと４０−８０のパンニングカーブ）により、キーナンバに対応するパンニング係数が決定される。この例では前述のパンニングカーブを採用しているが、他の形態のパンニングカーブ、例えばフルパンニングカーブ（Ｌ、Ｒ）を用いてもよい。また、パンニング係数の設定により、例えば一方のチャネルが高速リリースされる直前の音量を、残されたチャネルで確保できるから、総音量の低下も防止できる。
【００５８】
なお、高速リリースはエンベロープ発生器７６の働きによって実現され、パンニングの変更はパンニング回路５０の働きによって実現される。
そして、もう１チャネルの確保が必要なら（Ｓ１４３：ＹＥＳ）、Ｓ１４０に回帰して上述と同様に、ステレオ発音のもう１つのペアチャネルを選択し（Ｓ１４０）、選択したペアチャネルの一方（本実施例ではＬチャネル）を高速リリースさせ（Ｓ１４１）、そのペアチャネルの他方（本実施例ではＲチャネル）のパンニング係数をキーナンバに基づいて変更させ、そのモノラル音を左右の出力系から出力させる（Ｓ１４２）。
【００５９】
このようにして１チャネルまたは２チャネルを空チャネルとでき、それによって２つの空チャネルを確保したので、図９に示すように、それらに２チャネルのそれぞれに新たなキーオンのＬ及びＲチャネルをアサインする（Ｓ１３４）。詳しくは、アサイメントメモリ４６上の２つの空チャネルに対応する領域に、図３に示される内容のデータを書込み、ＣＰＵワークＲＡＭ３０の楽音発生チャネルの動作状態の記憶を更新させる。
【００６０】
続いて、ＣＰＵ２４は、新たにキーオンされたキーのベロシティＮＫＶとベロシティ平均値ＡＫＶとによって新たなベロシティ平均値ＡＫＶを算出し、それをＣＰＵワークＲＡＭ３０に記憶させる（Ｓ１３５）。
一方、Ｓ１３１で否定判断、すなわち新たなキーオンのベロシティＮＫＶがベロシティ平均値ＡＫＶ以下の場合には、ＣＰＵ２４は、ＣＰＵワークＲＡＭ３０を検索して空チャネルが１チャネル以上あるか否かを判断する（Ｓ１３６）。
【００６１】
空チャネルが１チャネル以上あるときには（Ｓ１３６：ＹＥＳ）、その中から１チャネルを選択して、それぞれに新たなキーオンのＬ用波形をアサインし、パンニング係数をキーオンされたキーナンバに基づいて設定するすることにより、そのモノラル音を左右の出力系から出力させる（Ｓ１３８）。
【００６２】
すなわち、ＣＰＵ２４は、例えば図６に示すパンニングカーブ（本実施例の場合、８０−４０のパンニングカーブと４０−８０のパンニングカーブ）により、キーナンバに対応するパンニング係数を決定し、そのパンニング係数を含めて、アサイメントメモリ４６上の空チャネルに対応する領域に、図３に示される内容のデータを書込み、ＣＰＵワークＲＡＭ３０の楽音発生チャネルの動作状態の記憶を更新させる。なお、この例では前述のパンニングカーブを採用しているが、他の形態のパンニングカーブ、例えばフルパンニングカーブ（Ｌ、Ｒ）を用いてもよい。
【００６３】
また、空チャネルが１チャネルもない場合には（Ｓ１３６：ＮＯ）、現在アサインされているチャネルのいずれかを新たなキーオン用に用いるためのチャネル確保処理（Ｓ１３７）を実行してから、上述のＳ１３８を実行する。ここで実行するチャネル確保処理は、Ｓ１３３で実行されるもの（図１０参照）と同じである。ただし、ここでは１チャネルを確保できればよいので、Ｓ１４３で肯定判断となってＳ１４０に回帰することはない。
【００６４】
このように、新たなキーオンがなされたときに、そのキーのベロシティＮＫＶがベロシティ平均値ＡＫＶ以下のときには（キーベロシティが比較的小さいときには）、モノラル発音とするので楽音信号発生チャネルの有効利用が可能になる。
【００６５】
モノラルアサインした場合にも、パンニング係数の設定によって左右両出力系から音声出力できるから、左右で音量バランスがばらつくことはないし、パンニング係数の設定次第で疑似ステレオ効果も得られるから、演奏者や聴衆が違和感を感じることもない。
【００６６】
しかも、パンニング係数の設定だけで済むからＣＰＵ２４の負担増は小さく、高性能（高価）なＣＰＵを採用する必要もない。
その上、チャネル確保のためにペアチャネルの一方を高速リリースした際には、残ったチャネルによってペアチャネル分の音量を出力することができるから、総音量の低下を防止でき、例えばダンパペダルを踏んだ状態でキーオンが連続した場合などでも、キーオンに応じて総音量を増加させることが可能である。
【００６７】
なお、この実施例では、ＣＰＵ２４は、アサイン手段として機能すると共にパンニング回路５０と共同してパンニング設定手段として機能している。
以上、実施例に従って、本発明の実施の形態について説明したが、本発明はこのような実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲でさまざまに実施できることは言うまでもない。
【００６８】
例えば上述の２つの実施例では、チャネル確保のためにペアチャネルの一方を高速リリースする手法を採用しているが（Ｓ１２４、Ｓ１４１）、高速リリースに代えてパンニング係数を０にする手法を採用しても、両実施例と同様に空チャネルを作り出すことができる。
【図面の簡単な説明】
【図１】実施例１、２の電子楽器の全体的な構成のブロック図である。
【図２】実施例１、２の電子楽器の楽音信号発生装置の詳細を説明するブロック図である。
【図３】実施例１、２の楽音信号発生装置のアサイメントメモリの構造の説明図である。
【図４】実施例１、２の電子楽器の音色パラメータＲＯＭ内のステレオ音色パラメータの構造の説明図である。
【図５】実施例１、２の電子楽器の音色パラメータＲＯＭ内のモノラル音色パラメータの構造の説明図である。
【図６】実施例１、２の電子楽器におけるモノラルピアノ音のパンニングカーブのグラフである。
【図７】実施例１、２の電子楽器のＣＰＵが実行するメイン処理のフローチャートである。
【図８】実施例１の電子楽器のＣＰＵが実行するキーアサイン処理のフローチャートである。
【図９】実施例２の電子楽器のＣＰＵが実行するキーアサイン処理のフローチャートである。
【図１０】実施例２の電子楽器のＣＰＵが実行するチャネル確保処理のフローチャートである。
【符号の説明】
１０…電子楽器
２４…ＣＰＵ（アサイン手段、パンニング設定手段）
２６…ＣＰＵプログラムＲＯＭ
２８…音色パラメータＲＯＭ
３０…ＣＰＵワークＲＡＭ（チャネル状態記憶手段）
４０…楽音信号発生装置
４２…波形ＲＯＭ
４４…サンプル波形発生器
４６…アサイメントメモリ
５０…パンニング回路（パンニング設定手段）
５０Ｌ…Ｌ側パンニング値補間回路（パンニング設定手段）
５０Ｒ…Ｒ側パンニング値補間回路（パンニング設定手段）
６０…系列累算回路
６０Ｌ…ラッチ
６０Ｒ…ラッチ
６２Ｌ…ディジタルアナログコンバータ（左出力系）
６２Ｒ…ディジタルアナログコンバータ（右出力系）
６４Ｌ…アンプ（左出力系）
６４Ｒ…アンプ（右出力系）
６６Ｌ…スピーカ（左出力系）
６６Ｒ…ＳＰ（右出力系）
７０…ＦナンバＲＯＭ
７２…Ｆナンバ累算器（楽音発生チャネル）
７４…サンプル補間器（楽音発生チャネル）
７６…エンベロープ発生器（楽音発生チャネル）
【図１】
0003571565.tif 000002
【図２】
0003571565.tif 000003
【図３】
0003571565.tif 000004
【図４】
0003571565.tif 000005
【図５】
0003571565.tif 000006
【図６】
0003571565.tif 000007
【図７】
0003571565.tif 000008
【図８】
0003571565.tif 000009
【図９】
0003571565.tif 000010
【図１０】
0003571565.tif 000011