(57)【要約】      （修正有）【課題】自然楽器の音色変化と同等の音色変化を実現する。【解決手段】  フィルタ係数算出回路２６は、周波数に基づく第１のパラメータ及びフィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第２のパラメータに関連付けられた、フィルタ係数の組を複数種記憶したパラメータテーブルを有し、楽音信号の周波数及び強度に対応して決定される第１のパラメータ及び第２のパラメータにより、パラメータテーブルから、フィルタ係数の組を取り出し、かつ、発音すべき楽音の周波数と波形ＲＯＭに記憶されたオリジナル楽音波形データの周波数との差分に基づいて第２のパラメータを補正して、フィルタ手段２２に出力する。【選択図】図５
2008076440.tif 000002
【特許請求の範囲】
【請求項１】
所定の周波数のオリジナル楽音波形データを記憶した波形記憶手段から、発音すべき楽音の周波数と前記所定の周波数とに基づいて決定された速度で読み出すことにより、発音すべき楽音の周波数の楽音波形データを生成する楽音波形データ生成手段と、
フィルタ係数の組を出力するフィルタ係数出力手段と、
前記楽音波形データ生成手段により生成された楽音波形データに対して、前記フィルタ係数出力手段から出力されたフィルタ係数の組により規定されたフィルタ特性に基づくフィルタ処理を施すフィルタ手段と、を備えた楽音発生装置であって、
前記フィルタ係数出力手段が、
複数の周波数夫々について、当該周波数に基づく第１のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第２のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
前記発生すべき楽音の周波数及び強度に対応して第１のパラメータ及び第２のパラメータを決定するとともに、前記発音すべき楽音の周波数と、前記オリジナル楽音波形データの周波数との差分に基づいて、前記決定された第２のパラメータを補正するパラメータ生成手段と、
前記パラメータ生成手段により生成される第１のパラメータ及び第２のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して前記フィルタ手段に出力するフィルタ係数生成手段と、
を有することを特徴とする楽音発生装置。
【請求項２】
前記パラメータテーブルは、
発音すべき楽音の周波数により規定され、その高低に伴って高低し、かつ、そこからフィルタのゲインの減衰或いは増強が開始される基準周波数から、ほぼ一定の傾きをもって減衰或いは増強され、かつ前記傾きが、前記発音すべき楽音の強度が大きくなるのにともなって、大きくなるように変化するフィルタ特性となるように、
予め定められた所定の周波数におけるゲインの減衰或いは増強の最大レベルを第２のパラメータとし、かつ、ゲインのレベルが前記最大レベルから所定の比率となるような周波数である遷移周波数を第１のパラメータとして、
前記複数の第１のパラメータのそれぞれについて、第１のパラメータ及び最大レベルが異なる複数の第２のパラメータのそれぞれの組に基づく、フィルタ係数の組を格納したことを特徴とする請求項１に記載の楽音発生装置。
【請求項３】
前記パラメータ生成手段は、前記発音すべき楽音の周波数が前記オリジナル楽音波形データの周波数より高いときに、前記第２のパラメータを減少させ、前記発音すべき楽音の周波数が前記オリジナル楽音波形データの周波数より低いときに、前記第２のパラメータを増大させることを特徴とする請求項２に記載の楽音発生装置。
【請求項４】
前記パラメータ生成手段は、前記発音すべき楽音の周波数と前記オリジナル楽音波形データの周波数との差分値を算出し、当該差分値に基づいて前記第２のパラメータを補正することを特徴とする請求項２または３に記載の楽音発生装置。
【請求項５】
前記波形記憶手段には、前記オリジナル楽音波形データが周波数帯域ごとに異なる周波数にて、記憶され、
前記パラメータ生成手段は、発音すべき楽音の周波数が属する周波数帯域に基づき、前記オリジナル楽音波形データを記憶する際の周波数を特定することを特徴とする請求項１ないし４の何れか一項に記載の楽音発生装置。
【請求項６】
前記パラメータ生成手段は、前記発音すべき楽音の周波数と前記オリジナル楽音波形データの周波数との差分に基づいて、前記楽音波形データの強度を制御するアンプエンベロープを補正することを特徴とする請求項１ないし５の何れか一項に記載の楽音発生装置。
【請求項７】
発音すべき楽音の周波数及び強度を指定する発音指示手段と、
所定の周波数のオリジナル楽音波形データを記憶した波形記憶手段から、前記発音すべき楽音の周波数と前記所定の周波数とから決定される速度で前記オリジナル楽音波形データを読み出すことにより当該発音すべき楽音の周波数の楽音波形データを生成する楽音波形データ生成手段と、
複数の周波数夫々について、当該周波数に基づく第１のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第２のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
前記発生すべき楽音の周波数及び強度に対応して第１のパラメータ及び第２のパラメータを決定するとともに、前記発音すべき楽音の周波数と、前記オリジナル楽音波形データの周波数との差分に基づいて、前記決定された第２のパラメータを補正するパラメータ生成手段と、
前記パラメータ生成手段により生成される第１のパラメータ及び第２のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して出力するフィルタ係数生成手段と、
前記楽音波形データ生成手段からの楽音波形データに対して、このフィルタ係数生成手段からのフィルタ係数の組により規定されるフィルタ特性に基づくフィルタ処理を施して出力するフィルタ手段と、
を備えたことを特徴とする電子楽器。
【請求項８】
楽音波形データを記憶した波形記憶手段から所定の周波数の楽音波形データを読み出すとともに、ピッチ変更の指示の受信に応答して、その周波数を変更した新たな周波数の楽音波形データを生成する楽音波形データ生成手段と、
フィルタ係数の組を出力するフィルタ係数出力手段と、
前記楽音波形データ生成手段により生成された楽音波形データに対して、前記フィルタ係数出力手段から出力されたフィルタ係数の組により規定されたフィルタ特性に基づくフィルタ処理を施すフィルタ手段と、を備えた楽音発生装置であって、
前記フィルタ係数出力手段が、
複数の周波数夫々について、当該周波数に基づく第１のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベルの夫々に基づく第２のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
前記発生すべき楽音の周波数及び強度に対応して第１のパラメータ及び第２のパラメータを決定するとともに、前記発音中の楽音の周波数とピッチ変更の指示による新たな周波数との差分に基づいて、前記決定された第２のパラメータを補正するパラメータ生成手段と、
前記パラメータ生成手段からにより生成される第１のパラメータ及び第２のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して前記フィルタ手段に出力するフィルタ係数生成手段と、
を有することを特徴とする楽音発生装置。
【請求項９】
前記パラメータテーブルは、
発音すべき楽音の周波数により規定され、その高低に伴って高低し、かつ、そこからフィルタのゲインの減衰或いは増強が開始される基準周波数から、ほぼ一定の傾きをもって減衰或いは増強され、かつ前記傾きが、前記発音すべき楽音の強度が大きくなるのにともなって、大きくなるように変化するフィルタ特性となるように、
予め定められた所定の周波数におけるゲインの減衰或いは増強の最大レベルを第２のパラメータとし、かつ、ゲインのレベルが前記最大レベルから所定の比率となるような周波数である遷移周波数を第１のパラメータとして、
前記複数の第１のパラメータのそれぞれについて、第１のパラメータ及び最大レベルが異なる複数の第２のパラメータのそれぞれの組に基づく、フィルタ係数の組を格納したことを特徴とする請求項８に記載の楽音発生装置。
【請求項１０】
前記パラメータ生成手段は、前記新たな周波数が前記発音中の楽音の周波数より高いときに、前記第２のパラメータを減少させ、前記新たな周波数が前記発音中の楽音の周波数より低いときに、前記第２のパラメータを増大させることを特徴とする請求項９に記載の楽音発生装置。
【請求項１１】
前記パラメータ生成手段は、前記新たな周波数と前記発音中の楽音の周波数との差分値を算出し、当該差分値に基づいて前記第２のパラメータを補正することを特徴とする請求項９または１０に記載の楽音発生装置。
【請求項１２】
前記パラメータ生成手段は、前記発音中の楽音の周波数と前記新たな周波数との差分に基づいて、前記楽音波形データの強度を制御するアンプエンベロープを補正することを特徴とする請求項８ないし１１の何れか一項に記載の楽音発生装置。
【請求項１３】
発音すべき楽音の周波数及び強度を指定する発音指示手段と、
楽音波形データを記憶した波形記憶手段から所定の周波数の楽音波形データを読み出すとともに、ピッチ変更の指示の受信に応答して、その周波数を変更した新たな周波数の楽音波形データを生成する楽音波形データ生成手段と、
複数の周波数夫々について、当該周波数に基づく第１のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第２のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
前記発生すべき楽音の周波数及び強度に対応して第１のパラメータ及び第２のパラメータを決定するとともに、前記発音中の楽音の周波数とピッチ変更の指示による新たな周波数との差分に基づいて、前記決定された第２のパラメータを補正するパラメータ生成手段と、
前記パラメータ生成手段により生成される第１のパラメータ及び第２のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して出力するフィルタ係数生成手段と、
前記楽音波形データ生成手段からの楽音波形データに対して、このフィルタ係数生成手段からのフィルタ係数の組により規定されるフィルタ特性に基づくフィルタ処理を施して出力するフィルタ手段と、
を備えたことを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音発生装置および当該楽音発生装置を搭載した電子楽器に関する。
【背景技術】
【０００２】
自然楽器の音色変化は、基音に対する倍音の振幅比率が変化することによって生ずる。特に、演奏の強弱による音色変化において、強く演奏する（たとえばピアノでは強く打鍵する）ほど高次倍音の振幅比率が大きくなる。その一方、弱く演奏する（ピアノでは弱く打鍵する）ほど高次倍音の振幅比率は小さくなる。
【０００３】
図１７（ａ）、（ｂ）は、アコースティックピアノの波形を示すグラフであり、図１７（ａ）は、フォルテシモで打鍵したときの波形、図７（ｂ）はメゾピアノで打鍵したときの波形である。図１８（ａ）、（ｂ）は、図１７（ａ）、（ｂ）のそれぞれの波形から算出されたスペクトルを示すグラフである。図１８（ａ）、（ｂ）において、横軸（周波数軸）はリニアであり、縦軸はｄＢである。これらは、図１７（ａ）、（ｂ）に示す波形の発音開始近傍から４０９６サンプルを、ブラックマン(Blackmann)の窓関数で切り取ったものに基づいて算出されている。
【０００４】
図１９は、図１８（ａ）、（ｂ）に示すスペクトルから抽出したスペクトラム・エンベロープを示す図である。図１９に示すように、スペクトラム・エンベロープは、基本波から高調波に向かってほぼ一定の傾きをもち、かつ、その傾きが、演奏の強さにより一様に変化することがわかる。図１９の例では、演奏の強さが強くなるのにしたがって、傾きが大きくなる（つまり０に近づく）。したがって、電子楽器においてフィルタ回路によって、音色を変化させる場合にも、フィルタ回路が、図１９に示すようなスペクトラム・エンベロープを持つようなフィルタ特性を持っているのが望ましい。
【特許文献１】特開平４−７８２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のフィルタの伝達関数を（１）式に示す。
【０００６】
【数１】
2008076440.tif 000003
なお、ω０＝２πｆｃ／ｆｓ    （０＜ω０＜１）
ここに、ｆｃはカットオフ周波数、ｆｓはサンプリング周波数、ω０はカットオフ角周波数、Ｑは選択度を表す。
【０００７】
従来のフィルタ回路においては、フィルタ特性をω０（或いはｆｃ）とＱとによって変化させるため、フィルタ回路は、パラメータとしてω０（或いはｆｃ）およびＱを受け入れ、これに基づいて、その特性を変化させるように構成されている。
【０００８】
図２０は、（１）式に示す特性をもつ二次ＩＩＲフィルタにおいて、パラメータとしてｆｃを変更したときのフィルタ特性を示すグラフである。図２０においても、横軸（周波数軸）はリニア（０〜１０ｋＨｚ）であり、縦軸はｄＢである。図２０に示すように、ｆｃを変更しても、変更されたフィルタ特性は、図１８（ａ）、（ｂ）、図１９に示すような特性とは程遠く、したがって、カットオフ周波数を制御してピアノ音色の変化と同等の変化を実現することが非常に難しいという問題点があった。
【０００９】
たとえば、特許文献１には、カットオフ周波数ｆｃではなく、伝達特性が変化し始める特定の周波数ｆ０とその変化率をパラメータとするフィルタが提案されている。しかしながら、特許文献１に開示されたフィルタを用いても、特に、ピアノ音色の変化と同等の変化を実現することは困難であった。特に、所定の周波数における減衰或いは増強の最大レベルから所定の比率となる周波数（以下、本明細書においては、「遷移周波数」と称する）が、パラメータの変化により移動するという問題点があった。
【００１０】
また、現在、電子楽器においては、ＰＣＭ方式を採用しているものが多い。このＰＣＭ方式においては、波形メモリ（波形ＲＯＭ）の容量を小さくするために、全ての鍵の音高に対応する周波数の波形データを辞するのではなく、所定の間隔で（たとえば、オクターブごとに）複数の周波数のオリジナル波形データのみを保持している。したがって、オリジナル波形データの周波数の波形データを生成する場合には、その周波数により近い周波数のオリジナル波形データを読み出して、そのピッチを変更することにより実現している。
【００１１】
しかしながら、オリジナル波形データからピッチを変更する際に、基本波に対する高調波の比率が変化するという問題が生じる。
【００１２】
図２１（ａ）、（ｂ）はオリジナル波形データの例およびそのスペクトルを示す図である。図２２（ａ）、（ｂ）は、オリジナル波形データを、その周波数をオリジナル周波数の１／２倍として読み出したときの波形データおよびそのスペクトルを示す図である。図２２（ｂ）に示すスペクトルをみると、図２１（ｂ）に示すスペクトルを横方向（周波数軸の方向）に圧縮したような状態となり、基本波に対する高次倍音の比率が小さくなっていることがわかる。
【００１３】
図２３（ａ）、（ｂ）は、オリジナル波形データを、その周波数をオリジナル周波数の２倍として読み出したときの波形データおよびそのスペクトルを示す図である。図２３（ｂ）に示すスペクトルを見ると、図２１（ｂ）のスペクトルを横方向（周波数軸の方向）に伸張したような状態となり、基本波に対する高次倍音の比率が大きくなっていることがわかる。
【００１４】
本来、自然楽器は、楽器の材質、形状に起因したフォルマントを持っているものであり、これが基本波に対する高次倍音の比率を規定する。したがって、上述したようなピッチ（周波数）の変更に伴うスペクトルの変化、特に、高次倍音の比率の変化は自然楽器らしくない不自然な音色変化をもたらすという問題点がある。
【００１５】
本発明は、自然楽器の音色変化と同等の音色変化を実現できる楽音発生装置および電子楽器を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の目的は、所定の周波数のオリジナル楽音波形データを記憶した波形記憶手段から、発音すべき楽音の周波数と前記所定の周波数とに基づいて決定された速度で読み出すことにより、発音すべき楽音の周波数の楽音波形データを生成する楽音波形データ生成手段と、フィルタ係数の組を出力するフィルタ係数出力手段と、前記楽音波形データ生成手段により生成された楽音波形データに対して、前記フィルタ係数出力手段から出力されたフィルタ係数の組により規定されたフィルタ特性に基づくフィルタ処理を施すフィルタ手段と、を備えた楽音発生装置であって、
前記フィルタ係数出力手段が、複数の周波数夫々について、当該周波数に基づく第１のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第２のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、前記発生すべき楽音の周波数及び強度に対応して第１のパラメータ及び第２のパラメータを決定するとともに、前記発音すべき楽音の周波数と、前記オリジナル楽音波形データの周波数との差分に基づいて、前記決定された第２のパラメータを補正するパラメータ生成手段と、前記パラメータ生成手段により生成される第１のパラメータ及び第２のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して前記フィルタ手段に出力するフィルタ係数生成手段と、を有することを特徴とする楽音発生装置により達成される。
【００１７】
好ましい実施態様において、前記パラメータテーブルは、
発音すべき楽音の周波数により規定され、その高低に伴って高低し、かつ、そこからフィルタのゲインの減衰或いは増強が開始される基準周波数から、ほぼ一定の傾きをもって減衰或いは増強され、かつ前記傾きが、前記発音すべき楽音の強度が大きくなるのにともなって、大きくなるように変化するフィルタ特性となるように、
予め定められた所定の周波数におけるゲインの減衰或いは増強の最大レベルを第２のパラメータとし、かつ、ゲインのレベルが前記最大レベルから所定の比率となるような周波数である遷移周波数を第１のパラメータとして、前記複数の第１のパラメータのそれぞれについて、第１のパラメータ及び最大レベルが異なる複数の第２のパラメータのそれぞれの組に基づく、フィルタ係数の組を格納する。
【００１８】
また、好ましい実施態様において、前記パラメータ生成手段は、前記発音すべき楽音の周波数が前記オリジナル楽音波形データの周波数より高いときに、前記第２のパラメータを減少させ、前記発音すべき楽音の周波数が前記オリジナル楽音波形データの周波数より低いときに、前記第２のパラメータを増大させる。
【００１９】
別の好ましい実施態様において、前記パラメータ生成手段は、前記発音すべき楽音の周波数と前記オリジナル楽音波形データの周波数との差分値を算出し、当該差分値に基づいて前記第２のパラメータを補正する。
【００２０】
また、別の好ましい実施態様において、前記波形記憶手段には、前記オリジナル楽音波形データが周波数帯域ごとに異なる周波数にて記憶され、前記パラメータ生成手段は、発音すべき楽音の周波数が属する周波数帯域に基づき、前記オリジナル楽音波形データを記憶する際の周波数を特定する。
【００２１】
さらに別の好ましい実施態様においては、前記パラメータ生成手段は、前記発音すべき楽音の周波数と前記オリジナル楽音波形データの周波数との差分に基づいて、前記楽音波形データの強度を制御するアンプエンベロープを補正する。
【００２２】
また、本発明の目的は、発音すべき楽音の周波数及び強度を指定する発音指示手段と、
所定の周波数のオリジナル楽音波形データを記憶した波形記憶手段から、前記発音すべき楽音の周波数と前記所定の周波数とから決定される速度で前記オリジナル楽音波形データを読み出すことにより当該発音すべき楽音の周波数の楽音波形データを生成する楽音波形データ生成手段と、
複数の周波数夫々について、当該周波数に基づく第１のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第２のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
前記発生すべき楽音の周波数及び強度に対応して第１のパラメータ及び第２のパラメータを決定するとともに、前記発音すべき楽音の周波数と、前記オリジナル楽音波形データの周波数との差分に基づいて、前記決定された第２のパラメータを補正するパラメータ生成手段と、
前記パラメータ生成手段により生成される第１のパラメータ及び第２のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して出力するフィルタ係数生成手段と、
前記楽音波形データ生成手段からの楽音波形データに対して、このフィルタ係数生成手段からのフィルタ係数の組により規定されるフィルタ特性に基づくフィルタ処理を施して出力するフィルタ手段と、を備えたことを特徴とする電子楽器により達成される。
【００２３】
また、本発明の目的は、楽音波形データを記憶した波形記憶手段から所定の周波数の楽音波形データを読み出すとともに、ピッチ変更の指示の受信に応答して、その周波数を変更した新たな周波数の楽音波形データを生成する楽音波形データ生成手段と、フィルタ係数の組を出力するフィルタ係数出力手段と、前記楽音波形データ生成手段により生成された楽音波形データに対して、前記フィルタ係数出力手段から出力されたフィルタ係数の組により規定されたフィルタ特性に基づくフィルタ処理を施すフィルタ手段と、を備えた楽音発生装置であって、
前記フィルタ係数出力手段が、複数の周波数夫々について、当該周波数に基づく第１のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベルの夫々に基づく第２のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、前記発生すべき楽音の周波数及び強度に対応して第１のパラメータ及び第２のパラメータを決定するとともに、前記発音中の楽音の周波数とピッチ変更の指示による新たな周波数との差分に基づいて、前記決定された第２のパラメータを補正するパラメータ生成手段と、前記パラメータ生成手段からにより生成される第１のパラメータ及び第２のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して前記フィルタ手段に出力するフィルタ係数生成手段と、を有することを特徴とする楽音発生装置により達成される。
【００２４】
好ましい実施態様においては、前記パラメータテーブルは、
発音すべき楽音の周波数により規定され、その高低に伴って高低し、かつ、そこからフィルタのゲインの減衰或いは増強が開始される基準周波数から、ほぼ一定の傾きをもって減衰或いは増強され、かつ前記傾きが、前記発音すべき楽音の強度が大きくなるのにともなって、大きくなるように変化するフィルタ特性となるように、
予め定められた所定の周波数におけるゲインの減衰或いは増強の最大レベルを第２のパラメータとし、かつ、ゲインのレベルが前記最大レベルから所定の比率となるような周波数である遷移周波数を第１のパラメータとして、前記複数の第１のパラメータのそれぞれについて、第１のパラメータ及び最大レベルが異なる複数の第２のパラメータのそれぞれの組に基づく、フィルタ係数の組を格納する。
【００２５】
また、好ましい実施態様においては、前記パラメータ生成手段は、前記新たな周波数が前記発音中の楽音の周波数より高いときに、前記第２のパラメータを減少させ、前記新たな周波数が前記発音中の楽音の周波数より低いときに、前記第２のパラメータを増大させる。
【００２６】
別の好ましい実施態様においては、前記パラメータ生成手段は、前記新たな周波数と前記発音中の楽音の周波数との差分値を算出し、当該差分値に基づいて前記第２のパラメータを補正する。
【００２７】
さらに別の好ましい実施態様においては、前記パラメータ生成手段は、前記発音中の楽音の周波数と前記新たな周波数との差分に基づいて、前記楽音波形データの強度を制御するアンプエンベロープを補正する。
【００２８】
また、本発明の目的は、発音すべき楽音の周波数及び強度を指定する発音指示手段と、
楽音波形データを記憶した波形記憶手段から所定の周波数の楽音波形データを読み出すとともに、ピッチ変更の指示の受信に応答して、その周波数を変更した新たな周波数の楽音波形データを生成する楽音波形データ生成手段と、
複数の周波数夫々について、当該周波数に基づく第１のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第２のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
前記発生すべき楽音の周波数及び強度に対応して第１のパラメータ及び第２のパラメータを決定するとともに、前記発音中の楽音の周波数とピッチ変更の指示による新たな周波数との差分に基づいて、前記決定された第２のパラメータを補正するパラメータ生成手段と、
前記パラメータ生成手段により生成される第１のパラメータ及び第２のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して出力するフィルタ係数生成手段と、
前記楽音波形データ生成手段からの楽音波形データに対して、このフィルタ係数生成手段からのフィルタ係数の組により規定されるフィルタ特性に基づくフィルタ処理を施して出力するフィルタ手段と、を備えたことを特徴とする電子楽器により達成される。
【発明の効果】
【００２９】
本発明によれば、自然楽器、特に、アコースティックピアノの音色変化と同等の音色変化を実現できる楽音発生装置および電子楽器を提供することが可能となる。
【発明を実施するための最良の形態】
【００３０】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明の実施の形態にかかる電子楽器の概略を示すブロックダイヤグラムである。図１に示すように、電子楽器は、マイクロコンピュータ１、ＲＯＭ（Read  Only  Memory）２、ＲＡＭ（Random  Access  Memory）３、スイッチ類４、タッチ検出回路５、鍵盤６、楽音発生回路７、波形ＲＯＭ８、Ｄ／Ａ変換器（ＤＡＣ）９、増幅回路１０およびスピーカ１１、１２を備えている。マイクロコンピュータ１、ＲＯＭ２、ＲＡＭ３および楽音発生回路７は、データバス１３に接続される。また、タッチ検出回路５はマイクロコンピュータ１に接続される。
【００３１】
マイクロコンピュータ１は、電子楽器全体を制御し、プログラムやデータを格納したＲＯＭ２から、プログラムやデータを読み出して、プログラムを実行する。プログラムの実行にて生成されるデータなどはワークエリアであるＲＡＭ３に記憶される。スイッチ類４は、電子楽器のコンソールパネル上に配置されている。マイクロコンピュータ１は、演奏者によるスイッチ類４の操作を検出する。タッチ検出回路５は、所定のタイミングで鍵盤６に対して走査信号を送出し、各鍵盤６の鍵に配置された２つのスイッチのオンに応答して、演奏操作データ（音高およびタッチレスポンスデータ）を生成して、マイクロコンピュータ１に出力する。本実施の形態において、鍵盤６は８８個の鍵を有し、各鍵には、その長手方向に２つのスイッチが配置され、鍵の押下によってまず第１のスイッチがオンされ、さらに、鍵が押下されることにより第２のスイッチがオンされるようになっている。
【００３２】
マイクロコンピュータ１は、スイッチ類４の操作により指定された音色と、および、タッチ検出回路５から出力されたタッチレスポンスデータおよび音高を含む演奏操作データとに基づき、楽音発生回路７を制御して、所定の楽音を発生させる。楽音発生回路７は、波形ＲＯＭ８から指定された音色の波形データを読み出して、演奏操作データにしたがった音高および音量（ベロシティ）の楽音を生成してＤＡＣ９に出力する。ＤＡＣ９は、楽音発生回路７から出力されたディジタルデータをアナログ信号に変換する。アナログ信号は増幅回路１０を介してスピーカ１１、１２から放音される。
【００３３】
本実施の形態においては、マイクロコンピュータ１は、鍵が押下された際のタッチ検出回路５からの演奏操作データに基づいて、キーオンを検出してノートオン処理を実行して、楽音発生回路７を制御して、楽音を発音させる。また、タッチ検出回路５は、鍵のスイッチのオフに基づき、離鍵された鍵の音高を含む離鍵データをマイクロコンピュータ１に出力する。マイクロコンピュータ１は、離鍵データを受信すると、ノートオフ処理を実行して、楽音発生回路７を制御して、発音中の楽音を減衰させる。図２は、本実施の形態にかかるマイクロコンピュータにおけるノートオン処理、図３は、ノートオフ処理を示すフローチャートである。ここでは、処理の概略について説明し、エンベロープ補正処理については後に詳細に説明する。
【００３４】
図２、３に示すように、システム（電子楽器全体）および楽音発生回路７の初期化の後（ステップ２０１）、マイクロコンピュータ１は、ノートオンおよびノートオフを監視する（ステップ２０２、図３のステップ３０１）。ノートオンがあった場合（ステップ２０２でYes）、マイクロコンピュータ１は、発音可能な空きチャンネルを検出する（ステップ２０３）。なお、本実施の形態において、「ｎ」個の楽音を同時に発音することが可能であり、楽音発生回路７においては、「ｎ」に時分割したチャンネルを有し、それぞれのチャンネルにおいて楽音波形データを生成している。
【００３５】
次いで、マイクロコンピュータ１は、ノートオンにかかる音高（ノートナンバー）が所属する鍵域を算出する（ステップ２０４）。本実施の形態においては、図４に示すように、波形ＲＯＭ８には、複数の鍵ごとに、複数の鍵による鍵域のほぼ中心のノートナンバーのオリジナル波形データが用意され、当該鍵域に含まれるノートナンバーについては、そのオリジナル波形データのピッチを変更して波形データを得るようにしている。たとえば、鍵はＮ個の鍵域に分割される。鍵域ｉには複数の鍵Ｆ４〜Ａ４が含まれ、Ｇ４の音高の波形データが、その鍵域のオリジナル波形データとして波形ＲＯＭ８に格納されている（符号４０１参照）。
【００３６】
マイクロコンピュータ１は、ステップ１８０４で算出された鍵域のオリジナル波形データの波形ＲＯＭ８におけるアドレス、後述するミキサ２４における左右チャンネルへの重みを示すパンニング情報など各種パラメータを楽音発生回路７に転送する（ステップ２０５）。次いで、マイクロコンピュータ１はピッチ処理を実行する（ステップ２０６）。ピッチ処理において、マイクロコンピュータ１は、発音すべき楽音のノートナンバーと、オリジナル波形データのノートナンバーとの差分を算出して、差分値を周波数変更データとして楽音発生回路７に転送する。
【００３７】
また、マイクロコンピュータ１はフィルタ補正処理を実行する（ステップ２０７）。概略的には、フィルタ補正処理においては、マイクロコンピュータ１は、発音すべき楽音のノートナンバーに基づいて、後述する遷移周波数を算出し、かつ、ベロシティデータに基づいて、後述するゲインエンベロープ（第１のエンベロープ）を算出する。また、マイクロコンピュータ１は、発音すべき楽音のノートナンバーとオリジナル波形データのノートナンバーとの差分値に基づいて、ゲインエンベロープを補正して、補正されたゲインエンベロープを、楽音発生回路７に転送する。なお、本実施の形態においては、マイクロコンピュータ１は、ゲインエンベロープの目標値(Target)と、エンベロープの速度（傾き）に相当するレート(rate)を楽音発生回路７に与える。目標値およびレートは、必要なだけ繰り返し、マイクロコンピュータ１から楽音発生回路７に与えられる。
【００３８】
さらに、マイクロコンピュータ１はアンプ補正処理を実行する（ステップ２０８）。概略的には、アンプ補正処理においては、マイクロコンピュータ１は、ベロシティデータに基づいてアンプエンベロープ（第２のエンベロープ）を算出する。また、マイクロコンピュータ１は、発音すべき楽音のノートナンバーとオリジナル波形データのノートナンバーとの差分値に基づいて、アンプエンベロープを補正して、補正されたアンプエンベロープを、楽音発生回路７に転送する。ゲインエンベロープと同様に、アンプエンベロープの目標値(Target)と、エンベロープの速度（傾き）に相当するレート(rate)を楽音発生回路７に与える。
【００３９】
ノートオフがあった場合（ステップ３０１でYes）には、マイクロコンピュータ１は、ノートオフとなったノートナンバーと同一のノートナンバーで発音している発音チャンネルを検索する（ステップ３０２）。次いで、マイクロコンピュータ１は、キーオフ用のフィルタ処理を実行する（ステップ３０３）。ここでは、マイクロコンピュータ１は、キーオフ用ゲインエンベロープを算出し、ノートオフすべきノートナンバーと、オリジナル波形データのノートナンバーとの差分値に基づいて、キーオフ用ゲインエンベロープを補正して、補正されたキーオフ用ゲインエンベロープを、楽音発生回路７に転送する。
【００４０】
また、マイクロコンピュータ１はキーオフ用アンプ補正処理を実行する（ステップ３０４）。キーオフ用アンプ補正処理において、マイクロコンピュータ１は、キーオフ用アンプエンベロープを算出し、ノートオフすべきノートナンバーと、オリジナル波形データのノートナンバーとの差分値に基づいて、キーオフ用アンプエンベロープを補正して、補正されたアンプエンベロープを、楽音発生回路７に転送する。
【００４１】
図５は、本実施の形態にかかる楽音発生回路をより詳細に示すブロックダイヤグラムである。図５に示すように、楽音発生回路７は、インタフェース２０、波形発生回路２１、フィルタ回路２２、乗算回路２３、ミキサ２４、および、フィルタ係数算出回路２６を有している。インタフェース２０、波形発生回路２１、フィルタ回路２２、ミキサ２４およびフィルタ係数算出回路２６は、内部バス２８に接続される。
【００４２】
インタフェース２０は、図１に示すデータバス１３と接続され、楽音発生回路７内の、波形発生回路２１、フィルタ回路２２などの各演算ユニットに、内部バス２８を介して設定データなどを書き込む。
【００４３】
波形発生回路２１は、波形ＲＯＭ８と接続されている。波形発生回路２１は、マイクロコンピュータ１において生成された周波数変更データを受け入れ、波形ＲＯＭ８の所定のアドレスから、ＰＣＭ波形データ（オリジナル波形データ）を読み出して、かつ、周波数変更データに基づいて、ピッチ変更をして、発音すべき楽音の音高（ノートナンバー）の楽音波形データを生成する。
【００４４】
フィルタ係数回路２６は、インタフェース２０を介してマイクロコンピュータ１から与えられた演奏操作信号に基づくパラメータと、マイクロコンピュータ１から与えられた時間変化する、補正されたゲインエンベロープ（第１のエンベロープ）とにしたがってフィルタ係数を算出する。なお、現在のゲインエンベロープは、目標値に到達しない限り、前回の処理の際のゲインエンベロープにマイクロコンピュータ１から与えられたレートを加算することにより得ることができる。第１のエンベロープにより、その周波数特性に変化が与えられるため、フィルタ係数は時間の経過とともに変化する。フィルタ回路２２は、フィルタ係数にしたがって、楽音波形データにフィルタ処理を施す。
【００４５】
乗算器２３は、楽音波形データと、マイクロコンピュータ１から与えられた、時間変化する補正されたアンプエンベロープ（第２のエンベロープ）とを乗算する。アンプエンベロープも、ゲインエンベロープと同様に、目標値に到達しない限り、前回の処理の際のアンプエンベロープにマイクロコンピュータ１から与えられたレートを加算することにより得ることができる。これにより、鍵盤６の鍵のオン・オフにしたがった楽音の立ち上がり、立下りや、タッチレスポンスデータにしたがった音量を制御する。なお、波形発生回路２１、フィルタ回路２２、フィルタ係数算出回路２６および乗算器２３は、最大同時発音数の処理を時分割に行うことによって、鍵盤演奏に十分なチャンネル数（Ｎチャンネル）の楽音を生成することができる。
【００４６】
ミキサ２４は、生成された最大同時発音数のチャンネルの楽音を、それぞれ、パンニング情報にしたがって、所定の重みで累算して、最終的に、左右２つのチャンネルの楽音として配分する。ミキサ２４の出力は、ＤＡＣ９に出力される。
【００４７】
以下、本発明にかかるフィルタ回路２２およびフィルタ係数算出回路２６の概略について説明する。図６は、演奏強弱によるアコースティックピアノの音色フィルタを実現するための理想的なフィルタ特性を説明する図である。図６において縦軸はゲイン、横軸はリニアな周波数を表す。
【００４８】
図６に示すように、理想的なフィルタ特性においては、図１８に示すアコースティックピアノのスペクトラム・エンベロープから類推されるもので、基本波に対する倍音成分が、基本波に基づく一定のポイントからほぼリニアに減衰していくようなものとなっている。また、その傾きは、音量が小さい場合には小さく（つまり右下がりの度合いが大きく：傾きが小さく）、音量が大きくなるにしたがって大きくなる（つまり右下がりの度合いが小さくなり、より水平に近くなる：傾きが大きくなる）。  
以下、基本波に基づいてリニアに減衰し或いは増強を始めるポイント（周波数）を基準周波数、サンプリング周波数ｆｓの１／２の周波数における減衰量（ｄＢ）をゲイン、ゲインに対して所定の比率となるような周波数（本実施の形態においては、ｆｓ／２における減衰量の１／２となるような周波数）を遷移周波数と称する。また、基準周波数からのリニアに減衰し或いは増強する度合いを傾きと称する。傾きは、周波数軸をｘ軸、減衰量をｙ軸とする。したがって、負の減衰量が大きくなるほど、周波数特性における傾きは小さくなり、負の減衰量が０に近づくほど、その傾きは大きくなり０に近づく。正の現推量が大きくなるほど、周波数特性における傾きは大きくなる。
【００４９】
また、本実施の形態において、基本波が変化することにより基準周波数は変化する。また、基準周波数の変化に伴って遷移周波数も一定の規則で変化する。
【００５０】
本実施の形態においては、後述するように、フィルタ回路は、基本波に基づいて変化する遷移周波数と、フィルタの深さを示すゲインとによって制御される。これによって、アコースティックピアノの実際の音色変化とほぼ同様な、基本波に対する高調波成分の制御を実現する。
【００５１】
なお、本実施の形態においては、高調波成分を減衰させるだけでなく、増強する場合も考えている。これは、波形ＲＯＭ８のＰＣＭデータからの音色をより広範囲に変化させるためである。このような特性を実現するには、ＦＩＲ（Finite Impulse Response：有限インパルス応答）フィルタが適する。しかしながら、ＦＩＲフィルタは演算量が多く、大規模なハードウェアを要する。そこで、本実施の形態においては、図６に示す理想のフィルタ特性に近似した特性を、低次のＩＩＲ（Infinite
Impulse Resonance：無限インパルス応答）フィルタで実現し、フィルタ係数を、理想のフィルタ特性とほぼ同等となるように制御している。
【００５２】
上述したようなフィルタ特性を有するフィルタを得るためには、様々な方法が考えられるが、演算量を最小限にするために、一次ＩＩＲフィルタでの近似を試み、それを拡張することにより、理想に近い周波数特定を得た。まず、一次ＩＩＲフィルタの伝達関数を（２）式と考える。
【００５３】
【数２】
2008076440.tif 000004
（２）式において、最大ゲイン（つまり、サンプリング周波数ｆｓの１／２の周波数での最大ゲインをＡ）とすると、Ａは、（３）式のように表すことができる。
【００５４】
【数３】
2008076440.tif 000005
また、遷移周波数ｆ０のときに、最大ゲインの１／２のゲインとなるとすると、（４）式が導き出される。
【００５５】
【数４】
2008076440.tif 000006
上記（３）式および（４）式を解くと、係数ｂ、ｃは（５）式および（６）式に示すようになる。
【００５６】
【数５】
2008076440.tif 000007
【００５７】
【数６】
2008076440.tif 000008
したがって、（２）式に示す一次ＩＩＲフィルタの係数ｂ、ｃは、最大ゲインＡおよび遷移周波数ｆ０とから、（５）式および（６）式に示すように求めることができる。なお、上記（５）式からフィルタ係数には２通りのセットが存在するが、その係数範囲から制御しやすい方を選択すればよい。
【００５８】
一次ＩＩＲフィルタは、その減衰特性が穏やか過ぎる。そこで、本実施の形態においては、遷移周波数の異なる２つの一次フィルタＩＩＲを直列に接続し、二次ＩＩＲフィルタとすることにより、より理想フィルタに近似したフィルタ特性を得ている。（７）式は、一次ＩＩＲフィルタを直列に接続した二次ＩＩＲフィルタの伝達関数を示す図である。
【００５９】
【数７】
2008076440.tif 000009
図７は、ある遷移周波数で、ゲインを変更したときの二次ＩＩＲフィルタの特性を示す。図７に示す特性は、図６に示す理想的な特性に近似していることが理解できる。なお、本実施の形態においては、二次ＩＩＲフィルタにより理想フィルタを近似しているが、フィルタの次数を上げることにより、その特性を、さらに理想フィルタの特性と近似させることが可能である。
【００６０】
図８は、図７に示すフィルタ特性を実現するための、二次のフィルタ係数を示すグラフである。なお、横軸は負のゲインのレベルを表す。レベル１は、最も負のレベルが大きい（つまり、傾きが最小である）ようなゲインを表し、レベル０は、最も負のレベルが小さい（つまり、傾きが０である）ようなゲインを表す。このように、本実施の形態においては、レベル１〜９のそれぞれにおいて、フィルタ係数ｂ、ｃ、ｄ、ｅおよびｆが決定される。
【００６１】
正のゲインに対するフィルタ係数は、上記（７）式の分母と分子を入れ替えることにより算出できる（（８）式参照）。
【００６２】
【数８】
2008076440.tif 000010
したがって、負のゲインの係数のｂ〜ｆをそれぞれ、
ｂ：ｅ／ｄ、ｃ：ｆ／ｄ、ｄ：１／ｄ、ｅ：ｂ／ｄ、ｆ：ｃ／ｄ
と入れ替えることにより、正のゲイン特性のフィルタ係数を得ることができる。
【００６３】
本実施の形態においては、このフィルタ係数を演算により算出するのではなく、遷移周波数およびゲインをアドレスとするテーブル（パラメータテーブル）をフィルタ係数算出回路２６に設け、テーブルからデータ値を取り出し、さらにそのデータ値を補間することにより、適切なフィルタ係数を算出するようにしている。
【００６４】
図９は、本実施の形態におけるフィルタ特性およびパラメータテーブルを説明するための図である。図９（ａ）は、ある基準周波数ｆ１に基づく遷移周波数Ｆ１のときのフィルタ特性を示す図である。先に述べたように、基本波の周波数にしたがって基準周波数ｆ１は決定される。たとえば、基準周波数は基本波とほぼ同じとしても良いし、基本波の所定倍数の周波数としても良い。図９（ａ）に示すように、単一の遷移周波数Ｆ１について、複数の傾きを有するフィルタ特性が考えられる。図９（ａ）の例では、負の特性（減衰する特性）として小さい方からゲインのレベルＧ１１、Ｇ１２、・・・Ｇ１ｉ（＝減衰「０」）、正の特性として、Ｇ１（ｉ＋１）、・・・Ｇ１（２ｉ−１）が示されている。また、基本波が異なることに伴って、基準周波数がｆ１からｆ２（ｆ１＜ｆ２）に変化した場合を考えると、図９（ｂ）に示すように、基準周波数の変更にともなって、遷移周波数Ｆ２は変更される。また、ゲインのレベルＧ２１、Ｇ２２、・・・、Ｇ２ｉ、・・・、Ｇ２（２ｉ−１）も変更され得る。
【００６５】
たとえば、図９（ａ）では、単一の遷移周波数Ｆ１について、２ｉ−１個のレベルが存在する。したがって、この例では、遷移周波数Ｆ１とあるレベルとの組み合わせについて、１つのフィルタ係数の組（ｂ、ｃ、ｄ、ｅ、ｆ）が存在する。つまり、２ｉ−１個のレベルがあれば、２ｉ−１個のフィルタ係数の組が存在する。図９（ｂ）についても同様である。したがって、遷移周波数がｎ種類存在すれば、ｎ×（レベルの数（図９の例では、（２ｉ−１））個のフィルタ係数の組が存在しえる。
【００６６】
遷移周波数ごとに各ゲインのフィルタ係数のセットを保持すると、膨大な大きさ（遷移周波数の設定数×ゲインの設定数×フィルタ係数の種類（５））のテーブルを用意する必要がある。そこで、遷移周波数の設定数およびゲインの設定数を限定して、これらの組み合わせに応じた一連のフィルタ係数を格納したテーブルのみを用意し、遷移周波数およびゲインの双方について補間（二次元の補間）を実現することで、テーブルのサイズを小さくし、かつ、フィルタ係数の適切化を実現している。
【００６７】
以下、本実施の形態にかかるフィルタ係数算出回路２６およびフィルタ回路２２の構成についてより詳細に説明する。
【００６８】
図１０は、本実施の形態にかかるフィルタ係数算出回路の構成を示すブロックダイヤグラムである。図１０に示すように、フィルタ係数算出回路２６は、インタフェース３１、加算器３２〜３４、パラメータテーブル３５、補間回路３６およびレジスタ３７〜４１を備える。また、図１０には示していないが、フィルタ係数算出回路２６は、所定のタイミングで、パラメータテーブル３５へのアドレス信号のインクリメント信号Ｘ１、Ｙ１、および、パラメータテーブル３５の選択信号ＳＥＬを出力する制御回路を有している。
【００６９】
インタフェース３１は、楽音発生回路７の内部バス２８に接続され、マイクロコンピュータ１からインタフェース２０を介して送信される２種類のパラメータ、つまり、遷移周波数データＦ［１５：０］およびゲインデータＧ［１５：０］を受信して保持し、フィルタ算出回路２６内に出力する。遷移周波数データＦは、上述した遷移周波数に相当し、ゲインデータＧが、上記ゲインに相当する。ゲインデータＧ［１５：０］は加算器３２に与えられる。加算器３２にはもう一方の入力として、経時的に変化する第１のエンベロープが与えられる。したがって、加算器から出力されるゲインデータＧ［１５：０］は、第１のエンベロープに基づいて、その値が時間の経過に伴って変化する。
【００７０】
ゲインデータＧ［１５：０］のうちＧ［１５：１２］が加算器３３に与えられる。また、遷移周波数データＦ［１５：０］のうちＦ［１５：１３］が加算器４５に与えられる。加算器３３、３４においては、必要に応じて所定のタイミングでインクリメント信号「１」が加算され、パラメータテーブル３５のアドレスとして出力される。加算器３３においては、Ｇ［１５：１２］の出力の次のタイミングで、インクリメント信号Ｘ１を加算することで、連続するアドレス（Ｇ［１５：１２］＋１）を出力することができる。また、加算器３４においても、Ｆ［１５：１３］の出力の次のタイミングで、インクリメント信号Ｙ１を加算することで、連続するアドレス（Ｆ［１５：１３］＋１）を出力することができる。
【００７１】
パラメータテーブル３５の下位アドレスＡ［４：０］には、加算器３３からの信号が与えられ、その次に上位のアドレスＡ［８：５］には、加算器３４からの信号が与えられる。さらに、最上位アドレスＡ［１１：９］には制御回路（図示せず）からの選択信号ＳＥＬが与えられる。
【００７２】
本実施の形態において、パラメータテーブル３５には、９種類の遷移周波数×１７種類のゲイン（８種類のマイナスのゲイン、ゲイン「０」、および、９種類のプラスのゲイン）×５種類のフィルタ係数を記憶する。したがって、パラメータテーブル３５は、９×１７×５＝７６５ワードのフィルタ数を記憶している。
【００７３】
遷移周波数については、上位３ビット（８種類）の値を下位１３ビットで補間するため、９種類のアドレスが用意される。また、ゲインについては、上位４ビット（１６種類）の値を、下位１２ビットで補完するため、１７種類のアドレスが用意される。また選択信号ＳＥＬは、５種類の係数ｂ〜ｆの何れかを選択するために使用される。
【００７４】
パラメータテーブル３５の出力、つまり補間前のフィルタ係数の組は、補間回路３６に与えられる。また、遷移周波数データの下位データＦ［１２：０］およびゲインデータの下位データＧ［１１：０］も補間回路３６に与えられる。補間回路３６においては、５種類の補間後のフィルタ係数ｂ〜ｆが算出されて出力される。レジスタ３７〜４１は、順次出力される補間後のフィルタ係数ｂ〜ｆをそれぞれ保持する。
【００７５】
図１１は、本実施の形態にかかる補間回路をより詳細に示すブロックダイヤグラムである。図１１に示すように、補間回路３６は、レジスタ５１〜５４、減算器５５、乗算器５６、加算器５７、レジスタ５８、減算器６５、乗算器６６、加算器６７、レジスタ６８、減算器７０、乗算器７１、および、加算器７２を有している。
【００７６】
減算器５５により、レジスタ５１の出力から、レジスタ５１の出力を減算した差分値が算出され、この差分値と、ゲインデータの下位データＧ［１１：０］とが乗算器５６において乗算され、乗算値は加算器５７に出力される。加算器５７は、乗算値と、レジスタ５１からの出力とを加算し、加算された値が、レジスタ５８に記憶される。
【００７７】
同様に、減算器６５により、レジスタ５３の出力から、レジスタ５４の出力を減算した差分値が算出され、この差分値と、ゲインデータの下位データＧ［１１：０］とが乗算器６６において乗算され、乗算値は加算器６７に出力される。加算器６７は、乗算値と、レジスタ５３からの出力とを加算し、加算された値が、レジスタ６８に記憶される。
【００７８】
さらに、減算器７０において、レジスタ５８の出力から、レジスタ６８の出力を減算した差分値が算出され、この差分値と、遷移周波数データの下位データＦ［１２：０］とが乗算器７１において乗算され、乗算値は加算器７２に出力される。加算器７２は、乗算値と、レジスタ５８からの出力とを加算する。加算器７２からの出力が、補間されたフィルタ係数となる。
【００７９】
図１２は、本実施の形態にかかるフィルタ回路の概略を示すブロックダイヤグラムである。図１２に示すように、フィルタ回路２２は、加算器８０，８８、乗算器８１、８２、８５、８６、８７、および、遅延回路８３、８４を有する。乗算器８１、８２、８５、８６、８７のそれぞれに、フィルタ係数算出回路２２にて算出されたフィルタ係数ｂ、ｃ、ｄ、ｅ、ｆが与えられ、乗算器のそれぞれの入力に印加される信号とフィルタ係数とが乗算される。
【００８０】
以下、本実施の形態にかかる二次元の補間について説明する。図１３は、本実施の形態にかかる二次元補間を説明する図である。説明の便宜のため、ｘ＝Ｇ［１５：１２］、ｄｘ＝Ｇ［１１：０］、ｙ＝Ｆ［１５：１３］、ｄｙ＝Ｆ［１２：０］とする。図１１のレジスタ５１〜５４には、以下の値が格納される。
【００８１】
レジスタ５１：ｏ［ｘ，ｙ］（なお、ｏ［ｘ，ｙ］は、アドレスｘｙでのパラメータテーブル３５の出力を表す。）
レジスタ５２：ｏ［ｘ＋１，ｙ］
レジスタ５３：ｏ［ｘ，ｙ＋１］
レジスタ５４：ｏ［ｘ＋１，ｙ＋１］
減算器５５により、レジスタ５２の出力ｏ［ｘ＋１，ｙ］からレジスタ５１の出力ｏ［ｘ，ｙ］が減算され、かつ、乗算器５６により、減算値とｄｘとが乗算される。その後、加算器５７により、乗算値とｏ［ｘ，ｙ］とが加算されてレジスタ５８に格納される。したがって、レジスタ５８には以下のような値が格納される。
【００８２】
レジスタ５８：ｏ［ｘ，ｙ］＋（ｏ［ｘ＋１，ｙ］−ｏ［ｘ，ｙ］）＊ｄｘ
＝ｏ［ｘ＋ｄｘ，ｙ］  
図１３に示すように、これは、ｏ［ｘ，ｙ］とｏ［ｘ＋１，ｙ］との間をｄｘに基づいて直線補間したものに相当する。
【００８３】
また、減算器６５により、レジスタ５４の出力ｏ［ｘ＋１，ｙ＋１］からレジスタ５３の出力ｏ［ｘ，ｙ＋１］が減算され、かつ、乗算器６６により、減算値とｄｘとが乗算される。その後、加算器６７により、乗算値とｏ［ｘ，ｙ＋１］とが加算されてレジスタ５８に格納される。したがって、レジスタ６８には以下のような値が格納される。
【００８４】
レジスタ６８：ｏ［ｘ，ｙ＋１］＋
（ｏ［ｘ＋１，ｙ＋１］−ｏ［ｘ，ｙ＋１］）＊ｄｘ
＝ｏ［ｘ＋ｄｘ，ｙ＋１］  
図１３に示すように、これは、ｏ［ｘ，ｙ＋１］とｏ［ｘ＋１，ｙ＋１］との間をｄｘに基づいて直線補間したものに相当する。
【００８５】
さらに、減算器７０により、レジスタ６８の出力ｏ［ｘ＋ｄｘ，ｙ＋１］からレジスタ５８の出力ｏ［ｘ＋ｄｘ，ｙ］が減算され、かつ、乗算器７１により、減算値とｄｙとが乗算される。その後、加算器７２により、乗算値とｏ［ｘ＋ｄｘ，ｙ］とが加算されて出力される。したがって、出力値は以下のようなものとなる。
【００８６】
出力値：ｏ［ｘ＋ｄｘ，ｙ］＋
（ｏ［ｘ＋ｄｘ，ｙ＋１］−ｏ［ｘ＋ｄｘ，ｙ］）＊ｄｙ
＝ｏ［ｘ＋ｄｘ，ｙ＋ｄｙ］
図１３に示すように、出力値は、ｏ［ｘ＋ｄｘ，ｙ］とｏ［ｘ＋ｄｘ，ｙ＋１］との間をｄｙに基づいて補間したものに相当する。したがって、得られた出力値は、ｄｘ、ｄｙに基づく二次元の補間値となる。
【００８７】
本実施の形態については、選択信号ＳＥＬを順次変更して、パラメータテーブル３５から、フィルタ係数ｂ、ｃ、ｄ、ｅ、ｆの補間前の値を出力することで、補間回路３６において、ｂ、ｃ、ｄ、ｅ、ｆの補間値が生成され出力される。
【００８８】
図１４は、フィルタ係数算出の際のタイミングチャートである。図１４において、Ｒ０〜Ｒ５は、それぞれ、図１１のレジスタ５１〜５４、５８、６８に対応し、Ｂ〜Ｆは、それぞれ、図１０のレジスタ３７〜４１に相当する。
【００８９】
図１４において、信号Ｘ１より、アドレスＡ［４：０］が、「ｘ」或いは「ｘ＋１」に切り替えられ、また、信号Ｙ１により、アドレスＡ［８：５］が、「ｙ」或いは「ｙ＋１」に切り替えられる。また、選択信号ＳＥＬにより、アドレスＡ［９：１１］が変更される。最初のＹ１の一周期（符号１４０１参照）では、選択信号ＳＥＬは、「ｂ」を示すものであり、したがって、最初のＹ１の周期でパラメータテーブル３５に与えられる４種類のアドレスによって、フィルタ係数ｂに関するｏ［ｘ，ｙ］、ｏ［ｘ＋１，ｙ］、ｏ［ｘ，ｙ＋１］およびｏ［ｘ＋１，ｙ＋１］が出力され、それがＲ０〜Ｒ３に格納される。
【００９０】
Ｒ０、Ｒ１にそれぞれ格納されたｏ［ｘ，ｙ］、ｏ［ｘ＋１，ｙ］に基づいて、ｏ［ｘ＋ｄｘ，ｙ］が算出されて、これがＲ４に格納される。また、Ｒ２、Ｒ３にそれぞれ格納されたｏ［ｘ，ｙ＋１］およびｏ［ｘ＋１，ｙ＋１］に基づいて、ｏ［ｘ＋ｄｘ，ｙ＋１］が算出されて、これがＲ５に格納される。Ｒ４およびＲ５に格納されたｏ［ｘ＋ｄｘ，ｙ］およびｏ［ｘ＋ｄｘ，ｙ＋１］に基づいて、フィルタ係数ｂについての補間後の値ｂ［ｘ＋ｄｘ，ｙ＋ｄｙ］が算出されて、これがＢに格納される。
【００９１】
同様に、選択信号ＳＥＬが、「ｃ」、「ｄ」、「ｅ」および「ｆ」を示す場合には、最終的に、フィルタ係数ｃ〜ｆのそれぞれの補間後の値ｃ［ｘ＋ｄｘ，ｙ＋ｄｙ］、ｄ［ｘ＋ｄｘ，ｙ＋ｄｙ］、ｅ［ｘ＋ｄｘ，ｙ＋ｄｙ］およびｆ［ｘ＋ｄｘ，ｙ＋ｄｙ］が算出されて、算出された値は、それぞれＣ〜Ｆに格納される。
【００９２】
次に、図２および図３を参照して説明したフィルタ補正処理（ステップ２０７）およびアンプ補正処理（ステップ２０８）についてより詳細に説明する。上述したように、本実施の形態においては、音高（ノートナンバー）により遷移周波数が決定され、かつ、ベロシティデータによりレベルが決定される。さらに、フィルタ係数算出回路２６において、レベルには、時間の経過とともに変化する補正されたゲインエンベロープ（第１のエンベロープ）が加算されている。
【００９３】
以下、補正されたゲインエンベロープの目標値をGainEnvelopeTarget’、ベロシティデータに基づくゲインエンベロープの目標値をGainEnvelopeTarget、オリジナル波形データのノートナンバーをOriginalKey、ノートオンすべきノートナンバーをNoteNoとすると、GainEnvelopeTarget’は、以下のように表される。
【００９４】
GainEnvelopeTarget’＝GainEnvelopeTarget−Gsence＊（NoteNo−OriginalKey）
ここに、Gsenseは、補正感度データであり、どの程度、エンベロープを変化させるかを表すものであり、適当な値に設定される。
【００９５】
上記補正式によれば、発音すべき楽音のノートナンバーが、オリジナル波形データのノートナンバーより高ければ、補正により、ゲインエンベロープのレベルは小さくなる。つまり、Gsense以降が正であるため、GainEnvelopeTargetが減算される。その一方、発音すべき楽音のノートナンバーが、オリジナル波形データのノートナンバーより低ければ、ゲインエンベロープのレベルは大きくなる。つまり、Gsense以降が負であるため、GainEnvelopeTargetが加算される。
【００９６】
このように、本実施の形態においては、発音すべき楽音のノートナンバーがオリジナル波形のノートナンバーより高い場合、つまり、補正なしでは、ピッチの変更によりスペクトルが図２３（ｂ）のようになる場合には、高次倍音のレベルがより低くなるように、補正されたゲインエンベロープGainEnvelopeTarget’を算出する。これに対して、発音すべき楽音のノートナンバーがオリジナル波形のノートナンバーより低い場合、つまり、補正なしでは、ピッチ変更によりスペクトルが図２２（ｂ）のようになる場合には、高次倍音のレベルがより高くなるように、補正されたゲインエンベロープGainEnvelopeTarget’を算出する。
【００９７】
なお、ゲインエンベロープは、時間の経過とともに変化するため、補正されたゲインエンベロープデータも時間の経過とともに変化する時系列データとなる。
【００９８】
本実施の形態においては、ゲインエンベロープを調整することにより、フィルタのパラメータの１つであるゲインを調整して音色を補正する（フィルタ補正処理）一方、ピッチ変更に伴う音量の変化をアンプエンベロープの補正により調整している（アンプ補正処理）。
【００９９】
以下、補正されたアンプエンベロープの目標値をAmpEnvelopeTarget’、ベロシティデータに基づくアンプエンベロープの目標値をAmpEnvelopeTarget、オリジナル波形データのノートナンバーをOriginalKey、ノートオンすべきノートナンバーをNoteNoとすると、AmpEnvelopeTarget’は、以下のように表される。
【０１００】
AmpEnvelopeTarget’＝AmpEnvelopeTarget−Asence＊（NoteNo−OriginalKey）
ここに、Asenseは、Gsenseと同様に、補正感度データであり、どの程度、エンベロープを変化させるかを表すものであり、適当な値に設定される。
【０１０１】
このように、アンプエンベロープの補正においても、発音すべき楽音のノートナンバーが、オリジナル波形データのノートナンバーより高ければ、補正により、アンプエンベロープのレベルは小さくなり、音量をより小さくするように補正される。その一方、発音すべき楽音のノートナンバーが、オリジナル波形データのノートナンバーより低ければ、アンプエンベロープのレベルは大きくなり、音量はより大きくなるように補正される。
【０１０２】
ノートオフ時のフィルタ補正処理（ステップ３０３）およびアンプ補正処理（ステップ３０４）についても同様である。フィルタ補正処理においては、GainEnvelopeTargetとしてキーオフ用ゲインエンベロープを用いればよい。アンプ処理においても、AmpEnvelopTargetとして、キーオフ用アンプエンベロープを用いればよい。
【０１０３】
本実施の形態によれば、遷移周波数およびゲインに基づいてフィルタ係数を出力するパラメータテーブルを設け、パラメータテーブルを利用したフィルタ係数によりフィルタ回路を制御している。遷移周波数は発音すべき楽音の基本波の周波数に基づくものであり、かつ、ゲインは、その減衰の程度（または増強の程度）を示す。したがって、直感的な理解が容易なパラメータによって、また、複雑な演算を行うことなく、アコースティック楽器、特に、アコースティックピアノのフィルタ特性にきわめて近似したフィルタ特性を有するディジタルフィルタを実現することが可能となる。
【０１０４】
また、本実施の形態によれば、発音すべき楽音の音高（ノートナンバー）と波形ＲＯＭから読み出されたオリジナル波形データの音高（ノートナンバー）との差分に基づいて、ゲインを増大させ、或いは、減少させることで、基本波に対する高次倍音のレベルを調整している。本実施の形態によれば、オリジナル波形データのピッチの変更の際のフォルマントを補正し、ピッチが変更された場合であってもフォルマントが変わらないようにすることができる。
【０１０５】
次に、本発明の第２の実施の形態について説明する。図１５に示すように、第２の実施の形態にかかる電子楽器は、第１の実施の形態の構成に加えて、ベンダーボリューム１４を備えている。ベンダーボリューム１４は、マイクロコンピュータ１に内蔵されるＡ／Ｄコンバータ（図示せず）の入力端子に接続されており、そのボリューム値がＡ／Ｄコンバータによりディジタル値に変換され、マイクロコンピュータ１は、ディジタル化されたボリューム値に基づいて発音中の楽音のピッチを変更するための処理を実行する。なお、ボリューム値に基づく発音中の楽音のピッチ変更処理（以下、「ベンダー処理」と称する。）は、ピッチ変更による不連続感が感じられない程度の周期で実行される。
【０１０６】
図１６は、第２の実施の形態にかかるベンダー処理を示すフローチャートである。ベンダー処理は、上述したように所定の周期で実行される割り込み処理である。図１６に示すように、ベンダーボリュームのボリューム値を取り込み（ステップ１６０１）、前回の処理時の値と比較して、変化があったか否かを判断する（ステップ１６０２）。変化があった場合には（ステップ１６０２でYes）、ボリューム値と、ベンドレンジデータとからピッチ変化量を算出し、算出されたピッチ変化量にしたがってピッチデータを生成して楽音発生回路７に転送する（ステップ１６０３）。なお、ベンドレンジデータとは、ベンダーをフルスケールで動かしたときのピッチの変更範囲を示すものであり、ＲＡＭ３に記憶されている。
【０１０７】
次いで、マイクロコンピュータ１は、先に算出されたピッチ変化量から、ゲインエンベロープ（第１のエンベロープ）を補正し、補正されたゲインエンベロープを、レートとともに、楽音発生回路７に転送する（ステップ１６０４）。
【０１０８】
補正されたゲインエンベロープの目標値をGainEnvelopeTarget’、ベロシティデータに基づくゲインエンベロープの目標値をGainEnvelopeTarget、ピッチ変化量をPitchChangeとすると、GainEnvelopeTarget’は、以下のように表される。
【０１０９】
GainEnvelopeTarget’＝GainEnvelopeTarget−Gsence＊PitchChange
ここに、Gsenseは、補の感度データであり、どの程度、エンベロープを変化させるかを表すものであり、ピッチ変化量に応じて適当な値に設定される。なお、ピッチ変化量は、ピッチ変化後の新たな周波数（新たなピッチデータの周波数）から発音中の楽音の周波数を引いた差分値であり、前記新たな周波数が前記発音中の楽音の周波数より高いときに正となる。したがって、この場合に、補正されたゲインエンベロープは、もとのエンベロープから減少する。その一方、ピッチ変化量は、新たな周波数が発音中の楽音の周波数より低いときに負となる。したがって、この場合には、補正されたゲインエンベロープは、もとのエンベロープより増大する。
【０１１０】
また、マイクロコンピュータ１は、ピッチ変化量から、アンプエンベロープ（第２のエンベロープ）を補正し、補正されたアンプエンベロープを、レートとともに、楽音発生回路７に転送する（ステップ１６０５）。
【０１１１】
以下、補正されたアンプエンベロープの目標値をAmpEnvelopeTarget’、ベロシティデータに基づくアンプエンベロープの目標値をAmpEnvelopeTarget、ピッチ変化量をPitchChangeとすると、AmpEnvelopeTarget’は、以下のように表される。
【０１１２】
AmpEnvelopeTarget’＝AmpEnvelopeTarget−Asence＊PitchChange
ここに、Asenseは、Gsenseと同様に、補正感度データであり、どの程度、エンベロープを変化させるかを表すものであり、ピッチ変化量に応じて適当な値に設定される。
【０１１３】
このように、ベンダーボリュームの操作に伴って発音中の楽音のピッチが変更される場合にも、ピッチ変化量に基づいて、ゲインエンベロープおよびアンプエンベロープを補正する。したがって、発音中の楽音のピッチが変更されるときであっても、フォルマントが変わらないようにすることができ、不自然な音色等の変化を防止することが可能となる。
【０１１４】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【０１１５】
なお、前記第１の実施の形態において、補正されたゲインエンベロープを算出するために、発音すべき楽音のノートナンバーと、オリジナル波形データのノートナンバーとの差分値を、元のゲインエンベロープに加算（減算）している。しかしながら、このような演算に限定されず、発音すべき楽音のノートナンバーとオリジナル波形データのノートナンバーとの比や、差分値に基づく比を算出し、ゲインエンベロープを比に基づいて（たとえば乗算して）変化させても良い。アンプエンベロープの補正についても同様である。
【０１１６】
また、前記実施の形態において、マイクロコンピュータから楽音発生回路に関して、ゲインエンベロープ（第１のエンベロープ）の目標値およびレートが与えられ、また、アンプエンベロープ（第２のエンベロープ）の目標値およびレートが与えられている。したがって、楽音発生回路７では、目標値に到達するまでレートにしたがってそれぞれのエンベロープを補間するようになっている。しかしながらこのような構成に限定されるものではない。
【図面の簡単な説明】
【０１１７】
【図１】図１は、本発明の第１の実施の形態にかかる電子楽器の概略を示すブロックダイヤグラムである。
【図２】図２は、本実施の形態にかかるマイクロコンピュータにおけるノートオン処理を示すフローチャートである。
【図３】図３は、本実施の形態にかかるマイクロコンピュータにおけるノートオフ処理を示すフローチャートである。
【図４】図４は、本実施の形態にかかる鍵域を説明するための図である。
【図５】図５は、本実施の形態にかかる楽音発生回路をより詳細に示すブロックダイヤグラムである。
【図６】図６は、演奏強弱によるアコースティックピアノの音色フィルタを実現するための理想的なフィルタ特性を説明する図である。
【図７】図７は、ある遷移周波数で、ゲインを変更したときの二次ＩＩＲフィルタの特性を示す。
【図８】図８は、図７に示すフィルタ特性を実現するための、二次のフィルタ係数を示すグラフである。
【図９】図９は、本実施の形態におけるフィルタ特性およびパラメータテーブルを説明するための図である。
【図１０】図１０は、本実施の形態にかかるフィルタ係数算出回路の構成を示すブロックダイヤグラムである
【図１１】図１１は、本実施の形態にかかる補間回路をより詳細に示すブロックダイヤグラムである。
【図１２】図１２は、本実施の形態にかかるフィルタ回路の概略を示すブロックダイヤグラムである。
【図１３】図１３は、本実施の形態にかかる二次元補間を説明する図である。
【図１４】図１４は、本実施の形態にかかるフィルタ係数算出の際のタイミングチャートである。
【図１５】図１５は、本発明の第２の実施の形態にかかる電子楽器の概略を示すブロックダイヤグラムである。
【図１６】図１６は、本実施の形態にかかるマイクロコンピュータにおけるベンダー処理を示すフローチャートである。
【図１７】図１７（ａ）、（ｂ）は、アコースティックピアノの波形を示すグラフである。
【図１８】図１８（ａ）、（ｂ）は、図１７（ａ）、（ｂ）のそれぞれの波形から算出されたスペクトルを示すグラフである。
【図１９】図１９は、図１８（ａ）、（ｂ）に示すスペクトルから抽出したスペクトラム・エンベロープを示す図である。
【図２０】図２０は、従来の帰還形二次フィルタにおいて、パラメータとしてｆｃを変更したときのフィルタ特性を示すグラフである。
【図２１】図２１（ａ）、（ｂ）はオリジナル波形データの例およびそのスペクトルを示す図である。
【図２２】図２２（ａ）、（ｂ）は、オリジナル波形データを、その周波数をオリジナル周波数の１／２倍として読み出したときの波形データおよびそのスペクトルを示す図である。
【図２３】図２３（ａ）、（ｂ）は、オリジナル波形データを、その周波数をオリジナル周波数の２倍として読み出したときの波形データおよびそのスペクトルを示す図である。
【符号の説明】
【０１１８】
１      マイクロコンピュータ
２      ＲＯＭ
３      ＲＡＭ
４      スイッチ類
５      タッチ検出回路
６      鍵盤
７      楽音発生回路
８      波形ＲＯＭ
９      ＤＡＣ
１０    増幅回路
１１、１２  スピーカ
２０    インタフェース
２１    波形発生回路
２２    フィルタ回路
２３    乗算器
２４    ミキサ
２６    フィルタ係数算出回路
【図１】
2008076440.tif 000011
【図２】
2008076440.tif 000012
【図３】
2008076440.tif 000013
【図４】
2008076440.tif 000014
【図５】
2008076440.tif 000015
【図９】
2008076440.tif 000016
【図１０】
2008076440.tif 000017
【図１１】
2008076440.tif 000018
【図１２】
2008076440.tif 000019
【図１３】
2008076440.tif 000020
【図１４】
2008076440.tif 000021
【図１５】
2008076440.tif 000022
【図１６】
2008076440.tif 000023
【図１７】
2008076440.tif 000024
【図１８】
2008076440.tif 000025
【図１９】
2008076440.tif 000026
【図６】
2008076440.tif 000027
【図７】
2008076440.tif 000028
【図８】
2008076440.tif 000029
【図２０】
2008076440.tif 000030
【図２１】
2008076440.tif 000031
【図２２】
2008076440.tif 000032
【図２３】
2008076440.tif 000033