(57)【要約】【課題】フィルタ特性の変更時に生じる不自然さを解消するフィルタ特性変更装置を提供する。【解決手段】残響アルゴリズムに基づき残響音のランダムな反射や分散をシミュレートする回路要素として機能する複数の遅延巡回フィルタ（オールパスフィルタ又はコムフィルタ）に、少なくとも１つの予備を含ませておき、リバーブ・タイプの切り替えに応じて、複数の中で使用中の遅延巡回フィルタを１つづつ、パラメータ設定された未使用の遅延巡回フィルタにクロスフェードで切り替える処理を、複数に含まれる遅延巡回フィルタの個数に相当する回数分繰り返すことによって所望の残響特性へ滑らかに切り替える結果、フィルタ特性の変更時に生じる不自然さを解消することが可能になる。【選択図】図８
2018155799.tif 000002
【特許請求の範囲】
【請求項１】
複数のフィルタを含み、指定された特性を形成する特性形成部と、
前記特性形成部が形成する特性の変更を指示する変更指示部と、
前記変更指示部からの指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なうクロスフェード処理部と、
を具備することを特徴とするフィルタ特性変更装置。
【請求項２】
前記クロスフェード処理部は、前記変更指示部からの変更指示に応じて、変更指示前の特性の形成に使用中のフィルタを前記第１のフィルタとし、変更指示された特性に対応させた未使用のフィルタを前記第２のフィルタとして、前記特性に寄与するフィルタが前記第１のフィルタから前記第２のフィルタに切り替わるように、前記クロスフェード処理を行なう
ことを特徴とする請求項１に記載のフィルタ特性変更装置。
【請求項３】
前記特性形成部は、少なくとも１つの予備を含む複数のフィルタから構成され、
前記切り替え処理部は、前記変更指示部からの変更指示に応じて、変更指示前の特性の形成に使用中のフィルタを前記第１のフィルタとし、前記予備のフィルタに対して変更指示された特性に対応するパラメータを設定した後、前記予備のフィルタを前記第２のフィルタとして、前記特性に寄与するフィルタが前記第１のフィルタから前記第２のフィルタに切り替わるように、前記クロスフェード処理を行なう
ことを特徴とする請求項１又は２に記載のフィルタ特性変更装置。
【請求項４】
前記変更指示部は、異なる複数の特性の中から前記特性形成部に設定すべき特性を選択して特性変更を指示し、
前記切り替え処理部は、前記予備のフィルタに対して前記変更指示部により選択された特性に対応するパラメータを設定した後、前記予備のフィルタを前記第２のフィルタとして、前記特性に寄与するフィルタが前記第１のフィルタから前記第２のフィルタに切り替わるように、前記クロスフェード処理を行なう
ことを特徴とする請求項１乃至３の何れかに記載のフィルタ特性変更装置。
【請求項５】
前記特性形成部は、少なくとも１つの予備を含む複数の遅延巡回フィルタから構成され、所定の残響特性を形成し、
前記変更指示部は、前記特性形成部の残響特性の変更を指示し、
前記切り替え処理部は、前記変更指示部からの変更指示に応じて、前記特性形成部を構成する複数の遅延巡回フィルタの内、変更指示前の残響特性の形成に使用中の遅延巡回フィルタを、変更指示された残響特性に対応させた未使用の遅延巡回フィルタにクロスフェードで切り替える
ことを特徴とする請求項１乃至４の何れかに記載のフィルタ特性変更装置。
【請求項６】
前記特性形成部は、循環部と遅延部を備えるとともに信号の遅延時間を可変することが可能な遅延巡回フィルタと、前記遅延巡回フィルタとは異なるフィルタであって、信号の遅延時間を可変することができない増幅系フィルタから構成され、
前記切り替え処理部は、前記遅延巡回フィルタについては前記クロスフェード処理で切り替え、前記増幅系フィルタについてはクロスフェード処理を用いずに、個々の増幅系フィルタのパラメータを徐々に変化させる処理を行なう
ことを特徴とする請求項１乃至５の何れかに記載のフィルタ特性変更装置。
【請求項７】
フィルタ特性変更装置に用いられるフィルタ特性変更方法であって、
フィルタ特性変更装置が、
複数のフィルタを含み、指定された特性を形成し、
特性の変更を指示すると、
その指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なう
ことを特徴とするフィルタ特性変更方法。
【請求項８】
フィルタ特性変更装置に搭載されるコンピュータに、
複数のフィルタを含み、指定された特性を形成する特性形成ステップと、
前記特性形成ステップで形成する特性の変更を指示する変更指示ステップと、
前記変更指示ステップからの指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なうクロスフェード処理ステップと
を実行させることを特徴とするプログラム。
【請求項９】
演奏入力操作に応じた演奏入力情報を発生する演奏入力部と、
前記演奏入力部が発生する演奏入力情報に応じた楽音を発生する音源部と、
請求項１乃至６の何れかに記載のフィルタ特性変更装置を備える効果付加部と、
を具備することを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィルタ特性の変更時に生じる不自然さを解消するフィルタ特性変更装置、フィルタ特性変更方法、プログラムおよび電子楽器に関する。
【背景技術】
【０００２】
電子楽器等の音源で発生する楽音データに対してリバーブやディレイ、エコー等の各種エフェクト（音響効果）を付加する効果付加装置が知られている。例えば特許文献１には、入力される楽音データを遅延変化させた初期反射音と、複数の周波数帯域に分割された楽音データに基づき生成され、遅延変化態様が各帯域毎に異なる残響信号を合成して取得する残響音とを個別に形成するようにして、自然音に近い残響効果を得る効果付加装置が開示されている。また、近年では、高速に波形演算処理するＤＳＰ（デジタル・シグナル・プロセッサ）を用いるものも知られており、この種の装置については例えば特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】実公平０１−１２３２０号公報
【特許文献２】特許第３６２０２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、高速に波形演算処理するＤＳＰを用いて構成される効果付加装置では、実行すべきマイクロプログラムや制御データを書き換えることで多種多様なエフェクト（音響効果）を付加し得るように構成されており、例えば残響効果として知られるリバーブの場合、残響特性の異なる複数種のリバーブ・タイプに対応し得るようになっている。なお、ここで言うリバーブ・タイプとは、残響特性の異なる音場の種類を指す。
【０００５】
従来、残響特性の異なるリバーブ・タイプを切り替える場合には、ＤＳＰで実行すべきマイクロプログラムや制御データを書き換える。この書き換えの際には波形不連続に起因したノイズが発生し易く、これ故、一時的に残響音をミュート（消音）した後に新たなリバーブ・タイプに対応する設定に更新してミュート状態を解消する。従って、残響特性の異なるリバーブ・タイプを切り替えると、一時的に残響音をミュートして無音にするという聴感上の不自然さが生じるという問題がある。この問題は、残響特性が異なるリバーブ・タイプの切り替え時だけでなく、遅延巡回フィルタなどの特定のフィルタにより付加される残響特性以外の効果の切り替え時にも生じ得る。
【０００６】
本発明は、このような事情に鑑みてなされたもので、フィルタ特性の変更時に生じる不自然さを解消することが出来るフィルタ特性変更装置、フィルタ特性変更方法、プログラムおよび電子楽器を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明のフィルタ特性変更装置は、
複数のフィルタを含み、指定された特性を形成する特性形成部と、
前記特性形成部が形成する特性の変更を指示する変更指示部と、
前記変更指示部からの指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なうクロスフェード処理部と、
を具備することを特徴とする。
【０００８】
本発明のフィルタ特性変更方法は、
複数のフィルタを含み、指定された特性を形成し、
特性の変更を指示すると、
その指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なうことを特徴とする。
【０００９】
本発明のプログラムは、
フィルタ特性変更装置に搭載されるコンピュータに、
複数のフィルタを含み、指定された特性を形成する特性形成ステップと、
前記特性形成ステップで形成する特性の変更を指示する変更指示部と、
前記変更指示ステップからの指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なうクロスフェード処理ステップと
を実行させることを特徴とする。
【発明の効果】
【００１０】
本発明では、フィルタ特性の変更時に生じる不自然さを解消することが出来る。
【図面の簡単な説明】
【００１１】
【図１】図１（ａ）は発明の一実施形態による電子鍵盤楽器１００の外観を示す外観図、図１（ｂ）は電子鍵盤楽器１００の電気的構成を示すブロック図である。
【図２】図２（ａ）はＲＯＭ１１のデータ構成を示すメモリマップ、図２（ｂ）はＣＰＵ用ＲＡＭ１３のデータ構成を示すメモリマップである。
【図３】図３は、ＤＳＰ１６において実行されるマイクロプログラムで具現するリバーブレータの構成を示すブロック図である。
【図４】図４（ａ）はハイパスフィルタＨＰＦ部１６２の構成を示すブロック図、図４（ｂ）はローパスフィルタＬＰＦ部１６６の構成を示すブロック図である。
【図５】図５は、オールパスフィルタ（ＡＰＦ）部１６３の構成を示すブロック図である。
【図６】図６は、コムフィルタ（ＣＦ）部（Ｌ）１６４の構成を示すブロック図である。
【図７】図７（ａ）はＣＰＵ１０が実行するメインルーチンの動作を示すフローチャート、図７（ｂ）はＣＰＵ１０が実行するリバーブ切替処理の動作を示すフローチャートである。
【図８】図８（ａ）はＣＰＵ１０が実行するオールパスフィルタ切替処理の動作を示すフローチャート、図８（ｂ）はオールパスフィルタアサイン処理の動作の一例を示す図である。
【図９】ＣＰＵ１０が実行するオールパスフィルタ遅延時間変更処理の動作を示すフローチャートである。
【図１０】図１０（ａ）はコムフィルタ切替処理の動作を示すフローチャート、図１０（ｂ）はコムフィルタアサイン処理の動作の一例を示す図である。
【図１１】ＣＰＵ１０が実行するコムフィルタ遅延時間変更処理の動作を示すフローチャートである。
【図１２】ＣＰＵ１０が実行する各種増幅系切り替え処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．外観および全体構成
図１を参照して実施形態の外観および全体構成について説明する。図１（ａ）は発明の一実施形態による電子鍵盤楽器１００の外観を示す外観図、図１（ｂ）は電子鍵盤楽器１００の電気的構成を示すブロック図である。
【００１３】
これらの図において、鍵盤１は、直方体の外観を有する楽器筺体の長手方向に配設され、演奏入力（押離鍵操作）に応じた信号を発生する。鍵盤１が発生する信号は、鍵走査するキースキャナー７により検出され、さらにＩ／Ｏコントローラ９を介してＣＰＵ１０に取り込まれる。
【００１４】
ＣＰＵ１０では、鍵盤１が発生する信号を取り込み、演奏入力情報を発生する。演奏入力情報は、押離鍵操作を表すキーオン／キーオフ信号、鍵番号およびベロシティ等を含む。この演奏入力情報は、ＣＰＵ１０においてＭＩＤＩ形式のノートオン／ノートオフイベントで表される演奏データに変換された後、音源部１５に供給される。
【００１５】
楽器筺体の操作パネル面には、パネルスイッチ２が配設される。パネルスイッチ２は、例えば装置電源をパワーオン／パワーオフする電源スイッチの他、所望の残響特性を選択するリバーブタイプ切替スイッチ等の各種操作スイッチを備える。パネルスイッチ２が発生する各操作スイッチのイベントは、キースキャナー７により検出され、さらにＩ／Ｏコントローラ９を介してＣＰＵ１０に取り込まれる。
【００１６】
楽器筺体の操作パネル面には、表示パネル３が配設される。ＬＣＤパネルから構成される表示パネル３では、ＣＰＵ１０が発生する表示制御信号を、Ｉ／Ｏコントローラ９を介してＬＣＤコントローラ６に供給することによって、例えば楽器各部の設定状態や動作状態などを画面表示する。
【００１７】
楽器筺体の操作パネル左側部には、ベンダー・ホイール（ＶＨ）４およびモジュレーション・ホイール（ＭＨ）５が配設される。ベンダー・ホイール４は、ユーザ（演奏者）のホイール回動操作に応じたベンダー出力を発生する。モジュレーション・ホイール５は、ユーザ（演奏者）のホイール回動操作に応じたモジュレーション出力を発生する。
【００１８】
ベンダー出力およびモジュレーション出力は、ＡＤ変換器（ＡＤＣ）８によりＡＤ変換された後、Ｉ／Ｏコントローラ９を介してＣＰＵ１０に取り込まれる。なお、ＣＰＵ１０に取り込まれるベンダー出力は、発音中の音高を中心として高音側又は低音側に滑らかにピッチ制御するピッチベンドとして用いられ、一方、ＣＰＵ１０に取り込まれるモジュレーション出力は、変調効果の深さ（デプス）を指定する値として用いられる。
【００１９】
Ｉ／Ｏコントローラ９は、ＣＰＵ１０の制御の下に、上述した各デバイス（ＬＣＤコントローラ６、キースキャナ７およびＡＤＣ８）の入出力を制御してデータ授受する。ＲＯＭ１１は、例えば不揮発性メモリとして知られるフラッシュ・メモリから構成され、図２（ａ）に図示するプログラムデータエリアＰＤＡ、波形データエリアＷＤＡおよびＤＳＰデータエリアＤＤＡを備える。
【００２０】
ＲＯＭ１１のプログラムデータエリアＰＤＡには、ＣＰＵ１０で実行される各種制御プログラム及びそれに付随する制御データが格納される。なお、本実施形態では、後述のＤＳＰ１６が残響効果を付加するリバーブレータとして機能する場合、ＣＰＵ１０がリバーブ・パラメータＲＰに従ってＤＳＰ１６（リバーブレータ）の残響特性を設定する。この為、制御データとして扱われるリバーブ・パラメータＲＰが、プログラムデータエリアＰＤＡに格納されるようになっている。
【００２１】
リバーブ・パラメータＲＰは、「スモールルーム」や「メディアムルーム」など８種類の異なる音場の残響特性（残響音の遅延時間や残響時間）を設定する。具体的には、図２（ｂ）に図示する通り、８種類のリバーブ・タイプ別のリバーブ・パラメータＲＰから構成され、これらの何れかをリバーブタイプ切替スイッチ操作で選択する。
【００２２】
一つのリバーブ・タイプに対応するリバーブ・パラメータＲＰは、ＡＰＦ部パラメータ、ＣＦ部（Ｌ）パラメータ、ＣＦ部（Ｒ）パラメータ、ＬＰＦ部（Ｌ）パラメータ、ＬＰＦ部（Ｒ）パラメータ、ＨＰＦ部パラメータおよび出力レベルから構成される。これらパラメータは、ＤＳＰ１６において実行されるマイクロプログラムで具現するリバーブレータ（後述する）の各部に供する係数（ゲイン）や遅延時間であり、その詳細については追って述べる。
【００２３】
ＲＯＭ１１のプログラムデータエリアＰＤＡに格納される各種制御プログラムや制御データ（リバーブ・パラメータＲＰ含む）は、ＣＰＵ１０が起動時に実行する初期化処理（後述する）において、フラッシュメモリ・コントローラ１２を介して当該ＲＯＭ１１のプログラムデータエリアＰＤＡからＣＰＵ用ＲＡＭ１３に転送する。
【００２４】
ＲＯＭ１１の波形データエリアＷＤＡには、各種音色の波形データが格納される。この波形データは、ＣＰＵ１０が起動時に実行する初期化処理（後述する）において、フラッシュメモリ・コントローラ１２を介して当該波形データエリアＷＤＡから読み出した後、波形メモリ１４に転送する。
【００２５】
ＲＯＭ１１のＤＳＰデータエリアＷＤＡには、ＤＳＰ１６で実行可能な各種マイクロプログラムおよび対応するパラメータデータ等が格納される。これら各種マイクロプログラムおよびパラメータデータ等の内、ＤＳＰ１６で実行するエフェクト種のマイクロプログラムおおよびパラメータデータが、ＣＰＵ１０の制御の下にフラッシュメモリ・コントローラ１２を介して読み出される。当該ＤＳＰデータエリアＷＤＡから読み出されたマイクロプログラムは、ＣＰＵ１０の制御の下に、ＤＳＰ１６に書き込まれる。
【００２６】
波形メモリ１４には、前述したＲＯＭ１１の波形データエリアＷＤＡ（図２（ａ）参照）からＣＰＵ１０が読み出す各種音色の波形データが格納される。音源部１５は、公知の波形メモリ読み出し方式で構成され、複数の発音チャンネルを備える。音源部１５では、波形メモリ１４に格納される各種音色の波形データの内、ＣＰＵ１０が指定する音色の波形データを用いて楽音データを発生する。
【００２７】
すなわち、音源部１５では、ノートオンに応じて空き状態の発音チャンネルをアサインし、アサインした発音チャンネルにおいて、ＣＰＵ１０が指定する音色の波形データを、発音ピッチ（押鍵された鍵の鍵番号で指定される音高）に対応した位相速度で波形メモリ１４から読み出して楽音データを形成し、形成した楽音データをノートオフで停止（消音）する。
【００２８】
波形演算処理専用のプロセッサであるＤＳＰ１６は、音源部１５が発生する楽音データに所定のエフェクト（音響効果）を付加する。ＤＳＰ１６が付加するエフェクト（音響効果）は、ＤＳＰ用ＲＡＭ１７から読み出すマイクロプログラムおよび制御データで決まる。本実施形態では、音源部１５にて生成される楽音データに対し、ＤＳＰ１６が残響効果を付加するリバーブレータとして機能する。ＤＳＰ１６が具現するリバーブレータの構成については追って述べる。
【００２９】
ＤＡ変換器（ＤＡＣ）１８は、ＤＳＰ１６で所定の効果が付加された楽音データを、アナログ信号形式の楽音信号にＤＡ変換して次段に出力する。アンプ１９は、ＤＡ変換器１８から出力される楽音信号から不要ノイズを除去した後、所定レベルに信号増幅する。スピーカ２０は、アンプ１９で所定レベルに増幅された楽音信号を楽音として放音する。
【００３０】
Ｂ．リバーブレータの構成
図３は、ＤＳＰ１６で実行されるマイクロプログラムにより具現されるリバーブレータの機能的構成を示すブロック図である。この図に示すリバーブレータは、シュレーダー型と呼ばれる残響アルゴリズムに基づき、音源部１５から入力される楽音信号Ｉｎｐｕｔ（楽音データ）に残響音を付加した左チャンネル成分のステレオ出力ＯＵＴ（Ｌ）と、右チャンネル成分のステレオ出力ＯＵＴ（Ｒ）とを出力する。
【００３１】
次に、図３を参照してリバーブレータの構成について説明する。音源部１５が発生する楽音信号Ｉｎｐｕｔ（楽音データ）は、乗算器１６１に入力される一方、後段の加算器１７０、１７１にそれぞれ入力される。乗算器１６１は、楽音信号Ｉｎｐｕｔを所定レベルに増幅してハイパスフィルタ（ＨＰＦ）部１６２に供給する。ハイパスフィルタ（ＨＰＦ）部１６２は、乗算器１６１の出力から不要な低周波成分をカットする。
【００３２】
ハイパスフィルタ（ＨＰＦ）部１６２は、図４（ａ）に図示するように、例えば１次巡回型で構成される場合、入力信号にゲイン（係数）１−ｂを乗算して出力する乗算器１６２ａ、乗算器１６２ａの出力から１サンプル遅延出力を減算して出力する減算器１６２ｂ、減算器１６２ｂの出力を１サンプル遅延出力する遅延素子１６２ｃおよび当該遅延素子１６２ｃの出力にゲイン（係数）ｂを乗算して１サンプル遅延出力のレベルを制御する乗算器１６２ｄから構成される。なお、乗算器１６２ｄに付与するゲイン（係数）ｂは、リバーブ・タイプの切り替えに応じてＣＰＵ１０が実行する後述の各種増幅系切り替え処理（図１２参照）において、前述のリバーブ・パラメータＲＰ（図（ｂ）参照）から読み出すＨＰＦ部パラメータである。
【００３３】
オールパスフィルタ（ＡＰＦ）部１６３は、残響音の初期分散過程をシミュレートする回路要素として機能する。このオールパスフィルタ（ＡＰＦ）部１６３の構成については追って述べる。オールパスフィルタ（ＡＰＦ）部１６３の出力は、コムフィルタ（ＣＦ）部（Ｌ）１６４およびコムフィルタ（ＣＦ）部（Ｌ）１６５により左右チャンネルのステレオ信号形式に変換され、この左右チャンネルで残響音のランダムな反射や分散過程をシミュレートする回路要素として機能する。コムフィルタ（ＣＦ）部（Ｌ）１６４およびコムフィルタ（ＣＦ）部（Ｌ）１６５の構成として、コムフィルタ（ＣＦ）部（Ｌ）１６４を一例に挙げて追って説明する。
【００３４】
ローパスフィルタ（ＬＰＦ）部（Ｌ）１６６およびローパスフィルタ（ＬＰＦ）部（Ｒ）１６７は、コムフィルタ（ＣＦ）部（Ｌ）１６４の左チャンネル出力およびコムフィルタ（ＣＦ）部（Ｒ）１６５の右チャンネル出力について各々の残響音の音質を調整する。
【００３５】
ローパスフィルタ（ＬＰＦ）部（Ｌ）１６６は、図４（ｂ）に図示するように、例えば１次巡回型で構成される場合、入力信号にゲイン（係数）１−ａを乗算して出力する乗算器１６６ａ、乗算器１６６ａの出力に１サンプル遅延出力を加算して出力する加算器１６６ｂ、加算器１６６ｂの出力を１サンプル遅延出力する遅延素子１６６ｃおよび当該遅延素子１６６ｃの出力にゲイン（係数）ａを乗算して１サンプル遅延出力のレベルを制御する乗算器１６６ｄから構成される。
【００３６】
なお、この乗算器１６６ｄに付与するゲイン（係数）ａは、前述したリバーブ・パラメータ（図２（ｂ）参照）中のＬＰＦ部パラメータである。ＣＰＵ１０がゲイン（係数）ａを補間して目標値まで滑らかに値を変化させる。こうした内挿補間は、後述する各種増幅系切り替え処理（図１２参照）にてＣＰＵ１０が実行する。
【００３７】
乗算器１６８は、ローパスフィルタ（ＬＰＦ）部（Ｌ）１６６で音質調整された左チャンネルの残響音のレベルを調整して定位制御する。乗算器１６９も同様に、ローパスフィルタ（ＬＰＦ）部（Ｒ）１６７で音質調整された右チャンネルの残響音のレベルを調整して定位制御する。なお、左右チャンネルをレベル調整して定位制御する乗算器１６８、１６９には、出力レベルＯｔｌｖｌが付与される。出力レベルＯｔｌｖｌは、リバーブ・タイプの切り替えに応じてＣＰＵ１０が実行する後述の各種増幅系切り替え処理（図１２参照）において、前述のリバーブ・パラメータＲＰ（図（ｂ）参照）から読み出すパラメータである。
【００３８】
加算器１７０は、原音（音源部１５が発生する楽音信号Ｉｎｐｕｔ）に対し、定位制御された左チャンネルの残響音を加算して左チャンネル成分のステレオ出力ＯＵＴ（Ｌ）を発生する。加算器１７１は、原音（音源部１５が発生する楽音信号Ｉｎｐｕｔ）に対し、定位制御された右チャンネルの残響音を加算して右チャンネル成分のステレオ出力ＯＵＴ（Ｒ）を発生する。
【００３９】
なお、上記構成によるリバーブレータにおいて、ハイパスフィルタ（ＨＰＦ）部１６２／ローパスフィルタ（ＬＰＦ）部（Ｌ）１６６・ローパスフィルタ（ＬＰＦ）部（Ｒ）１６７のような信号の増幅を目的とするフィルタを増幅系フィルタと称し、このような増幅系フィルタのうち、循環部と遅延部を備えているが、信号の遅延を目的としたものではなく、遅延時間が極短く固定的（例えば１サンプル時間）であるフィルタを１次巡回型フィルタと称す。
【００４０】
また、オールパスフィルタ（ＡＰＦ）部１６３／コムフィルタ（ＣＦ）部（Ｌ）１６４・コムフィルタ（ＣＦ）部（Ｌ）１６５のように、信号の遅延を目的として、遅延時間が長く可変であるフィルタを遅延巡回フィルタと称する。
【００４１】
Ｃ．オールパスフィルタ（ＡＰＦ）部１６３の構成
次に、図５を参照して残響音の初期分散過程をシミュレートする回路要素として機能するオールパスフィルタ（ＡＰＦ）部１６３の構成について説明する。図５に図示するように、オールパスフィルタ（ＡＰＦ）部１６３は、オールパスフィルタブロック（後述する）を５段直列接続して構成される。全てのオールパスフィルタブロックは同一の構成なので、５段直列接続されたオールパスフィルタブロックの内、初段のオールパスフィルタブロックに着目してその構成の説明を進める。
【００４２】
初段のオールパスフィルタブロックは、オールパスフィルタＡＰＦ１と、バイパス・クロスフェード部とを備える。オールパスフィルタＡＰＦ１は、入力信号を減衰させながら一定周期（遅延時間Ｔ１）で繰り返し出力する公知の１次巡回型フィルタであり、入力信号に遅延入力を加算する加算器４０ａ、加算器４０ａの出力にゲイン（係数）−ｇ１を乗算して減衰出力する減衰器４１ａ、加算器４０ａの出力を遅延出力（遅延時間Ｔ１）する遅延素子４２ａ、遅延素子４２ａの遅延出力に減衰器４１ａの減衰出力を加算する加算器４３ａおよび遅延素子４２ａの遅延出力にゲイン（係数）＋ｇ１を乗算して出力する乗算器４４ａとを有する。
【００４３】
なお、以下に述べるクロスフェードとは、複数のフィルタが直列または並列に接続されている状態で、いずれかのフィルタによる影響を徐々に少なくしていく（フェードアウトする）とともに、他のフィルタによる影響を徐々に大きくしていく（フェードインする）処理のことを言う。複数のフィルタが直列に接続されている状態でクロスフェードを行なうには、バイパス制御により個々のフィルタによる影響を変化させる。
【００４４】
バイパス・クロスフェード部は、上記の複数のフィルタが直列に接続されている状態でクロスフェードを行なうための回路であり、入力信号にゲイン（係数）ｉ１を乗算して上記オールパスフィルタＡＰＦ１の加算器４０ａに供給する乗算器３０ａ、入力信号にゲイン（係数）ｄ１を乗算したダイレクト入力（上記オールパスフィルタＡＰＦ１を経ない信号）を出力する乗算器３１ａ、上記オールパスフィルタＡＰＦ１の加算器４３ａが出力するオールパス出力にゲイン（係数）ｏ１を乗算する乗算器３２ａ、乗算器３１ａが出力するダイレクト入力と乗算器３２ａが出力するオールパス出力とを加算して次段のオールパスフィルタブロックに出力する加算器３３ａとから構成される。
【００４５】
上記構成によるバイパス・クロスフェード部において、オールパスフィルタＡＰＦ１に入力信号を供給しないバイパス状態に設定する場合には、ダイレクト入力を出力する乗算器３１ａのゲイン（係数）ｄ１を「１」、乗算器３０ａのゲイン（係数）ｉ１および乗算器３２ａのゲイン（係数）ｏ１を「０」にそれぞれセットする。また、オールパスフィルタＡＰＦ１のフィルタ出力に設定する場合には、乗算器３０ａのゲイン（係数）ｉ１を「１」、乗算器３１ａのゲイン（係数）ｄ１を「０」、乗算器３２ａのゲイン（係数）ｏ１を「１」にそれぞれセットする。
【００４６】
前述した通り、オールパスフィルタブロックは、全て同一の構成である。すなわち、２段目のオールパスフィルタブロックを構成するオールパスフィルタＡＰＦ２は、加算器４０ｂ、減衰器４１ｂ、遅延素子４２ｂ、加算器４３ｂおよび乗算器４４ｂから構成される。また、２段目のオールパスフィルタブロックを構成するバイパス・クロスフェード部は、乗算器３０ｂ、乗算器３１ｂ、乗算器３２ｂおよび加算器３３ｂから構成される。
【００４７】
さらに、３段目のオールパスフィルタブロックは、構成要素４０ｃ、４１ｃ、４２ｃ、４３ｃ、４４ｃからなるオールパスフィルタＡＰＦ３と、構成要素３０ｃ、３１ｃ、３２ｃ、３３ｃからなるバイパス・クロスフェード部とを備える。４段目のオールパスフィルタブロックは、構成要素４０ｄ、４１ｄ、４２ｄ、４３ｄ、４４ｄからなるオールパスフィルタＡＰＦ４と、構成要素３０ｄ、３１ｄ、３２ｄ、３３ｄからなるバイパス・クロスフェード部とを備える。５段目のオールパスフィルタブロックは、構成要素４０ｅ、４１ｅ、４２ｅ、４３ｅ、４４ｅからなるオールパスフィルタＡＰＦ５と、構成要素３０ｅ、３１ｅ、３２ｅ、３３ｅからなるバイパス・クロスフェード部とを備える。
【００４８】
オールパスフィルタ（ＡＰＦ）部１６３では、５段直列接続されるオールパスフィルタブロックの内、通常４基のオールパスフィルタブロックを残響音の分散過程をシミュレートする回路要素として機能させ、残り１基のオールパスフィルタブロックを予備系統とする。リバーブ・タイプの切り替えに際して遅延時間変更が必要になると、ＣＰＵ１０がオールパスフィルタ切替処理（後述する）が実行する。
【００４９】
追って詳述するが、オールパスフィルタ切替処理では、５つのオールパスフィルタの内、モジュロ演算式（後述する）を用い、切替えステージ１〜４毎に「フィルタ出力からバイパス状態」に遷移させるＭ番目のオールパスフィルタＡＰＦ［Ｍ］と、「バイパス状態からフィルタ出力」に遷移させるＮ番目のオールパスフィルタＡＰＦ［Ｎ］とをアサインする。
【００５０】
そして、アサインされたオールパスフィルタＡＰＦ［Ｍ］およびＡＰＦ［Ｎ］に基づき、リバーブ・パラメータＲＰ（図２（ｂ）参照）から読み出したオールパスフィルタＡＰＦ［Ｎ］のパラメータ（遅延時間Ｔ，係数ｇ）を、当該オールパスフィルタＡＰＦ「Ｎ」にセットしてパラメータ更新を行い、遅延時間Ｔに相当する過渡期間経過後に、エンベロープ乗算によるクロスフェードによって、オールパスフィルタＡＰＦ［Ｍ］をバイパス状態に遷移させ、オールパスフィルタＡＰＦ「Ｎ」をフィルタ出力に遷移させる切替処理を切替えステージ１〜４について行う。
【００５１】
Ｄ．コムフィルタ（ＣＦ）部（Ｌ）１６４の構成
次に、図６を参照して、残響音のランダムな反射や分散過程をシミュレートする回路要素として機能するコムフィルタ（ＣＦ）部（Ｌ）１６４の構成について説明する。なお、コムフィルタ（ＣＦ）部（Ｌ）１６５は、コムフィルタ（ＣＦ）部（Ｌ）１６４と同一の構成なので、その説明を省略する。
【００５２】
図６に図示するように、コムフィルタ（ＣＦ）部（Ｌ）１６４は、５段並列接続されたコムフィルタブロックＣＦ１〜ＣＦ５と、これらコムフィルタブロックＣＦ１〜ＣＦ５からの各出力を加算して残響音を発生する混合器５４とを備える。並列接続された初段目のコムフィルタブロックＣＦ１は、コムフィルタＣＦ１と乗算器５３ａとから構成される。
【００５３】
コムフィルタＣＦ１は、入力信号を減衰させながら一定周期（遅延時間）で繰り返し出力する公知の１次巡回型フィルタであり、入力信号に遅延入力を加算する加算器５０ａ、加算器５０ａの出力を遅延出力（遅延時間Ｔ１）する遅延素子５１ａ、遅延素子５１ａの出力にゲイン（係数）ｇ１を乗算して出力する乗算器５２ａを備える。乗算器５３ａは、コムフィルタＣＦ１の出力にゲイン（係数）ｃ１を乗算して後段の混合器５４に供給する。この混合器５４は、複数のフィルタが並列に接続されている状態でクロスフェードを行なうための回路として機能する。
【００５４】
なお、２段目のコムフィルタブロックＣＦ２は、加算器５０ｂ、遅延素子５１ｂおよび乗算器５２ｂから成るコムフィルタＣＦ２と、このコムフィルタＣＦ２の出力にゲイン（係数）ｃ２を乗算する乗算器５３ｂとを有する。同様に、３段目のコムフィルタブロックＣＦ３は、コムフィルタＣＦ（加算器５０ｃ、遅延素子５１ｃおよび乗算器５２ｃ）とコムフィルタＣＦの出力にゲイン（係数）ｃ３を乗算する乗算器５３ｃとを有する。
【００５５】
また、４段目のコムフィルタブロックＣＦ４は、コムフィルタＣＦ４（加算器５０ｄ、遅延素子５１ｄおよび乗算器５２ｄ）とコムフィルタＣＦ４の出力にゲイン（係数）ｃ４を乗算する乗算器５３ｄから構成される。さらに、５段目のコムフィルタブロックＣＦ５は、コムフィルタＣＦ５（加算器５０ｅ、遅延素子５１ｅおよび乗算器５２ｅ）とコムフィルタＣＦ５の出力にゲイン（係数）ｃ５を乗算する乗算器５３ｅから構成される。
【００５６】
コムフィルタ（ＣＦ）部（Ｌ）１６４では、５段並列接続されたコムフィルタブロックＣＦ１〜ＣＦ５の内、通常４基のコムフィルタブロックを、ＣＦ部（Ｌ）パラメータ（図２（ｂ）参照）に従って左チャンネル残響音の反射や分散過程をシミュレートする回路要素として機能させ、残り１基のコムフィルタブロックを予備系統とする。これは、コムフィルタ（ＣＦ）部（Ｒ）１６５においても同様の構成である。
【００５７】
リバーブ・タイプの切り替えに応じて、ＣＦ部（Ｌ）／ＣＦ部（Ｒ）パラメータ（図２（ｂ）参照）の変更が必要になると、ＣＰＵ１０がコムフィルタ切替処理（後述する）を実行して、コムフィルタ（ＣＦ）部（Ｌ）１６４およびコムフィルタ（ＣＦ）部（Ｒ）１６５の双方においてパラメータ更新およびコムフィルタブロックの切替えが行われる。
【００５８】
その詳細については追って述べるが、概略的に説明すると、５段並列接続されたコムフィルタの内、モジュロ演算式（後述する）を用いて「フィルタ出力からバイパス状態」に遷移させるＯ番目のコムフィルタブロックＣＦ［Ｏ］と、「バイパス状態からフィルタ出力」に遷移させるＰ番目のコムフィルタブロックＣＦ［Ｐ］とをアサインする。
【００５９】
そして、アサインされたコムフィルタブロックＣＦ［Ｏ］およびＣＦ［Ｐ］に基づき、リバーブ・パラメータＲＰ（図２（ｂ）参照）からパラメータ（遅延時間Ｔ，係数ｇ）を、当該コムフィルタブロックＡＣＦ［Ｐ］にセットしてパラメータ更新を行い、遅延時間Ｔに相当する過渡期間経過後に、エンベロープ乗算によるクロスフェードによって、コムフィルタブロックＣＦ［Ｏ］をバイパス状態に遷移させ、コムフィルタブロックＣＦ［Ｐ］をフィルタ出力に遷移させる切替処理を切替えステージ１〜４について行う。
【００６０】
Ｅ．動作
次に、図７〜図１２を参照して、上記構成による電子鍵盤楽器１００のＣＰＵ１０が実行するメインルーチン、当該メインルーチンからコールされるリバーブ切替処理、リバーブ切替処理を構成するオールパスフィルタ切替処理（オールパスフィルタアサイン処理、オールパスフィルタ遅延時間変更処理）、コムフィルタ切替処理（コムフィルタアサイン処理、コムフィルタ遅延時間変更処理）および各種増幅系切替処理の各動作を説明する。なお、以下に述べる動作の説明において、特段のことわりが無い限り動作の主体はＣＰＵ１０である。
【００６１】
１．メインルーチンの動作
図７（ａ）は、ＣＰＵ１０が実行するメインルーチンの動作を示すフローチャートである。電子鍵盤楽器１００がパワーオンされると、ＣＰＵ１０はメインルーチンを実行し、図７（ａ）に図示するステップＳＡ１に処理を進め、楽器各部をイニシャライズする初期化処理を行う。この初期化処理では、例えばＣＰＵ１０がＲＯＭ１１のプログラムデータエリアＰＤＡから各種制御プログラムや制御データ（リバーブ・パラメータＲＰ含む）を読み出してＣＰＵ用ＲＡＭ１３に転送したり、ＲＯＭ１１の波形データエリアＷＤＡから読み出す所定音色の波形データを波形メモリ１４に転送したりする他、ＲＯＭ１１のＤＳＰデータエリアＷＤＡから読み出す所定のマイクロプログラムやパラメータデータ等をＤＳＰ用ＲＡＭ１７に書き込む。
【００６２】
次に、ＣＰＵ１０はステップＳＡ２に処理を進め、パネルスイッチ２においてユーザ操作で発生した種類のスイッチイベントに対応したスイッチ処理を実行する。例えば、ユーザが残響特性を選択するリバーブタイプ切替スイッチを操作した場合には、ＣＰＵ１０はリバーブ・タイプ変更要求を発生すると共に、そのスイッチ操作で指定される残響特性を示すリバーブ・パラメータＲＰをＣＰＵ用ＲＡＭ１３から読み出して表示パネル３に画面表示するスイッチ処理を実行する。
【００６３】
そして、ステップＳＡ３に進むと、ＣＰＵ１０は鍵盤１の各鍵を走査するキースキャナー７の走査結果に基づいて押鍵操作を検出した場合には、発音すべき音高を表すノートナンバおよびベロシティ等を含むノートオンイベントを発生し、一方、離鍵操作を検出した場合には消音すべき音高を表すノートオフイベントを発生する押離鍵検出処理を実行する。
【００６４】
続いて、ステップＳＡ４では、ＣＰＵ１０がＡＤ変換器８の出力に基づいてホイール操作検出処理を実行する。このホイール操作検出処理では、ユーザ（演奏者）によるベンダー・ホイール４の回動操作に応じたベンダー出力を検出した場合には当該ベンダー出力に基づくピッチベンドを音源部１５に指示し、一方、モジュレーション・ホイール５の回動操作に応じたモジュレーション出力を検出した場合には当該モジュレーション出力に基づく変調効果の深さ（デプス）を変調効果を付加中のＤＳＰ１６に指示する。
【００６５】
次いで、ステップＳＡ５では、ＤＳＰ１６が前述したリバーブレータとして機能している場合に、ユーザ（演奏者）がリバーブタイプ切替スイッチを操作してリバーブ・タイプ変更要求を発生すると、リバーブ切替処理の実行を開始する。リバーブ切替処理の詳細については追って述べる。なお、ＤＳＰ１６がリバーブレータとして機能しておらず、かつリバーブ・タイプ変更要求も発生しなければ、ステップＳＡ５のリバーブ切替処理を実行せず、次にステップＳＡ６に進む。
【００６６】
次に、ステップＳＡ６に進むと、ＣＰＵ１０は上記ステップＳＡ３において発生したノートオンイベントを音源部１５に送付して発音を指示したり、ノートオフイベントを音源部１５に送付して消音を指示する音源処理を実行する。なお、音源部１５では、こうしてＣＰＵ１０から供給されるノートオンイベントに基づき楽音データを発生し、一方、ノートオフイベントに基づき楽音データを停止する。
【００６７】
なお、ステップＳＡ５のリバーブ切換処理は、実際には、ステップＳＡ６の音源処理（およびステップＳＡ２〜ＳＡ４、ＳＡ７の各処理）とは非同期に並行して繰り返し実行される処理であり、音源処理により指定された楽音の発音が継続している最中であっても、リバーブの切替が有効である。つまり、１つの楽音の発音が継続している最中にリバーブが切り替えられた場合には、この楽音の発音が継続している期間内でフィルタ効果が聴感上の不自然さ無く、徐々に切り替えることが可能である。
【００６８】
そして、ステップＳＡ７では、ＤＳＰ１６が前述したリバーブレータを除く、各種エフェクトを付加する機能を実行可能な場合に、音源部１５が発生する楽音データに対してリバーブやディレイ、エコー、コーラス等の各種効果を付加するその他の効果処理を実行する。この後、ＣＰＵ１０は上述のステップＳＡ２に処理を戻し、以後、電子鍵盤楽器１００がパワーオフされる迄、上記ステップＳＡ２〜ＳＡ７の処理を繰り返す。
【００６９】
２．リバーブ切替処理の動作
次に、図７（ｂ）を参照して、ＣＰＵ１０が実行するリバーブ切替処理の動作を説明する。上述したメインルーチン（図７（ａ）参照）のステップＳＡ５で示される（実際には非同期に並行して繰り返し実行される）リバーブ切替処理が実行されると、ＣＰＵ１０は図７（ｂ）に図示する本処理を実行してステップＳＢ１に処理を進める。ステップＳＢ１では、ＣＰＵ１０がリバーブ変更要求の有無、すなわちユーザ（演奏者）がリバーブタイプ切替スイッチを操作したか否かを判断する。
【００７０】
前述したメインルーチンのステップＳＡ２において、ユーザ（演奏者）がリバーブタイプ切替スイッチを操作せず、リバーブ・タイプ変更要求が発生しない場合には、ステップＳＢ１の判断結果は「ＮＯ」になり、リバーブ切替処理を終える。
【００７１】
これに対し、前述したメインルーチンのステップＳＡ２において、ユーザ（演奏者）が残響特性を選択するリバーブタイプ切替スイッチを操作してリバーブ・タイプ変更要求が発生すると、上記ステップＳＢ１の判断結果は「ＹＥＳ」になり、ＣＰＵ１０は次のステップＳＢ２を介してオールパスフィルタ切替処理を実行する。
【００７２】
なお、リバーブ・タイプ変更要求が発生すると、その時点からの遅延時間がタイマにより計測され、この計測されるタイマ値に基づいて、逐次ステージの進行を判断する。各ステージにおいて、ステップＳＢ２、ＳＢ３、ＳＢ４の処理は並行して同時に実行される。
【００７３】
（１）オールパスフィルタ切替処理の動作
次に、図８を参照してオールパスフィルタ切替処理の動作を説明する。図７（ｂ）に図示するステップＳＢ２を介してオールパスフィルタ切替処理が実行されると、ＣＰＵ１０は図８（ａ）に図示するステップＳＣ１に処理を進め、オールパスフィルタアサイン処理を実行する。
【００７４】
ａ．オールパスフィルタアサイン処理の動作
ところで、オールパスフィルタ（ＡＰＦ）部１６３は、図５に図示した通り、５段直列接続されるオールパスフィルタブロックの内、通常４基のオールパスフィルタブロックを残響音の分散過程をシミュレートする回路要素として機能させ、残り１基のオールパスフィルタブロックを予備系統としている。
【００７５】
図８（ａ）に図示するステップＳＣ１のオールパスフィルタアサイン処理では、ＣＰＵ１０が５段直列接続されるオールパスフィルタブロックの中から「フィルタ出力からバイパス状態」に遷移させるオールパスフィルタブロックと、「バイパス状態からフィルタ出力」に遷移させるオールパスフィルタブロックとを、ステージの進行に応じてアサインする。
【００７６】
具体的には、「フィルタ出力からバイパス状態」に遷移させるオールパスフィルタの番号を「Ｎ」、「バイパス状態からフィルタ出力」に遷移させるオールパスフィルタの番号を「Ｍ」とした場合、両者の関係は次式（１）のモジュロ演算（剰余演算）で表現出来る。
Ｎ＝ｍｏｄ（Ｍ＋４，５）  …（１）
なお、番号Ｎ、Ｍを図８（ｂ）に図示する動作例中のオールパスフィルタブロックのＡＰＦ番号（ＡＰＦ１〜ＡＰＦ５）に対応させるには、それぞれ「＋１」すればよい。つまり、「Ｎ」、「Ｍ」は、ステージの進行に合わせて、フィルタの個数の範囲内で循環的に変化していく。
【００７７】
例えば図８（ｂ）に図示する一例において、初段から４段までの各オールパスフィルタブロックＡＰＦ１〜ＡＰＦ４を機能させ、５段目のオールパスフィルタブロックＡＰＦ５をバイパス状態（未使用）とした状況においてリバーブ・タイプの切り替えが発生したとする。
【００７８】
そうすると、最初の切り替えステージ１において「フィルタ出力からバイパス状態」に遷移させるオールパスフィルタブロックの番号Ｍを「０：（ＡＰＦ１）」にすると、上記（１）式に基づき「バイパス状態からフィルタ出力」に遷移させるオールパスフィルタブロックの番号Ｎは「４：（ＡＰＦ５）」となる。
【００７９】
そして、図８（ｂ）に図示する動作例に対応してオールパスフィルタアサイン処理を実行すると、以下に示すように、切り替えステージ１〜４にそれぞれ対応するアサイン結果（Ｍ，Ｎ）が上記（１）式に基づき取得され、その結果はＣＰＵ用ＲＡＭ１３のワークエリアＷＡに一時記憶される。
切り替えステージ１：ＡＰＦ１（Ｍ＝０） → ＡＰＦ５（Ｎ＝４）
切り替えステージ２：ＡＰＦ２（Ｍ＝１） → ＡＰＦ１（Ｎ＝０）
切り替えステージ３：ＡＰＦ３（Ｍ＝２） → ＡＰＦ２（Ｎ＝１）
切り替えステージ４：ＡＰＦ４（Ｍ＝３） → ＡＰＦ３（Ｎ＝２）
【００８０】
ｂ．オールパスフィルタ遅延時間変更処理
こうして、ステップＳＣ１のオールパスフィルタアサイン処理が完了すると、ＣＰＵ１０は次のステップＳＣ２（図８（ａ）参照）を介してオールパスフィルタ遅延時間変更処理を実行する。オールパスフィルタ遅延時間変更処理が実行されると、ＣＰＵ１０は図９に図示するステップＳＤ１以降の処理を、切り替えステージ１〜４毎に行う。
【００８１】
＜切り替えステージ１の動作＞
ステップＳＤ１では、ＣＰＵ用ＲＡＭ１３に格納されるリバーブ・パラメータＲＰからバイパス状態のオールパスフィルタブロックＡＰＦ５（Ｎ＝４）のパラメータ（遅延時間Ｔ５，係数ｇ５）を読み出す。そして、オールパスフィルタＡＰＦ５の遅延素子４２ｅ（図５参照）に遅延時間Ｔ５をセットすると共に、乗算器４１ｅにゲイン（係数）−ｇ５、乗算器４４ｅにゲイン（係数）＋ｇ５をセットする。
【００８２】
この際、オールパスフィルタブロックＡＰＦ５（Ｎ＝４）の乗算器３０ｅのゲイン（係数）ｉ５および乗算器３２ｅのゲイン（係数）ｏ５は「０」なので、次段に遅延変化を与えることなくオールパスフィルタＡＰＦ５のパラメータ（遅延時間Ｔ５，係数ｇ５）を更新し得る。そして、パラメータ（遅延時間Ｔ５，係数ｇ５）を更新し終えると、当該オールパスフィルタブロックＡＰＦ５（Ｎ＝４）の乗算器３０ｅのゲイン（係数）ｉ５に「１」をセットする。
【００８３】
続いて、ステップＳＤ２では、上記遅延素子４２ｅにセットした遅延時間Ｔ５に相当する過渡期間が経過するまで待機する。過渡期間が経過すると、ステップＳＤ２の判断結果は「ＹＥＳ」になり、ＣＰＵ１０はステップＳＤ３に処理を進める。ステップＳＤ３では、エンベロープ乗算によるクロスフェードによって、オールパスフィルタブロックＡＰＦ１（Ｍ＝０）の乗算器３１ａのゲイン（係数）ｄ１を「１」、乗算器３０ａのゲイン（係数）ｉ１を「０」、乗算器３２ａのゲイン（係数）ｏ１を「０」にセットしながら、オールパスフィルタブロックＡＰＦ５（Ｎ＝４）の乗算器３１ｅのゲイン（係数）ｄ５を「０」、乗算器３２ｅのゲイン（係数）ｏ５を「１」にセットする。これにより、「オールパスフィルタブロックＡＰＦ１（Ｍ＝０）」をバイパス状態に遷移させ、「オールパスフィルタブロックＡＰＦ５（Ｎ＝４）」をフィルタ出力に遷移させる。
【００８４】
このクロスフェードは、ステージの進行を判断するタイマ値に基づいて行なわれ、ステージが切り替わる時間内にクロスフェードが完了するように、徐々に設定値を変化させていく（なお、１つのクロスフェードが完了するまでの時間を、複数のステージに跨るようにすることも可能である）。
【００８５】
そして、ステップＳＤ４に進むと、パラメータ書き換え終了したか否か、すなわち上述した全ての切り替えステージ１〜４について処理し終えたかどうかを判断する。全ての切り替えステージ１〜４について処理し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＤ１に処理を戻す。以後、全ての切り替えステージ１〜４について処理し終える迄、上記ステップＳＤ１〜ＳＤ４を繰り返す。
【００８６】
なお、次の切り替えステージに進む場合には、「フィルタ出力からバイパス状態」に遷移させるオールパスフィルタブロックの番号Ｍをインクリメントして歩進させてメモリ保存する。また、クロスフェードによりバイパス状態に遷移させたオールパスフィルタブロックＡＰＦ［Ｍ］では、乗算器３０のゲイン（係数）ｉｍを「０」にセットしておく。
【００８７】
＜切り替えステージ２の動作＞
切り替えステージ２になると、ＣＰＵ１０はリバーブ・パラメータＲＰからバイパス状態のオールパスフィルタブロックＡＰＦ１（Ｎ＝０）のパラメータ（遅延時間Ｔ１，係数ｇ１）を読み出す。そして、オールパスフィルタＡＰＦ１の遅延素子４２ａ（図５参照）に遅延時間Ｔ１をセットすると共に、乗算器４１ａにゲイン（係数）−ｇ１、乗算器４４ａにゲイン（係数）＋ｇ１をセットする。
【００８８】
この際、オールパスフィルタブロックＡＰＦ１（Ｎ＝０）の乗算器３０ａのゲイン（係数）ｉ１および乗算器３２ａのゲイン（係数）ｏ１は「０」なので、次段に遅延変化を与えることなくオールパスフィルタＡＰＦ１のパラメータ（遅延時間Ｔ１，係数ｇ１）を更新し得る。そして、パラメータを更新し終えると、当該オールパスフィルタブロックＡＰＦ１（Ｎ＝０）の乗算器３０ａのゲイン（係数）ｉ１に「１」をセットした後、上記遅延時間Ｔ１に相当する過渡期間が経過するまで待機する。
【００８９】
過渡期間が経過すると、エンベロープ乗算によるクロスフェードによって、オールパスフィルタブロックＡＰＦ２（Ｍ＝１）の乗算器３１ｂのゲイン（係数）ｄ２を「１」、乗算器３０ｂのゲイン（係数）ｉ２を「０」、乗算器３２ｂのゲイン（係数）ｏ２を「０」にセットしながら、オールパスフィルタブロックＡＰＦ１（Ｎ＝０）の乗算器３１ａのゲイン（係数）ｄ１を「０」、乗算器３２ａのゲイン（係数）ｏ１を「１」にセットする。これにより、「オールパスフィルタブロックＡＰＦ２（Ｍ＝１）」をバイパス状態に遷移させ、「オールパスフィルタブロックＡＰＦ１（Ｎ＝０）」をフィルタ出力に遷移させる。
【００９０】
＜切り替えステージ３の動作＞
切り替えステージ３になると、ＣＰＵ１０はリバーブ・パラメータＲＰからバイパス状態のオールパスフィルタブロックＡＰＦ２（Ｎ＝１）のパラメータ（遅延時間Ｔ２，係数ｇ２）を読み出して当該オールパスフィルタＡＰＦ２の遅延素子４２ｂ（図５参照）に遅延時間Ｔ２をセットすると共に、乗算器４１ｂにゲイン（係数）−ｇ２、乗算器４４ｂにゲイン（係数）＋ｇ２をセットする。この時、オールパスフィルタブロックＡＰＦ２（Ｎ＝１）の乗算器３０ｂのゲイン（係数）ｉ２および乗算器３２ｂのゲイン（係数）ｏ２は「０」なので、次段に遅延変化を与えずにパラメータを更新し得る。
【００９１】
パラメータを更新し終えると、当該オールパスフィルタブロックＡＰＦ２（Ｎ＝１）の乗算器３０ｂのゲイン（係数）ｉ２に「１」をセットした後、上記遅延時間Ｔ２に相当する過渡期間が経過するまで待機する。過渡期間経過すると、エンベロープ乗算によるクロスフェードによって、オールパスフィルタブロックＡＰＦ３（Ｍ＝２）の乗算器３１ｃのゲイン（係数）ｄ３を「１」、乗算器３０ｃのゲイン（係数）ｉ３を「０」、乗算器３２ｃのゲイン（係数）ｏ３を「０」にセットしながら、オールパスフィルタブロックＡＰＦ２（Ｎ＝１）の乗算器３１ｂのゲイン（係数）ｄ２を「０」、乗算器３２ｂのゲイン（係数）ｏ２を「１」にセットする。これにより、「オールパスフィルタブロックＡＰＦ３（Ｍ＝２）」をバイパス状態に遷移させ、「オールパスフィルタブロックＡＰＦ２（Ｎ＝１）」をフィルタ出力に遷移させる。
【００９２】
＜切り替えステージ４の動作＞
切り替えステージ４になると、この場合、ＣＰＵ１０はリバーブ・パラメータＲＰからバイパス状態のオールパスフィルタブロックＡＰＦ３（Ｎ＝２）のパラメータ（遅延時間Ｔ３，係数ｇ３）を読み出して当該オールパスフィルタＡＰＦ３の遅延素子４２ｂ（図５参照）に遅延時間Ｔ３をセットすると共に、乗算器４１ｃにゲイン（係数）−ｇ３、乗算器４４ｃにゲイン（係数）＋ｇ３をセットする。この時、オールパスフィルタブロックＡＰＦ３（Ｎ＝２）の乗算器３０ｃのゲイン（係数）ｉ３および乗算器３２ｃのゲイン（係数）ｏ３は「０」なので、次段に遅延変化を与えずにパラメータを更新し得る。
【００９３】
パラメータを更新し終えると、当該オールパスフィルタブロックＡＰＦ３（Ｎ＝２）の乗算器３０ｃのゲイン（係数）ｉ３に「１」をセットした後、上記遅延時間Ｔ３に相当する過渡期間が経過するまで待機する。過渡期間経過すると、エンベロープ乗算によるクロスフェードによって、オールパスフィルタブロックＡＰＦ４（Ｍ＝３）の乗算器３１ｄのゲイン（係数）ｄ４を「１」、乗算器３０ｄのゲイン（係数）ｉ４を「０」、乗算器３２ｄのゲイン（係数）ｏ４を「０」にセットしながら、オールパスフィルタブロックＡＰＦ３（Ｎ＝２）の乗算器３１ｃのゲイン（係数）ｄ３を「０」、乗算器３２ｃのゲイン（係数）ｏ３を「１」にセットする。これにより、「オールパスフィルタブロックＡＰＦ４（Ｍ＝３）」をバイパス状態に遷移させ、「オールパスフィルタブロックＡＰＦ３（Ｎ＝２）」をフィルタ出力に遷移させる。
【００９４】
そして、全ての切り替えステージ１〜４について処理し終えると、ステップＳＤ４の判断結果が「ＹＥＳ」になり、本処理を終えた後、次のステップＳＢ３に進み、コムフィルタ切替処理を実行する。
【００９５】
（３）コムフィルタ切替処理の動作
次に、図１０を参照してコムフィルタ切替処理の動作を説明する。図７（ｂ）に図示するステップＳＢ３を介してコムフィルタ切替処理が実行されると、ＣＰＵ１０は図１０（ａ）に図示するステップＳＥ１に処理を進め、コムフィルタアサイン処理を実行する。
【００９６】
なお、コムフィルタアサイン処理は、左チャンネルで残響音のランダムな反射や分散過程をシミュレートするコムフィルタ（ＣＦ）部（Ｌ）１６４と、右チャンネルで残響音のランダムな反射や分散過程をシミュレートコムフィルタ（ＣＦ）部（Ｌ）１６５との双方で実行されるが、以下では説明の簡略化を図る為、コムフィルタ（ＣＦ）部（Ｌ）１６４にて実行されるコムフィルタ切替処理について述べる。
【００９７】
ａ．コムフィルタアサイン処理の動作
コムフィルタアサイン処理では、５段並列接続されるコムフィルタブロックの中から「フィルタ出力からバイパス状態」に遷移させるコムフィルタブロックと、「バイパス状態からフィルタ出力」に遷移させるコムフィルタブロックとを、ステージの進行に応じてアサインする。
【００９８】
具体的には、前述したオールパスフィルタアサイン処理（図８（ａ）参照）と同様に、「フィルタ出力からバイパス状態」に遷移させるコムフィルタＣＦの番号を「Ｏ」、「バイパス状態からフィルタ出力」に遷移させるコムフィルタの番号を「Ｐ」とした場合、両者の関係は前述した（１）式のモジュロ演算（Ｏ＝ｍｏｄ（Ｐ＋４，５））で表現出来る。なお、番号［Ｏ］、［Ｐ］を図１０（ｂ）に図示する動作例中のコムフィルタブロックの番号ＣＦ１〜ＣＦ５に対応させるには、それぞれ「＋１」すればよい。つまり、「Ｏ」、「Ｐ」は、ステージの進行に合わせて、フィルタの個数の範囲内で循環的に変化していく。
【００９９】
例えば図１０（ｂ）に図示する一例において、並列接続される初段から４段までの各コムフィルタブロックＣＦ１〜ＣＦ４を機能させ、５段目のコムフィルタブロックＣＦ５をバイパス状態（未使用）とした状況において、リバーブ・タイプの切り替えが発生したとする。
【０１００】
そうすると、最初の切り替えステージ１において「フィルタ出力からバイパス状態」に遷移させるコムフィルタブロックの番号Ｐを「０：（ＣＦ１）」にすると、上記（１）式に基づき「バイパス状態からフィルタ出力」に遷移させるコムフィルタブロックの番号Ｐは「４：（ＣＦ５）」となる。
【０１０１】
そして、図１０（ｂ）に図示する動作例に対応してコムフィルタアサイン処理を実行すると、以下に示すように、切り替えステージ１〜４にそれぞれ対応するアサイン結果（Ｏ，Ｐ）が上記（１）式に基づき取得され、その結果はＣＰＵ用ＲＡＭ１３のワークエリアＷＡに一時記憶される。
切り替えステージ１：ＣＦ１（Ｏ＝０） → ＣＦ５（Ｐ＝４）
切り替えステージ２：ＣＦ２（Ｏ＝１） → ＣＦ１（Ｐ＝０）
切り替えステージ３：ＣＦ３（Ｏ＝２） → ＣＦ２（Ｐ＝１）
切り替えステージ４：ＣＦ４（Ｏ＝３） → ＣＦ３（Ｐ＝２）
【０１０２】
ｂ．コムフィルタ遅延時間変更処理
こうして、ステップＳＥ１のコムフィルタアサイン処理が完了すると、ＣＰＵ１０は次のステップＳＥ２（図１０（ａ）参照）を介してコムフィルタ遅延時間変更処理を実行する。コムフィルタ遅延時間変更処理が実行されると、ＣＰＵ１０は図１１に図示するステップＳＦ１に処理を進める。以下、上記の切り替えステージ１〜４について行われる本処理の動作を説明する。
【０１０３】
＜切り替えステージ１の動作＞
ステップＳＦ１では、ＣＰＵ用ＲＡＭ１３に格納されるリバーブ・パラメータＲＰからバイパス状態のコムフィルタブロックＣＦ５（Ｐ＝４）のパラメータ（遅延時間Ｔ５，係数ｇ５）を読み出す。そして、ＣＦ５の遅延素子５１ｅ（図６参照）に遅延時間Ｔ５をセットすると共に、乗算器５２ｅにゲイン（係数）＋ｇ５をセットする。この際、乗算器５３ｅのゲイン（係数）ｃ５は「０」なので、外部に遅延変化を与えることなくコムフィルタＣＦ５のパラメータ（遅延時間Ｔ５，係数ｇ５）を更新し得る。
【０１０４】
次に、ステップＳＦ２では、上記遅延素子５１ｅにセットした遅延時間Ｔ５に相当する過渡期間が経過するまで待機する。過渡期間が経過すると、ステップＳＦ２の判断結果は「ＹＥＳ」になり、ＣＰＵ１０はステップＳＦ３に処理を進める。ステップＳＦ３では、エンベロープ乗算によるクロスフェードによって、コムフィルタブロックＣＦ１（Ｏ＝０）の乗算器５３ａのゲイン（係数）ｃ１を「０」、乗算器５３ａのゲイン（係数）ｇ１を「０」にセットする一方、コムフィルタブロックＣＦ５（Ｐ＝４）の乗算器５３ｅのゲイン（係数）ｃ５を「１」にセットする。これにより、「コムフィルタブロックＣＦ１（Ｏ＝０）」をバイパス状態に遷移させ、「コムフィルタブロックＣＦ５（Ｐ＝４）」をフィルタ出力に遷移させる。
【０１０５】
なお、コムフィルタＣＦのクロスフェードについても、オールパスフィルタＡＰＦのクロスフェードと同様に、ステージの進行を判断するタイマ値に基づいて行なわれる。
【０１０６】
そして、ステップＳＦ４に進むと、ＣＰＵ１０はパラメータ書き換え終了したか否か、すなわち上述した全ての切り替えステージ１〜４について処理し終えたかどうかを判断する。全ての切り替えステージ１〜４について処理し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＦ１に処理を戻す。以後、全ての切り替えステージ１〜４について処理し終える迄、上記ステップＳＦ１〜ＳＦ４を繰り返す。
【０１０７】
なお、次の切り替えステージに進む場合には、「フィルタ出力からバイパス状態」に遷移させるコムフィルタブロックの番号Ｏをインクリメントして歩進させてメモリ保存する。また、クロスフェードによりバイパス状態に遷移させたコムフィルタブロックＣＦ［Ｏ］では、乗算器５３のゲイン（係数）ｉｏを「０」にセットしておく。
【０１０８】
＜切り替えステージ２の動作＞
切り替えステージ２になると、ＣＰＵ１０はリバーブ・パラメータＲＰからバイパス状態のコムフィルタブロックＣＦ１（Ｐ＝０）のパラメータ（遅延時間Ｔ１，係数ｇ１）を読み出す。そして、コムフィルタＣＦ１の遅延素子５１ａに遅延時間Ｔ１をセットすると共に、乗算器５２ａにゲイン（係数）＋ｇ１をセットする。
【０１０９】
この際、コムフィルタブロックＣＦ１（Ｐ＝０）の乗算器５３ａのゲイン（係数）ｃ１は「０」なので、外部に遅延変化を与えることなくコムフィルタＣＦ１のパラメータ（遅延時間Ｔ１，係数ｇ１）を更新し得る。そして、パラメータを更新し終えると、上記遅延時間Ｔ１に相当する過渡期間が経過するまで待機する。
【０１１０】
過渡期間が経過すると、エンベロープ乗算によるクロスフェードによって、コムフィルタブロックＣＦ２（Ｏ＝１）の乗算器５３ｂのゲイン（係数）ｃ２を「０」、乗算器５２ｂのゲイン（係数）ｇ２を「０」にセットする一方、コムフィルタブロックＣＦ１（Ｐ＝０）の乗算器５３ａのゲイン（係数）ｃ１を「１」にセットする。これにより、「コムフィルタブロックＣＦ２（Ｏ＝１）」をバイパス状態に遷移させ、「コムフィルタブロックＣＦ１（Ｐ＝０）」をフィルタ出力に遷移させる。
【０１１１】
＜切り替えステージ３の動作＞
切り替えステージ３になると、ＣＰＵ１０はリバーブ・パラメータＲＰからバイパス状態のコムフィルタブロックＣＦ２（Ｐ＝１）のパラメータ（遅延時間Ｔ２，係数ｇ２）を読み出す。そして、コムフィルタＣＦ２の遅延素子５１ｂに遅延時間Ｔ２をセットすると共に、乗算器５２ｂにゲイン（係数）＋ｇ２をセットする。
【０１１２】
この際、コムフィルタブロックＣＦ２（Ｐ＝１）の乗算器５３ｂのゲイン（係数）ｃ２は「０」なので、外部に遅延変化を与えることなくコムフィルタＣＦ２のパラメータ（遅延時間Ｔ２，係数ｇ２）を更新し得る。そして、パラメータを更新し終えると、上記遅延時間Ｔ２に相当する過渡期間が経過するまで待機する。
【０１１３】
過渡期間が経過すると、エンベロープ乗算によるクロスフェードによって、コムフィルタブロックＣＦ３（Ｏ＝２）の乗算器５３ｃのゲイン（係数）ｃ３を「０」、乗算器５２ｃのゲイン（係数）ｇ３を「０」にセットする一方、コムフィルタブロックＣＦ２（Ｐ＝１）の乗算器５３ａのゲイン（係数）ｃ１を「１」にセットする。これにより、「コムフィルタブロックＣＦ３（Ｏ＝２）」をバイパス状態に遷移させ、「コムフィルタブロックＣＦ２（Ｐ＝１）」をフィルタ出力に遷移させる。
【０１１４】
＜切り替えステージ４の動作＞
切り替えステージ４になると、ＣＰＵ１０はリバーブ・パラメータＲＰからバイパス状態のコムフィルタブロックＣＦ３（Ｐ＝２）のパラメータ（遅延時間Ｔ３，係数ｇ３）を読み出す。そして、コムフィルタＣＦ３の遅延素子５１ｃに遅延時間Ｔ３をセットすると共に、乗算器５２ｃにゲイン（係数）＋ｇ３をセットする。
【０１１５】
この際、コムフィルタブロックＣＦ３（Ｐ＝２）の乗算器５３ｃのゲイン（係数）ｃ３は「０」なので、外部に遅延変化を与えることなくコムフィルタＣＦ３のパラメータ（遅延時間Ｔ３，係数ｇ３）を更新し得る。そして、パラメータを更新し終えると、上記遅延時間Ｔ３に相当する過渡期間が経過するまで待機する。
【０１１６】
過渡期間が経過すると、エンベロープ乗算によるクロスフェードによって、コムフィルタブロックＣＦ４（Ｏ＝３）の乗算器５３ｄのゲイン（係数）ｃ４を「０」、乗算器５２ｄのゲイン（係数）ｇ４を「０」にセットする一方、コムフィルタブロックＣＦ３（Ｐ＝２）の乗算器５３ｂのゲイン（係数）ｃ２を「１」にセットする。これにより、「コムフィルタブロックＣＦ４（Ｏ＝３）」をバイパス状態に遷移させ、「コムフィルタブロックＣＦ３（Ｐ＝２）」をフィルタ出力に遷移させる。そして、全ての切り替えステージ１〜４について処理し終えると、ステップＳＦ４の判断結果が「ＹＥＳ」になり、本処理を終える。そうすると、ＣＰＵ１０は次のステップＳＢ４に進み、各種増幅系切替処理を実行する。
【０１１７】
（４）各種増幅系切替処理の動作
次に、図１２を参照して各種増幅系切替処理の動作を説明する。図７（ｂ）に図示するステップＳＢ４を介して各種増幅系切替処理が実行されると、ＣＰＵ１０は図１２に図示するステップＳＧ１に処理を進め、ローパスフィルタ（ＬＰＦ）部（Ｌ）変更処理を実行する。この増幅系切替処理における各種のパラメータの切り替えについても、コムフィルタＣＦやオールパスフィルタＡＰＦのクロスフェードと同様に、ステージの進行を判断するタイマ値に基づいて、ステージが切り替わる時間内にパラメータの切り替えが完了するように、徐々に設定値を変化させていく。
【０１１８】
ローパスフィルタ（ＬＰＦ）部（Ｌ）変更処理では、リバーブ・タイプの切り替えに応じて、リバーブ・パラメータＲＰ（図２（ｂ）参照）からＬＰＦ部パラメータとなるゲイン（係数）ａを読み出してローパスフィルタ（ＬＰＦ）部（Ｌ）１６６（図４（ｂ）参照）の乗算器１６６ｄに付与すると共に、ゲイン（係数）１−ａを乗算器１６６ａに付与する。
【０１１９】
そして、乗算器１６６ｄに付与するゲイン（係数）ａと、乗算器１６６ａに付与するゲイン（係数）１−ａとを補間して目標値まで滑らかに値を変化させる。これにより入力の変化に対して遅延出力を滑らかに追随させ、コムフィルタ（ＣＦ）部（Ｌ）１６４の左チャンネル出力の残響音の音質を調整する。
【０１２０】
次に、ステップＳＧ２では、ローパスフィルタ（ＬＰＦ）部（Ｒ）変更処理を実行する。この処理は、リバーブ・タイプの切り替えに応じて、リバーブ・パラメータＲＰ（図２（ｂ）参照）からＬＰＦ部パラメータとなるゲイン（係数）ａを読み出してローパスフィルタ（ＬＰＦ）部（Ｌ）１６７の乗算器１６７ｄに付与すると共に、ゲイン（係数）１−ａを乗算器１６７ａに付与する。
【０１２１】
そして、乗算器１６７ｄに付与するゲイン（係数）ａと、乗算器１６７ａに付与するゲイン（係数）１−ａとを補間して目標値まで滑らかに値を変化させる。これにより入力の変化に対して遅延出力を滑らかに追随させ、コムフィルタ（ＣＦ）部（Ｒ）１６５の右チャンネル出力の残響音の音質を調整する。
【０１２２】
続いて、ステップＳＧ３に進むと、ＣＰＵ１０はハイパスフィルタ（ＨＰＦ）部変更処理を実行する。この処理では、リバーブ・タイプの切り替えに応じて、リバーブ・パラメータＲＰ（図２（ｂ）参照）からＨＰＦ部パラメータとなるゲイン（係数）ｂを読み出してハイパスフィルタ（ＨＰＦ）部１６２の乗算器１６２ｃ（図４（ａ）参照）に付与する。そして、乗算器１６２ｃにおいて、それまでに付与されていたゲイン（係数）から今回新たに付与されたゲイン（係数）ｂまで徐々に移行させて遅延出力を滑らかに変化させる。
【０１２３】
そして、ステップＳＧ４では、ＣＰＵ１０が出力レベル変更処理を実行する。この処理では、リバーブ・タイプの切り替えに応じて、リバーブ・パラメータＲＰ（図２（ｂ）参照）から出力レベルＯｔｌｖｌを読み出し、左右チャンネルをレベル調整して定位制御する乗算器１６８、１６９（図３参照）野乗算係数として各々に付与する。そして、乗算器１６８、１６９にそれぞれにおいて、それまでに付与されていた出力レベルから今回新たに付与された出力レベルＯｔｌｖｌまで徐々に移行させて出力変化を滑らかにする。
【０１２４】
このように、各種増幅系切替処理では、リバーブ・タイプの切り替えに応じて、ハイパスフィルタＨＰＦやローパスフィルタＬＰＦの各特性、遅延帰還入力量に応じた残響時間、残響音密度、リバーブ出力レベルを発生する増幅系において、補間を行って目標値まで滑らかに値を変化させるようになっている。
【０１２５】
以上のように、上述した一実施形態では、残響アルゴリズムに基づき残響音のランダムな反射や分散をシミュレートする回路要素として機能する複数系統の遅延巡回フィルタ（オールパスフィルタＡＰＦ、コムフィルタＣＦ）に、少なくとも１つの予備系統を含ませておき、リバーブ・タイプの切り替えに応じて、複数系統の中で使用中の遅延巡回フィルタを１つづつ、パラメータ設定された未使用の遅延巡回フィルタにクロスフェードで切り替える処理を、複数系統に含まれる遅延巡回フィルタの個数に相当する回数分繰り返すことによって所望の残響特性へ滑らかに切り替える為、フィルタ特性の変更時に生じる不自然さを解消することが可能になる。
【０１２６】
また、並列処理可能な２系統のリバーブ処理機能を設けておき、一方の系統で発生する切り替え前のリバーブ・タイプに対応した残響音と、他方の系統で発生する切り替え後のリバーブ・タイプに対応した残響音とをクロスフェードさせる手法でもフィルタ特性の変更時に生じる不自然さを解消し得るが、そうした手法では余分な処理系統を具備することからコスト的にリソース上の無駄が多く現実的でないが、本実施形態ではリソース上の無駄を出すこと無くフィルタ特性の変更時に生じる不自然さを解消可能にするというコストメリットも有する。
【０１２７】
なお、上述した実施形態では、左チャンネルで残響音のランダムな反射や分散過程をシミュレートするコムフィルタ（ＣＦ）部（Ｌ）１６４および右チャンネルで残響音のランダムな反射や分散過程をシミュレートコムフィルタ（ＣＦ）部（Ｌ）１６５をそれぞれ構成するコムフィルタブロックＣＦ１〜ＣＦ５の入力ボリューム（入力乗算器）を省く構成としたが、これに限らず、オールパスフィルタブロックＡＰＦ１〜ＡＰＦ５（図５参照）の乗算器３０ａ〜３０ｅと同等の入力ボリューム（入力乗算器）を設ける構成としても構わず、そうした回路構成とした方が外部への遅延変化を完全に防止する事が可能になる。
【０１２８】
また、上述した実施形態におけるオールパスフィルタアサイン処理（図８（ａ）のステップＳＣ１参照）およびコムフィルタアサイン処理（図１０（ａ）のステップＳＥ１参照）は、具体的な処理動作の一例であって、これ以外にも、例えば現状のパラメータ値とこれから設定するパラメータ値のうち値が近いものを優先的にアサインする方式や、設定すべきパラメータの変化幅が大きい場合は段階的に変更する方式などの他の割り当て形態であっても構わない。
【０１２９】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
【０１３０】
以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
（付記）
［請求項１］
複数のフィルタを含み、指定された特性を形成する特性形成部と、
前記特性形成部が形成する特性の変更を指示する変更指示部と、
前記変更指示部からの指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なうクロスフェード処理部と、
を具備することを特徴とするフィルタ特性変更装置
［請求項２］
前記クロスフェード処理部は、前記変更指示部からの変更指示に応じて、変更指示前の特性の形成に使用中のフィルタを前記第１のフィルタとし、変更指示された特性に対応させた未使用のフィルタを前記第２のフィルタとして、前記特性に寄与するフィルタが前記第１のフィルタから前記第２のフィルタに切り替わるように、前記クロスフェード処理を行なう
ことを特徴とする請求項１に記載のフィルタ特性変更装置。
［請求項３］
前記特性形成部は、少なくとも１つの予備を含む複数のフィルタから構成され、
前記切り替え処理部は、前記変更指示部からの変更指示に応じて、変更指示前の特性の形成に使用中のフィルタを前記第１のフィルタとし、前記予備のフィルタに対して変更指示された特性に対応するパラメータを設定した後、前記予備のフィルタを前記第２のフィルタとして、前記特性に寄与するフィルタが前記第１のフィルタから前記第２のフィルタに切り替わるように、前記クロスフェード処理を行なう
ことを特徴とする請求項１又は２に記載のフィルタ特性変更装置。
［請求項４］
前記変更指示部は、異なる複数の特性の中から前記特性形成部に設定すべき特性を選択して特性変更を指示し、
前記切り替え処理部は、前記予備のフィルタに対して前記変更指示部により選択された特性に対応するパラメータを設定した後、前記予備のフィルタを前記第２のフィルタとして、前記特性に寄与するフィルタが前記第１のフィルタから前記第２のフィルタに切り替わるように、前記クロスフェード処理を行なう
ことを特徴とする請求項１乃至３の何れかに記載のフィルタ特性変更装置。
［請求項５］
前記特性形成部は、少なくとも１つの予備を含む複数の遅延巡回フィルタから構成され、所定の残響特性を形成し、
前記変更指示部は、前記特性形成部の残響特性の変更を指示し、
前記切り替え処理部は、前記変更指示部からの変更指示に応じて、前記特性形成部を構成する複数の遅延巡回フィルタの内、変更指示前の残響特性の形成に使用中の遅延巡回フィルタを、変更指示された残響特性に対応させた未使用の遅延巡回フィルタにクロスフェードで切り替える
ことを特徴とする請求項１乃至４の何れかに記載のフィルタ特性変更装置。
［請求項６］
前記特性形成部は、循環部と遅延部を備えるとともに信号の遅延時間を可変することが可能な遅延巡回フィルタと、前記遅延巡回フィルタとは異なるフィルタであって、信号の遅延時間を可変することができない増幅系フィルタから構成され、
前記切り替え処理部は、前記遅延巡回フィルタについては前記クロスフェード処理で切り替え、前記増幅系フィルタについてはクロスフェード処理を用いずに、個々の増幅系フィルタのパラメータを徐々に変化させる処理を行なう
ことを特徴とする請求項１乃至５の何れかに記載のフィルタ特性変更装置。
［請求項７］
フィルタ特性変更装置に用いられるフィルタ特性変更方法であって、
フィルタ特性変更装置が、
複数のフィルタを含み、指定された特性を形成し、
特性の変更を指示すると、
その指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なう
ことを特徴とするフィルタ特性変更方法。
［請求項８］
フィルタ特性変更装置に搭載されるコンピュータに、
複数のフィルタを含み、指定された特性を形成する特性形成ステップと、
前記特性形成ステップで形成する特性の変更を指示する変更指示ステップと、
前記変更指示ステップからの指示に応じて、前記複数のフィルタの内の第１のフィルタと第２のフィルタのクロスフェード処理として、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なうクロスフェード処理ステップと
を実行させることを特徴とするプログラム。
［請求項９］
演奏入力操作に応じた演奏入力情報を発生する演奏入力部と、
前記演奏入力部が発生する演奏入力情報に応じた楽音を発生する音源部と、
請求項１乃至６の何れかに記載のフィルタ特性変更装置を備える効果付加部と、
を具備することを特徴とする電子楽器。
【符号の説明】
【０１３１】
１  鍵盤
２  パネルスイッチ
３  表示パネル
４  ベンダーホイール
５  モジュレーションホイール
６  ＬＣＤコントローラ
７  キースキャナ
８  ＡＤ変換器
９  Ｉ／Ｏコントローラ
１０  ＣＰＵ
１１  ＲＯＭ
１２  フラシュメモリ・コントローラ
１３  ＣＰＵ用ＲＡＭ
１４  波形メモリ
１５  音源部
１６  ＤＳＰ
１７  ＤＳＰ用ＲＡＭ
１８  ＤＡ変換器
１９  アンプ
２０  スピーカ
１００  電子鍵盤楽器
【図１】
2018155799.tif 000003
【図２】
2018155799.tif 000004
【図３】
2018155799.tif 000005
【図４】
2018155799.tif 000006
【図５】
2018155799.tif 000007
【図６】
2018155799.tif 000008
【図７】
2018155799.tif 000009
【図８】
2018155799.tif 000010
【図９】
2018155799.tif 000011
【図１０】
2018155799.tif 000012
【図１１】
2018155799.tif 000013
【図１２】
2018155799.tif 000014
【手続補正書】
【提出日】平成30年7月2日(2018.7.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明のフィルタ特性変更装置は、
少なくとも１つの予備のフィルタを含む複数のフィルタを含み、指定された特性を形成する特性形成部と、
前記特性形成部が形成する特性の変更を指示する変更指示部と、
前記変更指示部からの指示に応じて、前記複数のフィルタの内の、変更指示前の特性の形成に使用している第１のフィルタと前記予備のフィルタである第２のフィルタとのクロスフェード処理として、変更指示された特性に対応するパラメータを前記第２のフィルタに設定した後、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なって、前記特性に寄与するフィルタを前記第１のフィルタから前記第２のフィルタに切り替える処理部と、
を具備することを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の他の態様の特性変更装置は、
循環部と遅延部を備えるとともに信号の遅延時間を可変することが可能なフィルタである遅延巡回フィルタと、前記遅延巡回フィルタとは異なるフィルタであって、信号の遅延時間を可変することができない増幅系フィルタを含む複数のフィルタを含み、指定された特性を形成する特性形成部と、
前記特性形成部が形成する特性の変更を指示する変更指示部と、
前記変更指示部からの指示に応じて、前記複数のフィルタの内、前記遅延巡回フィルタについては、第１の遅延巡回フィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理と、第２の遅延巡回フィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理とを含むクロスフェード処理を行い、前記増幅系フィルタについては、個々の増幅系フィルタのパラメータを徐々に変化させる処理を行うことにより前記特性を切り替える処理部と、
を具備することを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つの予備のフィルタを含む複数のフィルタを含み、指定された特性を形成する特性形成部と、
前記特性形成部が形成する特性の変更を指示する変更指示部と、
前記変更指示部からの指示に応じて、前記複数のフィルタの内の、変更指示前の特性の形成に使用している第１のフィルタと前記予備のフィルタである第２のフィルタとのクロスフェード処理として、変更指示された特性に対応するパラメータを前記第２のフィルタに設定した後、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なって、前記特性に寄与するフィルタを前記第１のフィルタから前記第２のフィルタに切り替える処理部と、
を具備するフィルタ特性変更装置。
【請求項２】
前記特性形成部は、少なくとも１つの予備のフィルタと、変更指示前の特性の形成に使用している複数のフィルタとを含み、
前記処理部は、変更指示前の特性の形成に使用している前記複数のフィルタのうちの１つを前記第１のフィルタとして前記クロスフェード処理を実行する、請求項１に記載のフィルタ特性変更装置。
【請求項３】
前記処理部は、前記予備のフィルタを含む複数のフィルタの中で、前記クロスフェード処理の対象となる２つのフィルタを順次入れ替えながら、複数回の前記クロスフェード処理を実行していく、請求項１または２に記載のフィルタ特性変更装置。
【請求項４】
前記処理部は、前記変更指示部からの指示に応じて、変更指示前の特性に対応するパラメータが設定されているフィルタの数と、変更指示された特性に対応するパラメータが設定されているフィルタの数とが、段階的に変化していくように、複数回の前記クロスフェード処理を実行していく、請求項３に記載のフィルタ特性変更装置。
【請求項５】
前記変更指示部は、異なる複数の特性の中から前記特性形成部に設定すべき特性を選択して特性変更を指示し、
前記処理部は、前記予備のフィルタに対して前記変更指示部により選択された特性に対応するパラメータを設定した後、前記クロスフェード処理を実行する、請求項１乃至４のいずれか一項に記載のフィルタ特性変更装置。
【請求項６】
前記複数のフィルタは、それぞれのフィルタが循環部と遅延部を備える複数の遅延巡回フィルタである、請求項１乃至５のいずれか一項に記載のフィルタ特性変更装置。
【請求項７】
循環部と遅延部を備えるとともに信号の遅延時間を可変することが可能なフィルタである遅延巡回フィルタと、前記遅延巡回フィルタとは異なるフィルタであって、信号の遅延時間を可変することができない増幅系フィルタを含む複数のフィルタを含み、指定された特性を形成する特性形成部と、
前記特性形成部が形成する特性の変更を指示する変更指示部と、
前記変更指示部からの指示に応じて、前記複数のフィルタの内、前記遅延巡回フィルタについては、第１の遅延巡回フィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理と、第２の遅延巡回フィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理とを含むクロスフェード処理を行い、前記増幅系フィルタについては、個々の増幅系フィルタのパラメータを徐々に変化させる処理を行うことにより前記特性を切り替える処理部と、
を具備するフィルタ特性変更装置。
【請求項８】
前記特性形成部は、少なくとも１つの予備の遅延巡回フィルタを含み、
前記処理部は、前記変更指示部からの指示に応じて、前記複数の遅延巡回フィルタの内の、変更指示前の特性の形成に使用している前記第１の遅延巡回フィルタと前記予備の遅延巡回フィルタである前記第２の遅延巡回フィルタとを対象として前記クロスフェード処理を実行する、請求項７に記載のフィルタ特性変更装置。
【請求項９】
前記特性形成部は、前記複数のフィルタを直列接続したオールパスフィルタまたは前記複数のフィルタを並列接続したコムフィルタを含む、請求項７または８に記載のフィルタ特性変更装置。
【請求項１０】
前記特性形成部は、循環部と遅延部を備える遅延巡回フィルタを直列接続したオールパスフィルタまたは前記遅延巡回フィルタを並列接続したコムフィルタと、前記遅延巡回フィルタとは異なるフィルタであって、信号の遅延時間を可変することができない増幅系フィルタとを含む、請求項９に記載のフィルタ特性変更装置。
【請求項１１】
フィルタ特性変更装置に用いられるフィルタ特性変更方法であって、
フィルタ特性変更装置が、
少なくとも１つの予備を含む複数のフィルタにより指定された特性を形成し、
特性の変更を指示すると、
その指示に応じて、前記複数のフィルタの内の、変更指示前の特性の形成に使用している第１のフィルタと前記予備のフィルタである第２のフィルタとのクロスフェード処理として、変更指示された特性に対応するパラメータを前記第２のフィルタに設定した後、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なって、前記特性に寄与するフィルタを前記第１のフィルタから前記第２のフィルタに切り替える
フィルタ特性変更方法。
【請求項１２】
フィルタ特性変更装置に搭載されるコンピュータに、
少なくとも１つの予備を含む複数のフィルタにより指定された特性を形成する特性形成ステップと、
前記特性形成ステップで形成する特性の変更を指示する変更指示ステップと、
前記変更指示ステップでの指示に応じて、前記複数のフィルタの内の、変更指示前の特性の形成に使用している第１のフィルタと前記予備のフィルタである第２のフィルタとのクロスフェード処理として、変更指示された特性に対応するパラメータを前記第２のフィルタに設定した後、前記第１のフィルタが前記特性に寄与する度合いを徐々に小さくするフェードアウト処理を行なうとともに、前記第２のフィルタが前記特性に寄与する度合いを徐々に大きくするフェードイン処理を行なって、前記特性に寄与するフィルタを前記第１のフィルタから前記第２のフィルタに切り替えるクロスフェード処理ステップと、
を実行させるプログラム。
【請求項１３】
演奏入力操作に応じた演奏入力情報を発生する演奏入力部と、
前記演奏入力部が発生する演奏入力情報に応じた楽音を発生する音源部と、
請求項１乃至１０の何れかに記載のフィルタ特性変更装置を用いて、前記音源部が発生する楽音に対して指定された音響効果を付加する効果付加部と、
を具備することを特徴とする電子楽器。
【請求項１４】
前記音響効果の付加をユーザが指示するための操作部を備える、請求項１３に記載の電子楽器。
【請求項１５】
前記操作部は、ピッチベンドまたはモジュレーションを指示する操作部である、請求項１４に記載の電子楽器。