(57)【要約】【課題】効果的にフィルタ特性を切り替える。【解決手段】電子楽器１は、組をなす複数のフィルタ係数に応じたフィルタ特性を有するフィルタ処理部６３と、複数のフィルタ係数を算出するフィルタ係数算出部６２とを有する。フィルタ係数算出部６２では、複数のフィルタ係数が、始点値の係数組から終点値の係数組まで次第に変化させて逐次更新され、複数のフィルタ係数が係数組１から係数組２まで変化した場合又は変化している場合であって、係数組１及び係数組１のいずれとも異なる係数組３への複数のフィルタ係数の変更を指示されたときに、当該指示されたときの複数のフィルタ係数が始点値の係数組として設定されとともに、係数組３が終点値の係数組として設定される。【選択図】図６
2020160101.tif 000002
【特許請求の範囲】
【請求項１】
組をなす複数のフィルタ係数に応じたフィルタ特性を有する特性可変フィルタと、
前記複数のフィルタ係数を、始点値の係数組から終点値の係数組まで次第に変化させて逐次更新するフィルタ係数更新手段と、
前記フィルタ係数更新手段により前記複数のフィルタ係数が第１係数組から第２係数組まで変化した場合又は変化している場合であって、前記第１係数組及び前記第２係数組に対応するフィルタ特性とは異なる他のフィルタ特性への切り替えが指示されたときに、当該指示されたときの複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記他のフィルタ特性に対応する第３係数組を終点値の係数組として設定するフィルタ係数設定手段と、を備える、
音響効果付与装置。
【請求項２】
前記第３係数組は、前記第１係数組、前記第２係数組、及び前記第１係数組から前記第２係数組への変化途中の係数組のいずれとも異なる、
請求項１に記載の音響効果付与装置。
【請求項３】
所定の数値区間を時間的に変化するパラメータを生成するパラメータ生成手段を備え、
前記フィルタ係数更新手段は、前記パラメータに基づいて、前記複数のフィルタ係数を前記始点値の係数組と前記終点値の係数組との間で補間処理する、
請求項１又は請求項２に記載の音響効果付与装置。
【請求項４】
前記パラメータは、前記フィルタ係数更新手段により変化させる複数のフィルタ係数が、前記始点値の係数組と前記終点値の係数組のいずれに近いかの割合を指定するものであり、
前記フィルタ係数更新手段は、前記パラメータが指定する割合となるように、前記複数のフィルタ係数を前記始点値の係数組と前記終点値の係数組との間で補間処理する、
請求項３に記載の音響効果付与装置。
【請求項５】
前記フィルタ係数設定手段は、前記パラメータが前記数値区間の終値に到達したときに、その時点での複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記第３係数組を終点値の係数組として設定し、
前記パラメータ生成手段は、前記パラメータが前記数値区間の終値に到達したときに、当該パラメータの生成を停止させる、
請求項３又は請求項４に記載の音響効果付与装置。
【請求項６】
前記フィルタ係数設定手段は、前記フィルタ係数更新手段により前記複数のフィルタ係数が第１係数組から第２係数組まで変化している途中に、前記他のフィルタ特性への切り替えが指示されたときに、当該指示されたときの複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記第３係数組を終点値の係数組として設定する、
請求項３又は請求項４に記載の音響効果付与装置。
【請求項７】
ユーザ操作に基づいて、前記第３係数組に対応するフィルタ特性への切り替えを指示する切替指示手段を備え、
前記フィルタ係数設定手段は、前記切替指示手段によりフィルタ特性の切り替えが指示されたときに、その時点での複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記第３係数組を終点値の係数組として設定し、
前記パラメータ生成手段は、前記切替指示手段によりフィルタ特性の切り替えが指示されたときに、前記パラメータの生成を停止させる、
請求項６に記載の音響効果付与装置。
【請求項８】
前記複数のフィルタ係数を算出するフィルタ係数算出手段を備え、
前記フィルタ係数算出手段は、
前記複数のフィルタ係数を逐次更新し、前記フィルタ係数更新手段として機能する係数更新状態と、
前記指示されたときの複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに前記第３係数組を終点値の係数組として設定し、前記フィルタ係数設定手段として機能する係数保持状態と、
に切り替え可能に構成されている、
請求項１から請求項７のいずれか一項に記載の音響効果付与装置。
【請求項９】
請求項１から請求項８のいずれか一項に記載の音響効果付与装置を備える電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響効果付与装置及び電子楽器に関するものである。
【背景技術】
【０００２】
従来、時間的に変化させたフィルタ係数を連続的にデジタルフィルタ装置に与えることにより、種々の音色の楽音信号を生成可能な電子楽器が知られている（例えば、特許文献１参照）。この種の電子楽器では、時間的に変化するエンベロープ信号をパラメータとして、複数のフィルタ係数を変化させていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３２１７７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術では、エンベロープ信号を所定区間で変化させることで、２つのフィルタ特性の間を行き来させることしかできず、より効果的にフィルタ特性の切り換えを行うことが難しかった。
【０００５】
本発明は以上のような事情に鑑みてなされたものであり、効果的にフィルタ特性を切り替えることができる音響効果付与装置及び電子楽器を提供することを利点とするものである。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明は、音響効果付与装置であって、
組をなす複数のフィルタ係数に応じたフィルタ特性を有する特性可変フィルタと、
前記複数のフィルタ係数を、始点値の係数組から終点値の係数組まで次第に変化させて逐次更新するフィルタ係数更新手段と、
前記フィルタ係数更新手段により前記複数のフィルタ係数が第１係数組から第２係数組まで変化した場合又は変化している場合であって、前記第１係数組及び前記第２係数組に対応するフィルタ特性とは異なる他のフィルタ特性への切り替えが指示されたときに、当該指示されたときの複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記他のフィルタ特性に対応する第３係数組を終点値の係数組として設定するフィルタ係数設定手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、効果的にフィルタ特性を切り替えることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態における電子楽器の概略構成を示すブロック図である。
【図２】実施形態における音源部及び効果付与部の具体構成を示すブロック図である。
【図３】実施形態における信号処理部の構成を示すブロック図である。
【図４】実施形態におけるフィルタ処理部の回路構成例を示すブロック図である。
【図５】実施形態におけるフィルタ係数算出部の回路構成例を示すブロック図である。
【図６】実施形態におけるフィルタ係数算出処理の流れを示すフローチャートである。
【図７】実施形態におけるフィルタ係数の遷移を説明するための図である。
【図８】実施形態におけるワウ効果のフィルタ特性例を示すグラフである。
【発明を実施するための形態】
【０００９】
図１から図８を参照しつつ、本発明に係る音響効果付与装置及びこれを備える電子楽器の一実施形態について説明する。
なお、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【００１０】
図１は、本実施形態における電子楽器１の概略構成を示すブロック図である。
この図に示すように、電子楽器１は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、鍵盤２１、操作部２２、ペダル２３、音源部３０、効果付与部４０、Ｄ／Ａ変換器（ＤＡＣ）５１、増幅回路５２及びスピーカ５３を備えている。このうち、Ｄ／Ａ変換器５１、増幅回路５２及びスピーカ５３を除く各部は、データバス１４を介して相互に接続されている。
【００１１】
ＣＰＵ１１は、電子楽器１全体を制御し、各種のプログラムやデータを格納したＲＯＭ１２からプログラムやデータを読み出して、プログラムを実行する。プログラムの実行により生成されるデータなどは、ワークエリアであるＲＡＭ１３に記憶される。
鍵盤２１、操作部２２及びペダル２３は、ユーザ（演奏者）の操作を受け付ける部分である。操作部２２及びペダル２３は、ユーザによる鍵盤２１への押鍵操作によって発生した楽音への変化内容を指示する。これら鍵盤２１、操作部２２及びペダル２３は、操作された内容に対応する信号（演奏操作情報）をＣＰＵ１１に出力する。ＣＰＵ１１は、鍵盤２１、操作部２２及びペダル２３からの演奏操作情報に基づいて、音源部３０に発音指令を出す。
【００１２】
音源部３０は、ＣＰＵ１１からの発音指令に基づいて、ＲＯＭ１２又はＲＡＭ１３から波形データを取得して楽音データを生成し、効果付与部４０に出力する。
効果付与部４０は、ＤＳＰ（Digital Signal Processor）で構成され、音源部３０で生成された楽音データに対してユーザ操作に基づく所定の音響効果を付与し、Ｄ／Ａ変換器５１に出力する。
Ｄ／Ａ変換器５１は、効果付与部４０から出力されたデジタル信号の楽音データをアナログ信号に変換する。アナログ信号に変換された楽音データは、増幅回路５２を介して左右一対のスピーカ５３から放音される。
【００１３】
図２は、音源部３０及び効果付与部４０の具体構成を示すブロック図である。
この図に示すように、音源部３０では、発音数に対応するｎチャネルの各々において、波形生成部（ＷＧ）３１により演奏操作情報に対応する楽音波形データが生成され、この楽音波形データに対して時変フィルタ（ＴＶＦ）３２によるフィルタ処理と時変アンプ（ＴＶＡ）３３によるアンプエンベロープ処理とが行われる。こうして生成されたｎチャネル分の楽音データは、ミキサ３４により、左右２チャネル×２組の系統毎に所定の重み付けの後に累算され、効果付与部４０に出力される。
【００１４】
効果付与部４０は、第１信号処理部４１及び第２信号処理部４２の２つの信号処理部６０を有している。２つの信号処理部６０は、音源部３０から個別に出力された楽音データに対し、所定の音響効果を付与する処理を実行する。本実施形態では、第１信号処理部４１がインサーションやシステムエフェクト、第２信号処理部４２が終段のマスターエフェクトを行う。２つの信号処理部６０で処理された楽音データは、最終的に左右２つのチャネルの楽音データとしてＤ／Ａ変換器５１に出力される。
【００１５】
信号処理部６０は、楽音データに対して所定のフィルタ処理を施すものである。本発明に係る音響効果付与装置は、少なくとも信号処理部６０とＣＰＵ１１を含んで構成される。
なお、本発明に係る音響効果付与装置は、効果付与部４０の信号処理部６０だけでなく、音源部３０の時変フィルタ３２にも適用可能である。時変フィルタ３２は、時分割処理する場合にはハードウェアロジックで実装され、効果付与部４０の信号処理部６０は、ＤＳＰや高速ＣＰＵなどで実装されるのが一般的である。しかし、この実装形態は特に限定されず、それぞれに適した構成を選択することができる。
【００１６】
図３は、信号処理部６０の構成を示すブロック図である。
この図に示すように、信号処理部６０は、各々データバス１４に接続されたエンベロープ生成部６１、フィルタ係数算出部６２、フィルタ処理部６３を備えている。
【００１７】
エンベロープ生成部６１は、時間変化するエンベロープ信号（coef_eg：図５参照）を生成する。本実施形態のエンベロープ信号は、０から１の間で変化する。このエンベロープ信号は、サンプリング周期毎にレート値を順次加算して更新していくことで生成される。なお、エンベロープ生成は、ハードウェア構成により実現してもよいし、ＣＰＵ１１などの制御装置が逐次行うこととしてもよい。また、このエンベロープ生成は、サンプリング周期よりも遅い生成周期であってもよい。
【００１８】
フィルタ係数算出部６２は、ＣＰＵ１１から入力される演奏操作情報に基づくパラメータと、エンベロープ生成部６１で生成されたエンベロープ信号とに基づいて、組をなす複数のフィルタ係数（後述のｂ０、ｂ１、ｂ２、ａ１、ａ２）を算出する。各フィルタ係数は、時間変化するエンベロープ信号により、時間の経過とともに変化する。
このフィルタ係数の算出処理の詳細については、後述する。
【００１９】
フィルタ処理部６３は、複数のフィルタ係数に応じたフィルタ特性のフィルタ処理を、楽音データに施す。
図４は、フィルタ処理部６３の回路構成例を示すブロック図である。
この図に示すように、フィルタ処理部６３は、本実施形態においては一般的なバイカッドフィルタである。なお、図４に示すものは標準的な２次フィルタであり、多次フィルタを用いる場合はこれを適宜組合せればよい。
具体的に、フィルタ処理部６３は、加算器７１ａ〜７１ｄ、乗算器７２ａ〜７２ｅ、遅延器７３ａ〜７３ｄを有する。このフィルタ処理部６３では、乗算器７２ａ〜７２ｅのそれぞれに、フィルタ係数算出部６２で算出されたフィルタ係数が与えられ、乗算器７２ａ〜７２ｅの各々に入力される信号とフィルタ係数とが乗算される。
以下では、フィルタ係数を、ｂ０（EQ_B0）、ｂ１（EQ_B1）、ｂ２（EQ_B2）、ａ１（EQ_A1）、ａ２（EQ_A2）とし、これらを１つの係数組とする。
【００２０】
図５は、フィルタ係数算出部６２の回路構成例を示すブロック図である。
この図に示すように、フィルタ係数算出部６２は、フィルタ処理部６３のサンプリング周期と同周期で動作し、複数のフィルタ係数を算出してフィルタ処理部６３に出力する。具体的に、フィルタ係数算出部６２は、５つのフィルタ係数（ｂ０、ｂ１、ｂ２、ａ１、ａ２）を個別に算出する５つの演算ブロック８０（８０ａ〜８０ｅ）を有している。
各演算ブロック８０は、係数テーブル８１、切替器８２、８３、減算器８４、乗算器８５、加算器８６、レジスタ８７〜８９を有している。
【００２１】
係数テーブル８１は、フィルタ処理部のフィルタ特性に対応した各フィルタ係数の始点値と終点値を、予め複数セット記憶している。この係数テーブル８１は、ＲＯＭ１２又はＲＡＭ１３から読み出された始点値と終点値が動作の度に一時記憶されることとしてもよいし、当該係数テーブル８１自体がＲＯＭ１２又はＲＡＭ１３に記憶されていることとしてもよい。
５つの演算ブロック８０における５つの係数テーブル８１（８１ａ〜８１ｅ）から、始点値の係数組と終点値の係数組とが読み出される。本実施形態では、始点値の係数組１を｛ｂ１０、ｂ１１、ｂ１２、ａ１１、ａ１２｝とし、終点値の係数組２を｛ｂ２０、ｂ２１、ｂ２２、ｂ２１、ｂ２２｝とする。ここで、係数のアルファベットに続く最初の数字は始点値か終点値か（１が始点値、２が終点値）を意味し、２番目の数字は係数の次数を意味する。
【００２２】
切替器８２、８３は、演算ブロック８０（フィルタ係数算出部６２）の処理動作を、エンベロープ信号の変化に伴ってフィルタ係数が更新される係数更新状態（切替器８２、８３が図５の実線の状態）と、フィルタ係数が保持される係数保持状態（切替器８２、８３が図５の破線の状態）とに切り替える。
これら切替器８２、８３は、後述するように、エンベロープ信号が終値に到達した場合、または、操作部２２若しくはペダル２３に対する所定のユーザ操作が行われた場合に、切り替わるようになっている。エンベロープ信号の終値とは、エンベロープ信号が０から１に向かって変化している場合には１を、その逆の方向に変化している場合には０を指す。
【００２３】
フィルタ係数算出部６２が係数更新状態（切替器８２、８３が図５の実線の状態）の場合には、レジスタ８７に始点値と終点値の差分値が保持され、レジスタ８８に始点値が保持される。レジスタ８７の差分値は乗算器８５でエンベロープ信号coef_egと乗算されたうえで、レジスタ８８の始点値と加算され、レジスタ８９に保持される。
これにより、フィルタ係数算出部６２からフィルタ処理部６３に出力される５つのフィルタ係数は、次の式（１）〜（５）のようになる。
EQ_B0 ＝ ｂ１０ ＋ coef_eg ×（ｂ２０−ｂ１０）          ・・・（１）
EQ_B1 ＝ ｂ１１ ＋ coef_eg ×（ｂ２１−ｂ１１）          ・・・（２）
EQ_B2 ＝ ｂ１２ ＋ coef_eg ×（ｂ２２−ｂ１２）          ・・・（３）
EQ_A1 ＝ ａ１１ ＋ coef_eg ×（ａ２１−ａ１１）          ・・・（４）
EQ_A2 ＝ ａ１２ ＋ coef_eg ×（ａ２２−ａ１２）          ・・・（５）
【００２４】
このように、エンベロープ信号は、５つのフィルタ係数が、始点値の係数組１と終点値の係数組２とのいずれに近いかの割合を指定するパラメータであり、係数更新状態では、このエンベロープ信号が指定する割合となるように、５つのフィルタ係数が始点値の係数組１と終点値の係数組２との間で補間処理される。こうして、フィルタ係数の始点値と終点値がエンベロープ信号を用いて補間されることにより、フィルタ係数が始点値から終点値まで次第に変化しつつ逐次更新される。つまり、フィルタ係数が始点値と終点値の間で動的に更新される。
なお、本実施形態では、始点値と終点値の間を直線補間した場合を例に挙げて説明したが、この補間手法は直線補間に限定されない。例えば、始点値と終点値に個別に係数を割り当てて別途計算したりしてもよい。
【００２５】
一方、フィルタ係数算出部６２が係数保持状態（切替器８２、８３が図５の破線の状態）の場合には、レジスタ８９のフィルタ係数がその時点での値に保持されるとともに、このフィルタ係数が始点値としてレジスタ８８に保持され、レジスタ８７の差分値にも反映される。
【００２６】
続いて、フィルタ係数算出部６２で実行されるフィルタ係数算出処理について説明する。
図６は、フィルタ係数算出処理の流れを示すフローチャートである。
【００２７】
フィルタ係数算出処理は、ＣＰＵ１１が所定のプログラムを読み出して展開することで実行されるフィルタ処理の一環として実行される。
なお、以下では、その時点での各フィルタ係数を用いて所定の周期でフィルタ処理が実行されているものとする。また、フィルタ処理の初期状態として、フィルタ係数算出部６２が係数更新状態であるものの、エンベロープ信号の生成がオフ（信号がゼロ）とされ、始点値の係数組でフィルタ処理が行われているものとする。
【００２８】
図６に示すように、フィルタ処理が実行されると、まずＣＰＵ１１は、エンベロープ生成部６１がエンベロープ信号の生成動作を行っているか否かを判定する（ステップＳ１）。
【００２９】
このステップＳ１において、エンベロープ信号の生成動作が行われていると判定した場合（ステップＳ１；Ｙｅｓ）、ＣＰＵ１１は、エンベロープ信号の強制到達指示が入力されたか否かを判定する（ステップＳ２）。
強制到達指示とは、例えば操作部２２又はペダル２３に対する所定のユーザ操作が行われた場合に、そのときの始点値及び終点値に対応するフィルタ特性とは異なるフィルタ特性への切り替えの指示であって、エンベロープ信号の生成を停止させてそのときの各フィルタ係数を保持させる指示である。ＣＰＵ１１は、当該ユーザ操作を検知したときに、エンベロープ信号の強制到達指示が入力されたと判定する。
そして、エンベロープ信号の強制到達指示が入力されたと判定した場合（ステップＳ２；Ｙｅｓ）、ＣＰＵ１１は、後述のステップＳ９へ処理を移行する。また、エンベロープ信号の強制到達指示が入力されていないと判定した場合には（ステップＳ２；Ｎｏ）、ＣＰＵ１１は、後述のステップＳ６へ処理を移行する。
【００３０】
一方、ステップＳ１において、エンベロープ信号の生成動作が行われていないと判定した場合（ステップＳ１；Ｎｏ）、ＣＰＵ１１は、フィルタ係数算出部６２の係数保持状態を解除するか否かを判定する（ステップＳ３）。
そして、係数保持状態を解除しないと判定した場合（ステップＳ３；Ｎｏ）、ＣＰＵ１１は、後述のステップＳ１２へ処理を移行する。このとき、フィルタ係数算出部６２が係数更新状態であった場合には、ＣＰＵ１１は、切替器８２、８３を動作させて係数保持状態に切り替える。
【００３１】
また、ステップＳ３において、フィルタ係数算出部６２の係数保持状態を解除すると判定した場合（ステップＳ３；Ｙｅｓ）、ＣＰＵ１１は、このときのエンベロープ信号の値をクリアして初期値に戻すとともに、フィルタ係数算出部６２の各フィルタ係数の終点値を係数テーブル８１から読み出して所定の値に設定した後、切替器８２、８３を切り替えて係数更新状態とする（ステップＳ４）。ただし、フィルタ係数算出部６２がすでに係数保持状態であった場合には、係数保持状態をそのまま維持する。また、例えば後述のステップＳ１１における各フィルタ係数の始点値の変更がなされなかった場合など、すでに設定されている各フィルタ係数の終点値を変更する必要がないときには、当該終点値をそのまま維持する。新たに設定される終点値は、ユーザ操作に基づいて、それへの切り替えが指示されたフィルタ特性に対応するものである。
なお、このステップでは、エンベロープ信号の値を初期値に戻さなくともよく、終値に到達していた場合にはこの終値を初期値としたり（つまり、変化の方向を反転させる）、０〜１の区間の中間値であった場合にはこの中間値を保持したりしてもよい。
それから、ＣＰＵ１１は、エンベロープ生成部６１によるエンベロープ信号の生成動作を開始させる（ステップＳ５）。
【００３２】
次に、エンベロープ生成部６１が、エンベロープ信号の更新処理を行い、そのときのエンベロープ信号coef_egにレート値を加算してその値を進める（ステップＳ６）。
そして、フィルタ係数算出部６２が、更新されたエンベロープ信号の値を用い、上述の式（１）〜（５）により各フィルタ係数を算出して更新する（ステップＳ７）。
【００３３】
次に、ＣＰＵ１１は、エンベロープ信号が終値に到達したか否かを判定する（ステップＳ８）。
そして、エンベロープ信号が終値に到達していないと判定した場合（ステップＳ８；Ｎｏ）、ＣＰＵ１１は、後述のステップＳ１２へ処理を移行する。
一方、このステップＳ８において、エンベロープ信号が終値に到達したと判定した場合には（ステップＳ８；Ｙｅｓ）、ＣＰＵ１１は、次のステップＳ９に処理を移行する。
【００３４】
次に、ＣＰＵ１１は、エンベロープ生成部６１によるエンベロープ信号の生成動作を停止する（ステップＳ９）。
【００３５】
次に、ＣＰＵ１１は、このときの各フィルタ係数を保持するか否かを判定する（ステップＳ１０）。
各フィルタ係数を保持するか否かの判定内容は、ユーザ操作に基づいて設定される。例えば、エンベロープ信号の終値への到達回数に基づいて、又は楽音データの特徴やその変化に基づいて、各フィルタ係数が保持される。後者の具体例としては、例えば楽音データが転調される場合などにワウ等のフィルタのピーク周波数位置が調に合ったものとなるようにフィルタ設定を調整したり、楽音データの拍子が例えば４拍子の場合に１拍目とそれ以外とでピーク位置を変えてビート感が出るようにしたりすることが挙げられる。
そして、各フィルタ係数を保持しないと判定した場合には（ステップＳ１０；Ｎｏ）、ＣＰＵ１１は、後述のステップＳ１２へ処理を移行する。
【００３６】
また、ステップＳ１０において、各フィルタ係数を保持すると判定した場合（ステップＳ１０；Ｙｅｓ）、ＣＰＵ１１は、フィルタ係数算出部６２の切替器８２、８３を切り替えて係数保持状態とし、これにより、各フィルタ係数をその時点での値に保持するとともに、この保持した各フィルタ係数を始点値として設定する（ステップＳ１１）。
【００３７】
次に、ＣＰＵ１１は、フィルタ係数算出処理を終了させるか否かを判定し（ステップＳ１２）、終了させないと判定した場合には（ステップＳ１２；Ｎｏ）、上述のステップＳ１へ処理を移行する。
一方、例えばユーザ操作などに基づいて、フィルタ係数算出処理を終了させると判定した場合（ステップＳ１２；Ｙｅｓ）、ＣＰＵ１１は、フィルタ係数算出処理を終了させる。
【００３８】
続いて、上述したフィルタ係数算出処理について、具体的な動作例を挙げて説明する。
本動作例では、エンベロープ信号が０〜１の区間において、ワウ効果となるフィルタ係数が割り当てられた場合について説明する。
図７は、フィルタ係数の遷移を説明するための図であり、図８は、ワウ効果のフィルタ特性例を示すグラフである。
【００３９】
まず、エンベロープ信号が終値に到達してフィルタ係数が切り替わる場合の動作例について説明する。
ユーザが、鍵盤２１で演奏しつつワウ効果の割り当てられた操作部２２又はペダル２３を操作するなどして、フィルタ係数算出処理が実行されると、エンベロープ信号の生成動作が開始される（ステップＳ１；Ｎｏ、Ｓ３；Ｙｅｓ、Ｓ４、Ｓ５）。
すると、エンベロープ信号の変化に伴って各フィルタ係数も順次更新されていき（ステップＳ６、Ｓ７、Ｓ８；Ｎｏ、Ｓ１２；Ｎｏ、Ｓ１；Ｙｅｓ、Ｓ２；Ｎｏ、Ｓ６、Ｓ７）、遂にはエンベロープ信号が終値に到達して、当該エンベロープ信号の生成が停止される（ステップＳ８；Ｙｅｓ、Ｓ９）。
【００４０】
ここで、例えばワウ効果が割り当てられた操作部２２のモジュレーションホイールの操作回数に応じてフィルタ特性が切り替わるように設定されていた場合（つまり、当該操作回数が所定回数に達したときに、始点値の係数組１及び終点値の係数組２に対応するフィルタ特性とは異なる他のフィルタ特性へ切り替わるよう指示されていた場合）、この操作回数に対応するエンベロープ信号の終値への到達回数が所定回数に達するまでは、各フィルタ係数は保持されず（ステップＳ１０；Ｎｏ、Ｓ１２；Ｎｏ）、同じように各フィルタ係数の更新が繰り返される。
【００４１】
これにより、図７（ａ）及び図８に示すように、各フィルタ係数は始点値の係数組１から終点値の係数組２に向かって順次変化するようにして係数組１と係数組２の間を繰り返し遷移する。フィルタ特性も、これら係数組１と係数組２に対応した特性の間で繰り返し変化する。
なお、このときには、エンベロープ信号の到達時にその値をクリアせずに変化の方向を反転させることで、係数組１と係数組２とで始点値と終点値が交互に切り替わるようにしてもよい（図７（ａ）の一点鎖線参照）。
【００４２】
そして、エンベロープ信号の終値への到達回数が所定回数に達すると、その時点での係数組２の各フィルタ係数が保持されるとともに、当該係数組２の各フィルタ係数が始点値に設定される（ステップＳ１０；Ｙｅｓ、Ｓ１１）。
それから、各フィルタ係数の終点値が、係数組１，係数組２，及び係数組１から係数組２への変化途中の係数組のいずれとも異なる係数組３（切り替えが指示された上記の他のフィルタ特性に対応する係数組）のものに設定されて、エンベロープ信号の生成動作が開始されると（ステップＳ１２；Ｎｏ、Ｓ１；Ｎｏ、Ｓ３；Ｙｅｓ、Ｓ４、Ｓ５）、上述の場合と同様に、エンベロープ信号の変化に伴って各フィルタ係数が係数組３に向かって順次更新されていく。
【００４３】
このように、各フィルタ係数は、始点値が係数組１から係数組２に、終点値が係数組２から係数組３に変更されて、係数組２から係数組３に向かって遷移する。フィルタ特性も、これら係数組２と係数組３に対応した特性の間で変化する。
これにより、ワウ効果用の各フィルタ係数を順次切り替えることができ、ひいては、発音を維持したまま、フィルタ特性を順次更新することができる。
【００４４】
続いて、エンベロープ信号の強制到達指示によりフィルタ特性が切り替わる場合の動作例について説明する。
まず、上述の動作例と同様にして、ユーザ操作によりフィルタ係数算出処理が実行されると、各フィルタ係数が始点値の係数組１から終点値の係数組２に向かって順次変化する。
【００４５】
そして、例えばフィルタ特性の切替機能が割り当てられた操作部２２のスイッチをユーザが操作すると、この操作によりエンベロープ信号の強制到達指示が入力され（ステップＳ１；Ｙｅｓ、Ｓ２；Ｙｅｓ）、このときの各フィルタ係数が保持されるとともに、当該各フィルタ係数が始点値に設定される（ステップＳ９、Ｓ１０；Ｙｅｓ、Ｓ１１）。
それから、各フィルタ係数の終点値が、切り替えが指示されたフィルタ特性に対応する係数組３のものに設定されて、エンベロープ信号の生成動作が開始されると（ステップＳ１２；Ｎｏ、Ｓ１；Ｎｏ、Ｓ３；Ｙｅｓ、Ｓ４、Ｓ５）、上述の動作例と同様に、エンベロープ信号の変化に伴って各フィルタ係数が係数組３に向かって順次更新されていく。
【００４６】
こうして、図７（ｂ）に示すように、各フィルタ係数は、係数組１から係数組２への遷移中にその途中の値が始点値とされて、これらの係数組とは異なる係数組３に向かって遷移する。
これにより、フィルタ特性の変化の途中であっても、さらに別のフィルタ特性に切り替えることができる。
【００４７】
以上のように、本実施形態によれば、各フィルタ係数が係数組１から係数組２まで変化した場合又は変化している場合であって、係数組１及び係数組２に対応するフィルタ特性とは異なる他のフィルタ特性への切り替えが指示されたときに、当該指示されたときの各フィルタ係数が始点値の係数組として設定されるとともに、他のフィルタ特性に対応する係数組３が終点値の係数組として設定される。
これにより、係数組１に対応するフィルタ特性から係数組２に対応するフィルタ特性への変化後又は変化中に、これらとは異なる係数組３に対応したフィルタ特性への切り替えを行うことができる。
したがって、２つのフィルタ特性の間の行き来しかできなかった従来に比べ、効果的にフィルタ特性を切り替えることができる。
【００４８】
また、本実施形態によれば、フィルタ係数の変更を指示されたときにその時点での各フィルタ係数が保持されるので、フィルタ係数の遷移中の状態からでも別のフィルタ係数の状態に遷移させることができ、従来よりも自由度の高いフィルタ動作を行うことができる。
また、フィルタ係数の切り替えにクロスフェード機構や遅延メモリを用いる必要がない。
【００４９】
また、本実施形態によれば、各フィルタ係数の補間処理を行うための１つのエンベロープ信号に基づいて、係数組２から係数組３へ遷移させるフィルタ係数の設定を行うことにより、各フィルタ係数にエンベロープ信号を設定する場合と異なり、フィルタ係数の遷移タイミングがずれたりすることがない。
【００５０】
なお、以上本発明の実施形態について説明したが、本発明は、かかる実施形態に限定されず、その要旨を逸脱しない範囲で、種々変形が可能であることは言うまでもない。
【００５１】
例えば、上記実施形態では、フィルタ係数算出部６２の状態が、エンベロープ信号及びユーザ操作（強制到達指示）に基づいて係数更新状態と係数保持状態とに切り替わるものとしたが、この状態切替のトリガーは、エンベロープ信号及びユーザ操作のいずれか一方のみであってもよい。
【００５２】
また、上記実施形態では、ＣＰＵ１１を主たる制御主体として記載したが、これに限定されず、例えば効果付与部４０のプロセッサがそのうち少なくとも一部の制御を行うこととしてもよい。
【００５３】
また、上記実施形態では、本発明を、鍵盤を備える電子楽器に適用した場合について説明したが、本発明を適用可能な電子楽器は特に限定されない。
さらに言えば、本発明は電子楽器への適用に限定されず、本発明に係る音響効果付与装置は、例えばフィルタ系のエフェクターなどにも好適に適用可能である。
【００５４】
以上本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
＜請求項１＞
組をなす複数のフィルタ係数に応じたフィルタ特性を有する特性可変フィルタと、
前記複数のフィルタ係数を、始点値の係数組から終点値の係数組まで次第に変化させて逐次更新するフィルタ係数更新手段と、
前記フィルタ係数更新手段により前記複数のフィルタ係数が第１係数組から第２係数組まで変化した場合又は変化している場合であって、前記第１係数組及び前記第２係数組に対応するフィルタ特性とは異なる他のフィルタ特性への切り替えが指示されたときに、当該指示されたときの複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記他のフィルタ特性に対応する第３係数組を終点値の係数組として設定するフィルタ係数設定手段と、を備える、
音響効果付与装置。
＜請求項２＞
前記第３係数組は、前記第１係数組、前記第２係数組、及び前記第１係数組から前記第２係数組への変化途中の係数組のいずれとも異なる、
請求項１に記載の音響効果付与装置。
＜請求項３＞
所定の数値区間を時間的に変化するパラメータを生成するパラメータ生成手段を備え、
前記フィルタ係数更新手段は、前記パラメータに基づいて、前記複数のフィルタ係数を前記始点値の係数組と前記終点値の係数組との間で補間処理する、
請求項１又は請求項２に記載の音響効果付与装置。
＜請求項４＞
前記パラメータは、前記フィルタ係数更新手段により変化させる複数のフィルタ係数が、前記始点値の係数組と前記終点値の係数組のいずれに近いかの割合を指定するものであり、
前記フィルタ係数更新手段は、前記パラメータが指定する割合となるように、前記複数のフィルタ係数を前記始点値の係数組と前記終点値の係数組との間で補間処理する、
請求項３に記載の音響効果付与装置。
＜請求項５＞
前記フィルタ係数設定手段は、前記パラメータが前記数値区間の終値に到達したときに、その時点での複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記第３係数組を終点値の係数組として設定し、
前記パラメータ生成手段は、前記パラメータが前記数値区間の終値に到達したときに、当該パラメータの生成を停止させる、
請求項３又は請求項４に記載の音響効果付与装置。
＜請求項６＞
前記フィルタ係数設定手段は、前記フィルタ係数更新手段により前記複数のフィルタ係数が第１係数組から第２係数組まで変化している途中に、前記他のフィルタ特性への切り替えが指示されたときに、当該指示されたときの複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記第３係数組を終点値の係数組として設定する、
請求項３又は請求項４に記載の音響効果付与装置。
＜請求項７＞
ユーザ操作に基づいて、前記第３係数組に対応するフィルタ特性への切り替えを指示する切替指示手段を備え、
前記フィルタ係数設定手段は、前記切替指示手段によりフィルタ特性の切り替えが指示されたときに、その時点での複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに、前記第３係数組を終点値の係数組として設定し、
前記パラメータ生成手段は、前記切替指示手段によりフィルタ特性の切り替えが指示されたときに、前記パラメータの生成を停止させる、
請求項６に記載の音響効果付与装置。
＜請求項８＞
前記複数のフィルタ係数を算出するフィルタ係数算出手段を備え、
前記フィルタ係数算出手段は、
前記複数のフィルタ係数を逐次更新し、前記フィルタ係数更新手段として機能する係数更新状態と、
前記指示されたときの複数のフィルタ係数を保持しつつ始点値の係数組として設定するとともに前記第３係数組を終点値の係数組として設定し、前記フィルタ係数設定手段として機能する係数保持状態と、
に切り替え可能に構成されている、
請求項１から請求項７のいずれか一項に記載の音響効果付与装置。
＜請求項９＞
請求項１から請求項８のいずれか一項に記載の音響効果付与装置を備える電子楽器。
【符号の説明】
【００５５】
１      電子楽器
１１    ＣＰＵ
３０    音源部
４０    効果付与部
６０    信号処理部
６１    エンベロープ生成部
６２    フィルタ係数算出部
６３    フィルタ処理部
８０    演算ブロック
８１    係数テーブル
８２    切替器
８３    切替器
８７    レジスタ
８８    レジスタ
８９    レジスタ
ｃｏｅｆ＿ｅｇ  エンベロープ信号
【図１】
2020160101.tif 000003
【図２】
2020160101.tif 000004
【図３】
2020160101.tif 000005
【図４】
2020160101.tif 000006
【図５】
2020160101.tif 000007
【図６】
2020160101.tif 000008
【図７】
2020160101.tif 000009
【図８】
2020160101.tif 000010