(57)【要約】   【課題】  少ない演算量で、測定されたインパルス応答データと同質の再現性を有する共鳴音を生成でき、かつ、インパルス応答データのデータ量を減らす。  【解決手段】  共鳴音付加装置は、時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファ２２と、インパルス応答特性を表す時間軸上の値であるインパルス応答データ１４を記憶した記憶部１６と、インパルス応答データ１４の値と、ディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成部２０と、記憶部１６に記憶された元のインパルスデータ１２を取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、極大値および極小値を、インパルス応答データの値として記憶部１６に記憶し、当該極大値および極小値以外は、インパルス応答データの値として「０」を示す値を記憶部１６に記憶するインパルス応答生成部１８を備える。【選択図】  図１
2008299005.tif 000002
【特許請求の範囲】
【請求項１】
時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファと、
インパルス応答特性を表す時間軸上の値であるインパルス応答データを記憶した記憶部と、
前記インパルス応答データの値と、入力データバッファに記憶されたディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成手段と、を備えた共鳴音付加装置であって、
前記記憶部が、元のインパルス応答データを記憶し、
前記記憶部に記憶された元のインパルスデータを取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、前記見出された極大値および極小値を、前記インパルス応答データの値として、前記記憶部に記憶するとともに、前記見出された極大値および極小値以外は、前記インパルス応答データの値として、「０」を示す値を前記記憶部に記憶するインパルス応答生成手段を備えたことを特徴とする共鳴音付加装置。
【請求項２】
前記共鳴音生成手段が、前記インパルス応答データの値が「０」以外であるときのみ、前記インパルス応答データの値と、前記ディレイメモリ値とを乗算し、かつ、乗算された値を累算するように構成されたことを特徴とする請求項１に記載の共鳴音付加装置。
【請求項３】
前記インパルス応答生成手段が、前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する直線上の値となるような閾値を算出し、前後の値より、前記閾値より変動が大きい極大値および極小値を見出すように構成されたことを特徴とする請求項１または２に記載の共鳴音付加装置。
【請求項４】
前記インパルス応答生成手段が、前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する指数曲線上の値となるような閾値を算出し、前後の値より、前記閾値より変動が大きい極大値および極小値を見出すように構成されたことを特徴とする請求項１または２に記載の共鳴音付加装置。
【請求項５】
時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファと、インパルス応答特性を表す時間軸上の値であるインパルス応答データを記憶した記憶部と、を備えたコンピュータにおいて、前記コンピュータに、
前記インパルス応答データの値と、入力データバッファに記憶されたディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成ステップを実行させる共鳴音付加プログラムであって、
前記記憶部が、元のインパルス応答データを記憶し、
前記コンピュータに、
前記記憶部に記憶された元のインパルスデータを取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、前記見出された極大値および極小値を、前記インパルス応答データの値として、前記記憶部に記憶するとともに、前記見出された極大値および極小値以外は、前記インパルス応答データの値として、「０」を示す値を前記記憶部に記憶するインパルス応答生成ステップを実行させることを特徴とする共鳴音付加プログラム。
【請求項６】
前記共鳴音生成ステップにおいて、
前記インパルス応答データの値が「０」以外であるときのみ、前記インパルス応答データの値と、前記ディレイメモリ値とを乗算し、かつ、乗算された値を累算するステップを実行させることを特徴とする請求項５に記載の共鳴音付加プログラム。
【請求項７】
前記インパルス応答生成ステップにおいて、前記コンピュータに、
前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する直線上の値となるような閾値を算出するステップと、
前後の値より、前記閾値より変動が大きい極大値および極小値を見出すステップと、を実行させることを特徴とする請求項５または６に記載の共鳴音付加プログラム。
【請求項８】
前記インパルス応答生成ステップにおいて、前記コンピュータに、
前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する指数曲線上の値となるような閾値を算出するステップと、
前後の値より、前記閾値より変動が大きい極大値および極小値を見出すステップと、を実行させることを特徴とする請求項５または６に記載の共鳴音付加プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音に共鳴音を付加する共鳴音付加装置および共鳴音付加プログラムに関する。
【背景技術】
【０００２】
電子楽器やオーディオ機器からの楽音信号に共鳴音を付加する種々の装置が知られている。ここに、共鳴音には、ホールなど楽音が発生される場所における残響音や、楽器自体の共鳴音などが含まれる。
【０００３】
共鳴音を発生するためには、共鳴音付加装置は、ディジタルの楽音信号を受け入れて、楽音信号データにディジタルフィルタによるフィルタ処理を施すのが一般的である。フィルタ処理においては、ＦＩＲ（有限インパルス応答：Finite Impulse Response）フィルタ或いはＩＩＲ（無限インパルス応答：Infinite Impulse
Response）フィルタが利用される。
【０００４】
ＦＩＲフィルタを利用する場合には、入力された楽音信号データｘ（ｎ−ｋ）と、音楽ホールの残響特性などから得たインパルス応答ｈ（ｋ）を畳み込み演算することで、共鳴音ｙｏｕｔ＝Σｘ（ｎ−ｋ）×ｈ（ｋ）のデータを得ることができる。しかしながら、ＦＩＲフィルタにおいては、インパルス応答データの数、つまり、フィルタの次数を高くすることにしたがって、より理想的なフィルタ特性に近づけることができる。その一方、フィルタの次数を上げるにしたがって、演算量も多量となるという問題点がある。
【０００５】
ＦＦＴ（高速フーリエ変換）を利用してインパルス応答を計算することにより、高次にわたるインパルス応答を演算できる方法が提案されている。特許文献１には、有限長のインパルス応答の特性が標本値列｛ｈ（ｎ）｝で表現される特性をもつシステムに、標本値列｛ｘ（ｎ）｝で表現される信号が入力された場合の出力｛ｙ（ｎ）｝を、ＦＦＴハードウェアを用いた畳み込み演算を用いて計算する方法において、標本値列｛ｘ（ｎ）｝を所定の条件の下で小区間に分割するとともに、標本値列｛ｈ（ｎ）｝も所定の条件で小区間に分割し、それぞれの小区間ずつ、重畳加算法もしくは重畳保留法によって分割処理するようにした方法が開示されている。
【特許文献１】特開２００５−２１５０５８号公報
【特許文献２】特開平６−２５９０８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
また、ＩＩＲフィルタを利用することで演算量を抑えるような種々の技術も提案されている（たとえば、特許文献２）。特許文献２においては、くし形フィルタのループ回路中に、入力信号を時間軸方向に散乱させるための全帯域帯域フィルタを設け、また、くし形フィルタ内のローパスフィルタのカットオフ周波数を、ループ回路内の遅延回路の遅延時間に基づいて決定し、さらに、共鳴音・残響音の出力レベルを検出し、その出力レベルに基づいて共鳴音・残響音のレベルを制御する。また、特許文献２において、共鳴音・残響音のレベル制御は、くし形フィルタのループ回路を循環するループ信号のレベルを制御することにより行われている。
【０００７】
しかしながら、ＦＦＴを利用する場合には、所定の範囲の入力ごとにインパルス応答を演算する必要があるため、基本的にリアルタイムでの処理が困難であるという問題点がある。
【０００８】
また、ＩＩＲフィルタを利用する場合には、演算量は小さくすることができるが、測定されたインパルス応答の特性を再現することが難しいという問題点がある。
【０００９】
本発明は、少ない演算量で、測定されたインパルス応答データと同質の再現性を有する共鳴音を生成することができ、かつ、フィルタ演算に利用するインパルス応答データのデータ量を減らすことが可能な共鳴音付加装置、および、共鳴音付加プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的は、時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファと、
インパルス応答特性を表す時間軸上の値であるインパルス応答データを記憶した記憶部と、
前記インパルス応答データの値と、入力データバッファに記憶されたディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成手段と、を備えた共鳴音付加装置であって、
前記記憶部が、元のインパルス応答データを記憶し、
前記記憶部に記憶された元のインパルスデータを取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、前記見出された極大値および極小値を、前記インパルス応答データの値として、前記記憶部に記憶するとともに、前記見出された極大値および極小値以外は、前記インパルス応答データの値として、「０」を示す値を前記記憶部に記憶するインパルス応答生成手段を備えたことを特徴とする共鳴音付加装置により達成される。
【００１１】
好ましい実施態様においては、前記共鳴音生成手段が、前記インパルス応答データの値が「０」以外であるときのみ、前記インパルス応答データの値と、前記ディレイメモリ値とを乗算し、かつ、乗算された値を累算するように構成されている。
【００１２】
別の好ましい実施態様においては、前記インパルス応答生成手段が、前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する直線上の値となるような閾値を算出し、前後の値より、前記閾値より変動が大きい極大値および極小値を見出すように構成されている。
【００１３】
さらに別の好ましい実施態様においては、前記インパルス応答生成手段が、前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する指数曲線上の値となるような閾値を算出し、前後の値より、前記閾値より変動が大きい極大値および極小値を見出すように構成されている。
【００１４】
また、本発明の目的は、時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファと、インパルス応答特性を表す時間軸上の値であるインパルス応答データを記憶した記憶部と、を備えたコンピュータにおいて、前記コンピュータに、
前記インパルス応答データの値と、入力データバッファに記憶されたディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成ステップを実行させる共鳴音付加プログラムであって、
前記記憶部が、元のインパルス応答データを記憶し、
前記コンピュータに、
前記記憶部に記憶された元のインパルスデータを取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、前記見出された極大値および極小値を、前記インパルス応答データの値として、前記記憶部に記憶するとともに、前記見出された極大値および極小値以外は、前記インパルス応答データの値として、「０」を示す値を前記記憶部に記憶するインパルス応答生成ステップを実行させることを特徴とする共鳴音付加プログラムにより達成される。
【００１５】
好ましい実施態様においては、前記共鳴音生成ステップにおいて、
前記インパルス応答データの値が「０」以外であるときのみ、前記インパルス応答データの値と、前記ディレイメモリ値とを乗算し、かつ、乗算された値を累算するステップを実行させる。
【００１６】
別の好ましい実施態様においては、前記インパルス応答生成ステップにおいて、前記コンピュータに、
前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する直線上の値となるような閾値を算出するステップと、
前後の値より、前記閾値より変動が大きい極大値および極小値を見出すステップと、を実行させる。
【００１７】
さらに別の好ましい実施態様においては、前記インパルス応答生成ステップにおいて、前記コンピュータに、
前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する指数曲線上の値となるような閾値を算出するステップと、
前後の値より、前記閾値より変動が大きい極大値および極小値を見出すステップと、を実行させる。
【発明の効果】
【００１８】
本発明によれば、少ない演算量で、測定されたインパルス応答データと同質の再現性を有する共鳴音を生成することができ、かつ、フィルタ演算に利用するインパルス応答データのデータ量を減らすことが可能な共鳴音付加装置、および、共鳴音付加プログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明の実施の形態にかかる共鳴音付加装置の構成を示すブロックダイヤグラムである。
【００２０】
図１に示すように、本実施の形態にかかる共鳴音付加装置は、元のインパルス応答データ１２および後述する演算により算出された新たなインパルス応答データ１４を記憶する記憶部１６と、元のインパルス応答データ１２から新たなインパルス応答データ１４を生成して、新たなインパルス応答データ１４を記憶部１６に格納するインパルス応答生成部１８と、一連の楽音信号データを格納した入力データバッファ２２から楽音信号データを受け入れて、楽音信号データおよび新たなインパルス応答データを畳み込み演算することにより共鳴音データを生成する共鳴音生成部２０と、一連の楽音信号データを受け入れて、これらデータを一時的に記憶する入力データバッファ２２と、出力された共鳴音データを一時的に記憶する共鳴音データバッファ２４と、を備えている。
【００２１】
図２は、本実施の形態にかかる共鳴音付加装置のハードウェア構成を示すブロックダイヤグラムである。図２に示すように、共鳴音付加装置のハードウェアは、ＣＰＵ３０、ＲＯＭ３２、ＲＡＭ３４、入力装置３６、表示装置３８およびサウンドシステム４０を含む。ＣＰＵ３０、ＲＯＭ３２、ＲＡＭ３４、入力装置３６、表示装置３８およびサウンドシステム４０は、バス４２で接続されている。
【００２２】
図２にから理解できるように、共鳴音付加装置は、通常のパーソナルコンピュータによって実現され得る。ＣＰＵ３０は、システム制御、新たなインパルス応答データ１４の生成、表示装置の画面上に表示すべき画像データの生成などの処理を実行する。ＲＯＭ３２は、プログラムや、プログラムの実行の際に使用される定数などを記憶する。ＲＡＭ３４は、プログラムの実行の過程で必要な変数、パラメータ、入力データ、出力データなどを一時的に記憶する。
【００２３】
入力装置３６は、たとえば、キーボードやマウスを有し、操作者が所望の指示を入力することができるようになっている。表示装置３８の画面上には、操作者が入力した指示や処理結果が表示可能である。
【００２４】
サウンドシステム４０は、楽音生成回路４４、共鳴音生成部２０、増幅器（図示せず）、スピーカ（図示せず）などを含み、ＣＰＵ３０からの指示にしたがって、所定の楽音信号のデータを生成し、かつ、楽音信号データに共鳴音が付加された共鳴音データを生成し、生成された共鳴音データに基づく音響信号を出力する。
【００２５】
楽音生成回路４４は、ＲＯＭ３２から楽音波形を読み出して、指定された音高の楽音信号データを生成する。楽音信号データは、図１に示すように入力データバッファ２２に一時的に記憶される。共鳴音生成部２０は、ＦＩＲフィルタであり、入力データバッファ２２から、楽音信号データを入力データとして読み出し、楽音信号データと、記憶部１４から読み出した新たなインパルス応答データとを畳み込み演算することにより、共鳴音データを生成し、共鳴音データバッファ２４に格納する。
【００２６】
図１に示すインパルス応答生成部１８の機能は、ＣＰＵ３０により実現される。なお、図２において、共鳴音生成部２０を、サウンドシステム４０における要素として図示しているが、共鳴音生成部２０が、ディジタルフィルタ回路のようなハードウェアにより実現されることに限定されず、共鳴音生成部２０の機能をＣＰＵ３０により実現することも可能である。
【００２７】
また、図１の記憶部１６、入力データバッファ２２および共鳴音データバッファ２４は、たとえば、ＲＡＭ３４により実現される。
【００２８】
本実施の形態にかかる共鳴音付加装置においては、たとえばＲＯＭ３２に記憶されたプログラムが、コンピュータを、インパルス応答生成部１８として機能させる。また、ＲＯＭ３２に記憶されたプログラムが、コンピュータを、共鳴音生成部２０として機能させることもできる。
【００２９】
元のインパルス応答データ１２は、音楽ホールの残響特性などを測定し、測定された残響特性に基づいて得られたデータである。本実施の形態において、共鳴音付加装置の記憶部１６に元のインパルス応答データ１２が記憶され、インパルス応答生成部１８によって、元のインパルス応答データ１２に基づいて新たなインパルス応答データ１４が生成され、新たなインパルス応答データ１４が記憶部１６に記憶される。いったん新たなインパルス応答データ１４が生成されると、それ以降、新たなインパルス応答データ１４のみが共鳴音生成のために利用され、元のインパルス応答データ１２は利用されない。したがって、元のインパルス応答データ１２は、新たなインパルス応答データ１４を生成するときのみ、記憶部１６に記憶されていれば良い。
【００３０】
したがって、本実施の形態にかかる共鳴音付加装置は、共鳴音データを生成する共鳴音生成処理の前処理として、新たなインパルス応答データを生成するインパルス応答データの生成処理を実行する。
【００３１】
図３は、本実施の形態にかかるインパルス応答データの生成処理の例を示すフローチャートである。記憶部１６には、フィルタの次数にしたがった、元のインパルス応答データＩｒｏ［ｎ］（ｎ＝０〜ｎＴａｐ−１）が格納されている。本実施の形態においては、元のインパルス応答データにおいて、前後の値より所定なだけ変動が大きいような極大値および極小値を見出して、見出された極大値および極小値については、元のインパルス応答データの値を、新たなインパルス応答データの値として保持する。その一方、それ以外の場合には、新たなインパルス応答データの値として「０」を保持する。これにより、後述する共鳴音生成処理における演算量を削減することが可能となる。
【００３２】
図３に示すように、インパルス応答生成部１８は、演算用のパラメータを、「ｎ＝０」に初期化する（ステップ３０１）。パラメータ「ｎ」は処理対象となる元のインパルス応答データＩｐｏ［ｎ］および新たなインパルス応答データＩｐｇ［ｎ］を特定する。なお、「ｎ」は、インパルス応答の時間軸上の値に相当する。
【００３３】
インパルス応答生成部１８は、ｎ≧ｎＴａｐとなるまで（ステップ３０２でＹｅｓ）、ステップ３０３以下の処理を実行する。
【００３４】
インパルス応答生成部１８は、第ｎ番の新たなインパルス応答データＩｒｇ［ｎ］に「０」をセットする（ステップ３０３）。パラメータ「ｎ」が「０」であれば（ステップ３０４でＹｅｓ）、インパルス応答生成部１８は、パラメータ「ｎ」をインクリメントして（ステップ３１０）、ステップ３０２に戻る。
【００３５】
その一方、パラメータ「ｎ」が「０」でなければ（ステップ３０４でＮｏ）、インパルス応答生成部１８は、記憶部１６から元のインパルス応答データＩｒｏ［ｎ−１］、Ｉｒｏ［ｎ］、Ｉｒｏ［ｎ＋１］を読み出し、ｄｐ＝Ｉｒｏ［ｎ］−Ｉｒｏ［ｎ−１］およびｄｎ＝Ｉｒｏ［ｎ］−Ｉｒｏ［ｎ＋１］を算出する（ステップ３０５、３０６）。「ｄｐ」は、処理対象となっている元のインパルス応答データＩｒｏ［ｎ］と、その１つ前の元のインパルス応答データＩｒｏ［ｎ−１］との差であり、「ｄｎ」は、処理対象となっている元のインパルス応答データＩｒｏ［ｎ］と、その１つ後の元のインパルス応答データＩｒｏ［ｎ＋１］との差である。
【００３６】
「ｄｐ」および「ｄｎ」の双方が「＋（マイナス）」であれば、元のインパルス応答データＩｒｏ［ｎ］は極大であることになる。その一方、「ｄｐ」および「ｄｎ」の双方が「−（マイナス）」であれば、元のインパルス応答データＩｒｏ［ｎ］は極小であることになる。
【００３７】
本実施の形態においては、元のインパルス応答データＩｐｏ［ｎ］が、前後の値より、所定の閾値Ｔｈより大きいような極大値である場合、つまり、ｄｐ≧Ｔｈかつｄｎ≧Ｔｈである場合（ステップ３０７でＹｅｓ）、或いは、元のインパルス応答データＩｐｏ［ｎ］が、前後の値より、所定の負の閾値−Ｔｈより小さいような極小値である場合、つまり、ｄｐ≦−Ｔｈかつｄｎ≦−Ｔｈである場合（ステップ３０８でＹｅｓ）には、インパルス応答生成部１８は、元のインパルス応答データＩｐｏ［ｎ］を、新たなインパルス応答データＩｐｇ［ｐ］として、記憶部１６に記憶する（ステップ３０９）。
【００３８】
したがって、ステップ３０７或いはステップ３０８でＹｅｓと判断された場合には、インパルス応答生成部１８は、新たなインパルス応答データＩｒｇ［ｎ］＝Ｉｒｏ［ｎ］を記憶部１６に格納し、それ以外の場合には、Ｉｒｇ［ｎ］＝０を記憶部１６に格納する。
【００３９】
次いで、インパルス応答生成部１８は、パラメータ「ｎ」をインクリメントして（ステップ３１０）、ステップ３０２に戻る。
【００４０】
図３に示す処理によって、元のインパルス応答データＩｐｏ［ｎ］が、前後の値より、所定の閾値Ｔｈより大きいような極大値である場合、或いは、元のインパルス応答データＩｐｏ［ｎ］が、前後の値より、一定の閾値−Ｔｈよりも小さいような極小値である場合には、元のインパルス応答データの値と一致する新たなインパルス応答データが生成され、記憶部１８に格納される。それ以外の場合には、値「０」であるような新たなインパルス応答データが生成され、記憶部１８に格納される。本実施の形態において、元のインパルス応答データＩｒｏ［ｎ］および新たなインパルス応答データＩｒｇ［ｎ］のデータ数自体は同一であるが、後述するように演算量は削減することが可能となる。
【００４１】
図４は、本実施の形態にかかる新たなインパルス応答データの生成を説明するための図である。たとえば、元のインパルス応答データＩｒｏ［ｓ＋１］（符号４０１）を処理対象Ｉｒｏ［ｎ］としたときに、ｄｐ＝Ｉｒｏ［ｓ＋１］−Ｉｒｏ［ｓ］≧Ｔｈ、かつ、ｄｎ＝Ｉｒｏ［ｓ＋１］−Ｉｒｏ［ｓ＋２］≧Ｔｈであったとする。この場合には、対応する新たなインパルス応答データＩｒｇ［ｓ＋１］（符号４１１）には、Ｉｒｏ［ｓ＋１］が格納される。
【００４２】
Ｉｒｏ［ｓ＋２］〜Ｉｒｏ［ｓ＋ｔ］を、それぞれ処理対象Ｉｒｏ［ｎ］としたときに、図３の処理において、ｄｐ≧Ｔｈかつｄｎ≧Ｔｈ、或いは、ｄｐ≦−Ｔｈかつｄｐ≦−Ｔｈが成立しない場合には、対応するＩｒｇ［ｓ＋２］〜Ｉｒｇ［ｓ＋ｔ］は、それぞれ「０」となる。
【００４３】
また、元のインパルス応答データＩｒｏ［ｓ＋ｔ＋１］（符号４０２）を処理対象Ｉｒｏ［ｎ］としたときに、ｄｐ＝Ｉｒｏ［ｓ＋ｔ＋１］−Ｉｒｏ［ｓ＋ｔ］≦−Ｔｈ、かつ、ｄｎ＝Ｉｒｏ［ｓ＋ｔ＋１］−Ｉｒｏ［ｓ＋ｔ＋２］≦−Ｔｈであったとする。この場合には、対応する新たなインパルス応答データＩｒｇ［ｓ＋ｔ＋１］（符号４１２）には、Ｉｒｏ［ｓ＋ｔ＋１］が格納される。
【００４４】
このようにして生成され、記憶部１８に格納された新たなインパルス応答データＩｒｇ（以下、単に、「インパルス応答データ」と称する。）を利用して、共鳴音生成部２０によって、畳み込み演算が実行されて、共鳴音データが生成される。
【００４５】
図５および図６は、本実施の形態にかかる共鳴音生成部２０によって実行される処理の例を示すフローチャートである。図５の処理では、楽音信号データと、インパルス応答データとが畳み込み演算される。また、図６の処理では、入力データバッファ２２の値（ディレイメモリ値ＤＭ）がシフトされる。
【００４６】
図５に示すように、共鳴音生成部２０は、演算用のパラメータを「ｋ＝０」に初期化する（ステップ５０１）。パラメータ「ｋ」は入力バッファ２２中のディレイメモリ値ＤＭ［ｋ］および記憶部１６中のインパルス応答データＩｒｇ［ｋ］を特定する。
【００４７】
また、共鳴音生成部２０は、累算値「ａｃｃ＝０」とする（ステップ５０２）とともに、先頭のディレイメモリ値ＤＭ［０］＝ｘｉｎにセットする（ステップ５０３）。ｘｉｎは、最新の楽音信号のデータである。後述するように、本実施の形態の入力データバッファ２２は、最新の楽音信号データＤＭ［０］から、時間軸方向にｎＴａｐだけ前のサンプルである楽音信号データＤＭ［ｎＴａｐ−１］までの楽音信号データのデータ列を格納することができる。すなわち、入力データバッファは、ｎＴａｐ段のディレイメモリとして利用される。入力データバッファ２２に格納されたディレイメモリ値ＤＭ［ｋ］については、後にさらに詳述する。
【００４８】
次いで、共鳴音生成部２０は、ｋ≧ｎＴａｐになるまで（ステップ５０４でＹｅｓ）、以下の処理を実行する。共鳴音生成部２０は、インパルス応答データＩｒｇ［ｋ］が「０」であるかを判断する（ステップ５０５）。ステップ５０５でＮｏと判断された場合には、共鳴音生成部２０は、累算値ａｃｃ＝ａｃｃ＋Ｉｒｇ［ｋ］×ＤＭ［ｋ］を算出する（ステップ５０６）。つまり、共鳴音生成部２０は、第ｋ番のインパルス応答データＩｒｇ［ｋ］と第ｋ番のディレイメモリ値ＤＭ［ｋ］との積を累算値ａｃｃに加算する。その後、共鳴音生成部２０は、パラメータ「ｋ」をインクリメントする（ステップ５０７）。
【００４９】
その一方、Ｉｒｇ［ｋ］＝０である場合（ステップ５０５でＹｅｓ）には、共鳴音生成部２０は、累算値の更新は行わず、パラメータ「ｋ」をインクリメントする（ステップ５０７）。すなわち、本実施の形態においては、Ｉｒｇ［ｋ］＝０の場合には、累算値の演算を省略することができる。これにより共鳴音データ生成の際の演算量を削減することが可能となる。
【００５０】
畳み込み演算が終了すると（ステップ５０４でＹｅｓ）、共鳴音生成部２０は、入力データバッファ２２に格納されたディレイメモリ値をシフトする。図６に示すように、共鳴音生成部２０は、パラメータｋを「ｎＴａｐ−１」に初期化して（ステップ６０１）、ｋ＝０となるまで（ステップ６０２でＹｅｓ）、以下の処理を実行する。
【００５１】
共鳴音生成部２０は、入力データバッファ２２中のディレイメモリ値ＤＭ［ｋ］として、ディレイメモリ値ＤＭ［ｋ−１］とするように、入力データバッファ２２の値を更新する（ステップ６０３）。その後、共鳴音生成部２０は、パラメータｋをディクリメントする（ステップ６０４）。
【００５２】
図７に示すように、入力データバッファ２２においては、ＤＭ「０」にある時刻ｔにおける最新の楽音信号データｘ（ｔ）が格納され、ＤＭ［１］、ＤＭ「２」、・・・、ＤＭ［ｎＴａｐ−１］の順で、それぞれ、過去の楽音信号ｘ（ｔ−１）、ｘ（ｔ−２）、・・・、ｘ（ｔ−（ｎＴａｐ−１））が格納されている（符号７００参照）。図６のステップ６０３においては、符号７０１で示すように、ＤＭ［ｋ］＝ＤＭ［ｋ−１］となるように、入力データバッファ２２を更新する。これにより、先頭のディレイメモリ値ＤＭ［０］に新たな値が入力可能な状態となる。図５のステップ５０３では、このＤＭ［０］として最新の楽音信号のデータｘｉｎが格納される。
【００５３】
ステップ６０２でＹｅｓと判断された場合には、共鳴音生成部２０は、累算値ａｃｃに所定の補正値ｃｏｎｓｔＡを乗算して、共鳴音データｙｏｕｔを生成する（ステップ６０５）。生成された共鳴音データｙｏｕｔは、共鳴音データバッファ２４に格納される。共鳴音データバッファ２４に格納された共鳴音データは、所定のタイミングで読み出され、ＤＡ変換された後、音響信号として増幅されスピーカなどから放音される。
【００５４】
図１４（ａ）は、元のインパルス応答データに基づくインパルス応答特性の例を示すグラフ、図１４（ｂ）、（ｃ）は、第１の実施の形態により生成されたインパルス応答データに基づくインパルス応答特性の例を示すグラフである。図１４（ｂ）は、Ｔｈ＝０．００００１として演算した結果であり、図１４（ｃ）は、Ｔｈ＝０．００２として演算した結果である。グラフにおいて、横軸はインパルス応答の時間軸、縦軸はインパルス応答データの値である。
【００５５】
図１４（ａ）と比較して、図１４（ｂ）、図１４（ｃ）ではインパルス応答データの値「０」が出現しており、データ量が減少されることがわかる。
【００５６】
本実施の形態によれば、インパルス応答波形の中で、共鳴音の中でも特に反射音の特性をよく再現するポイントに対応する極大点および極小点の値をインパルス応答データとして保持しておき、保持されたインパルス応答データを用いた畳み込み演算を実行する。これにより、演算量を減少させつつ、共鳴音の残響をより忠実に再現することが可能となる。
【００５７】
また、本実施の形態においては、前後の値より、その変動が、閾値より大きいような極小値および極小値以外の元のインパルス応答データについては「０」として、データ量を削減している。極小値および極大値は、共鳴音の中でも、壁などを反射して伝わる反射音の特徴を現しているものと考えられる。前後の値より、その変動が所定より大きいような極大値および極小値のみをインパルス応答データとして保持し、他のものは「０」とすることで、データ量を削減しつつ、再現性の良好な共鳴音を実現することが可能となる。
【００５８】
また、本実施の形態によれば、新たなインパルス応答データ中、実際に値が存在するもの（つまり値が「０」でないもの）についてのみ畳み込み演算が行われるため、共鳴音生成のための畳み込み演算の演算量を削減することができる。
【００５９】
次に、本発明の第２の実施の形態について説明する。第１の実施の形態において、インパルス応答データとして保持する極大値および極小値を判別するための閾値Ｔｈは固定値であった。第２の実施の形態においては、当該閾値を、インパルス応答特性の時間軸にしたがって変化させている。
【００６０】
図８は、本発明の第２の実施の形態にかかるインパルス応答データの生成処理の例を示すフローチャートである。第２の実施の形態においても、第１の実施の形態と同様に、インパルス応答生成部１８が、記憶部１６に記憶された元のインパルス応答データ１２を読み出して、元のインパルス応答データ１２において、前後の値より、所定の閾値より大きいような極大値および前後の値より所定の負の閾値より小さいような極小値を見出して、極大値および極小値については、元のインパルス応答データの値を、新たなインパルス応答データ１４の値として保持する。その一方、それ以外の場合には、新たなインパルス応答データの値として「０」を保持する。
【００６１】
第２の実施の形態においては、極小値および極大値を見出す際の閾値Ｔｈｎｅｗを、後述するように、インパルス応答特性の時間軸に沿って単調減少する一次直線となるように算出している。
【００６２】
図８に示すように、インパルス応答生成部１８は、演算用のパラメータを、「ｎ＝０」に初期化する（ステップ８０１）。パラメータ「ｎ」は処理対象となる元のインパルス応答データＩｐｏ［ｎ］および新たなインパルス応答データＩｐｇ［ｎ］を特定する。また、パラメータ「ｎ」はインパルス応答特性の時間軸上の値に相当する。
【００６３】
インパルス応答生成部１８は、ｎ≧ｎＴａｐとなるまで（ステップ８０２でＹｅｓ）、ステップ８０３以下の処理を実行する  
インパルス応答生成部１８は、第ｎ番の新たなインパルス応答データＩｒｇ［ｎ］に「０」をセットする（ステップ８０３）。パラメータ「ｎ」が「０」であれば（ステップ８０４でＹｅｓ）、インパルス応答生成部１８は、パラメータ「ｎ」をインクリメントして（ステップ８１１）、ステップ８０２に戻る。
【００６４】
その一方、パラメータ「ｎ」が「０」でなければ（ステップ８０４でＮｏ）、インパルス応答生成部１８は、閾値Ｔｈｎｅｗ＝Ｔｈ−Ｔｈ×ｎ／ｎＴａｐであるような新たな閾値Ｔｈｎｅｗを算出する（ステップ８０５）。ここに、元の閾値Ｔｈは、あらかじめ定められた定数である。パラメータ「ｎ」が「０」であれば閾値Ｔｈｎｅｗ＝Ｔｈとなる。また、パラメータ「ｎ」が「ｎＴａｐ」であれば閾値Ｔｈｎｅｗ＝０となる。すなわち、閾値Ｔｈｎｅｗは、インパルス応答特性の時間軸に相当するパラメータ「ｎ」が「０」のときにＴｈｎｅｗ＝Ｔｈ、パラメータ「ｎ」が「ｎＴａｐ」のときにＴｈｎｅｗ＝０、パラメータ「ｎ」が、「０＜ｎ＜ｎＴａｐ」のときには、２点（（０，Ｔｈ）および（ｎＴａｐ，０））を結ぶ直線上の一点となる。
【００６５】
第２の実施の形態においては、インパルス応答特性の時間軸上の値が大きくなるのにしたがって、直線状に閾値Ｔｈｎｅｗを小さくすることで、より小さな変化のあった点のインパルス応答データを無視せずに取り込むことができるようにしている。これにより、より残響の長い共鳴音を再現することが可能となる。
【００６６】
次いで、インパルス応答生成部１８は、記憶部１６から元のインパルス応答データＩｒｏ［ｎ−１］、Ｉｒｏ［ｎ］、Ｉｒｏ［ｎ＋１］を読み出し、ｄｐ＝Ｉｒｏ［ｎ］−Ｉｒｏ［ｎ−１］およびｄｎ＝Ｉｒｏ［ｎ］−Ｉｒｏ［ｎ＋１］を算出する（ステップ８０６、８０７）。「ｄｐ」および「ｄｐ」は、第１の実施の形態と同様であり、「ｄｐ」および「ｄｎ」の双方が「＋（マイナス）」であれば、元のインパルス応答データＩｒｏ［ｎ］は極大であることになる。その一方、「ｄｐ」および「ｄｎ」の双方が「−（マイナス）」であれば、元のインパルス応答データＩｒｏ［ｎ］は極小であることになる。
【００６７】
元のインパルス応答データＩｐｏ［ｎ］が、前後の値より、閾値Ｔｈｎｅｗより大きいような極大値である場合、つまり、ｄｐ≧Ｔｈｎｅｗかつｄｎ≧Ｔｈｎｅｗである場合（ステップ８０８でＹｅｓ）、或いは、元のインパルス応答データＩｐｏ［ｎ］が、前後の値より、負の閾値−Ｔｈｎｅｗより小さいような極小値である場合、つまり、ｄｐ≦−Ｔｈｎｅｗかつｄｎ≦−Ｔｈｎｅｗである場合（ステップ８０９でＹｅｓ）には、インパルス応答生成部１８は、元のインパルス応答データＩｐｏ［ｎ］を、新たなインパルス応答データＩｐｇ［ｐ］として、記憶部１６に記憶する（ステップ８１０）。
【００６８】
したがって、ステップ８０８或いはステップ８０９でＹｅｓと判断された場合には、インパルス応答生成部１８は、新たなインパルス応答データＩｒｇ［ｎ］＝Ｉｒｏ［ｎ］を記憶部１６に格納し、それ以外の場合には、Ｉｒｇ［ｎ］＝０を記憶部１６に格納する。
【００６９】
次いで、インパルス応答生成部１８は、パラメータ「ｎ」をインクリメントして（ステップ８１１）、ステップ８０２に戻る。
【００７０】
第２の実施の形態においても、共鳴音データの生成は、図５および図６に示す第１の実施の形態と同様である。すなわち、共鳴音生成部２０が、新たなインパルス応答データ１４を記憶部１６から読み出して、入力データバッファ２２に格納されたディレイメモリ値とインパルス応答データとを畳み込み演算することで共鳴音データを生成している。また、共鳴音生成部２０は、１つの共鳴音データが生成されるごとに、入力データバッファ２２のディレイメモリ値をシフトする（図６参照）。
【００７１】
このようにして、第２の実施の形態においても、共鳴音生成部２０は、共鳴音データｙｏｕｔが生成され、共鳴音バッファ２４に格納される。共鳴音データバッファ２４に格納された共鳴音データは、所定のタイミングで読み出され、ＤＡ変換された後、音響信号として増幅されスピーカなどから放音される。
【００７２】
図１５（ａ）〜（ｃ）は、それぞれ、元のインパルス応答データ、第１の実施の形態により生成された新たなインパルス応答データ、および、第２の実施の形態により生成された新たなインパルス応答データに基づくインパルス応答データに基づくインパルス応答特性の例を示すグラフである。図１５（ｂ）および図１５（ｃ）に示すグラフにおいては、ともにＴｈ＝０．００２としている。
【００７３】
図１５（ｂ）と図１５（ｃ）とを比較すると、第２の実施の形態（図１５（ｃ））の方が、よりインパルス応答特性の時間軸上の大きな値に対しても、「０」以外のインパルス応答データの値が存在することが理解できる。つまり、より残響の長い共鳴音を再現可能であることが示される。
【００７４】
第２の実施の形態によれば、インパルス応答特性の時間軸上の値が大きくなるのにしたがって、閾値Ｔｈｎｅｗを小さくすることで、より小さな変化のあった点のインパルス応答データを無視せずに取り込むことができるようにしている。これにより、より残響の長い共鳴音を適切に再現することが可能となる。
【００７５】
次に、本発明の第３の実施の形態について説明する。第２の実施の形態においてはインパルス応答特性の時間軸上の値が大きくなるのにしたがって、直線的に閾値Ｔｈｎｅｗを小さくすることで、より小さな変化のあった点のインパルス応答データを無視せずに取り込むことができるようにしている。第３の実施の形態においては、直線ではなく指数関数にしたがって閾値Ｔｈｎｅｗを小さくするようにしている。
【００７６】
図９および図１０は、本発明の第３の実施の形態にかかるインパルス応答データの生成処理を示すフローチャートである。
【００７７】
第３の実施の形態においても、第１の実施の形態および第２の実施の形態と同様に、インパルス応答生成部１８が、記憶部１６に記憶された元のインパルス応答データ１２を読み出して、元のインパルス応答データ１２において、前後の値より、閾値Ｔｈｎｅｗより大きいような極大値、および、前後の値より、負の閾値−Ｔｈｎｅｗより小さいような極小値を見出して、極大値および極小値については、元のインパルス応答データ１２の値を、新たなインパルス応答データ１４の値として保持する。その一方、それ以外の場合には、新たなインパルス応答データ１２の値として「０」を保持する。
【００７８】
第３の実施の形態においては、極小値および極大値を判断する際の閾値Ｔｈｎｅｗを、後述するように、インパルス応答の時間軸に沿って減少する指数曲線となるように算出している。
【００７９】
図９に示すように、インパルス応答生成部１８は、ｎ＝ｎＴａｐであるときの値、および、曲線の形状、特にくびれの程度を決定するパラメータであるＲｐｏｗ＝指定値として（ステップ９０１）、Ｒｒａｎｇｅ＝１０＾（−Ｒｐｏｗ）を算出する（ステップ９０２）。Ｒｐｏｗは、オペレータが予め入力装置３６を利用して入力し、ＲＡＭ３４に記憶しておき、ステップ９０１においてＲＡＭ３４からインパルス応答生成部１８が読み出せばよい。
【００８０】
次いで、インパルス応答生成部１８は、基数Ｂａｓｅ＝２として、指数関数のべき数Ａ＝ｌｏｇ（Ｒｒａｎｇｅ）／（ｎＴａｐ×ｌｏｇ（Ｂａｓｅ））を算出する（ステップ９０３、９０４）。
【００８１】
また、インパルス応答生成部１８は、演算用のパラメータを、「ｎ＝０」に初期化する（ステップ９０５）。パラメータ「ｎ」は処理対象となる元のインパルス応答データＩｐｏ［ｎ］および新たなインパルス応答データＩｐｇ［ｎ］を特定する。また、パラメータ「ｎ」はインパルス応答特性の時間軸上の値に相当する。
【００８２】
インパルス応答生成部１８は、ｎ≧ｎＴａｐとなるまで（ステップ１００１でＹｅｓ）、ステップ１００２以下の処理を実行する  
インパルス応答生成部１８は、第ｎ番の新たなインパルス応答データＩｒｇ［ｎ］に「０」をセットする（ステップ１００２）。パラメータ「ｎ」が「０」であれば（ステップ１００３でＹｅｓ）、インパルス応答生成部１８は、パラメータ「ｎ」をインクリメントして（ステップ１０１０）、ステップ１００１に戻る。
【００８３】
その一方、パラメータ「ｎ」が「０」でなければ（ステップ１００３でＮｏ）、インパルス応答生成部１８は、閾値Ｔｈｎｅｗ＝Ｔｈ×Ｂａｓｅ＾（Ａ×ｎ）であるような新たな閾値Ｔｈｎｅｗを算出する（ステップ１００４）。
【００８４】
元の閾値Ｔｈは、あらかじめ定められた定数であり、パラメータ「ｎ」が「０」であれば閾値Ｔｈｎｅｗ＝Ｔｈ×Ｂａｓｅ＾０＝Ｔｈとなり、パラメータ「ｎ」が「ｎＴａｐ」であれば閾値Ｔｈｎｅｗ＝Ｔｈ×Ｂａｓｅ＾（Ａ×ｎＴａｐ）＝Ｔｈ×２＾（ｌｏｇＲｒａｎｇｅ／ｌｏｇ２）＝Ｔｈ×Ｒｒａｎｇｅとなる。  
つまり、閾値Ｔｈｎｅｗは、インパルス応答の時間軸に相当するパラメータ「ｎ」が「０」のときにＴｈｎｅｗ＝Ｔｈ、パラメータ「ｎ」が「ｎＴａｐ」のときにＴｈｎｅｗ＝Ｔｈ×Ｒｒａｎｇｅ、パラメータ「ｎ」が、「０＜ｎ＜ｎＴａｐ」のときには、２点（（０，Ｔｈ）および（ｎＴａｐ，Ｔｈ×Ｒｒａｎｇｅ）を結ぶ単調減少する指数関数上の一点となる。
【００８５】
図１１〜図１３は、閾値Ｔｈｎｅｗの変化を示すグラフである。図１１は、Ｒｐｏｗ＝１（Ｒｒａｎｇｅ＝０．１）、図１２は、Ｒｐｏｗ＝２（Ｒｒａｎｇｅ＝０．０１）、図１２は、Ｒｐｏｗ＝３（Ｒｒａｎｇｅ＝０．００１）とした場合のグラフである。それぞれのグラフにおいて、Ｔｈ＝１としている。また、グラフにおいて、縦軸がＴｈｎｅｗの値、横軸がインパルス応答特性の時間軸である。図１１〜図１３のように、第３の実施の形態では、Ｒｐｏｗが増大するにしたがって、くびれの度合いが強くなり（初期的な減少が著しくなり）、かつ、ｎ＝ｎＴａｐの時の値が小さくなっている。このように、Ｒｐｏｗを変更することにより、極大値および極小値を判断するとき際の閾値の変更の度合いを、所望のように変更することが可能となる。
【００８６】
図１６（ａ）〜（ｃ）は、第３の実施の形態により生成された新たなインパルス応答データに基づくインパルス応答特性の例を示すグラフである。図１６（ａ）〜（ｃ）は、それぞれ、Ｒｐｏｗ＝１、Ｒｐｏｗ＝２、Ｒｐｏｗ＝５として新たなインパルス応答データを算出している。
【００８７】
第３の実施の形態によれば、インパルス応答特性の時間軸上の値が大きくなるのにしたがって、閾値Ｔｈｎｅｗを小さくすることで、より小さな変化のあった点のインパルス応答データを無視せずに取り込むことができるようにしている。これにより、より残響の長い共鳴音を適切に再現することが可能となる。特に、指数関数的に、時間軸上の値が比較的小さいときには比較的急峻に閾値を減少させ、時間軸上の値が比較的大きいときには、閾値の減少の程度を少なくさせている。これにより、よりきめ細かく適切な極大値および極小値を取得することが可能となる。
【００８８】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００８９】
たとえば、第２の実施の形態においては、インパルス応答特性の時間軸において、ｎ＝０のときに所定の閾値Ｔｈ、ｎ＝ｎＴａｐのときに０であるような、単調減少する一次直線上の値となるように、インパルス応答生成部１８が、ｎの値に応じて閾値Ｔｈｎｅｗを算出している。しかしながら、一次直線は上述したものに限定されず、ｎ＝ｎＴａｐのときに、Ｔｈより小さい値として、ｎの値に応じて閾値Ｔｈｎｅｗが算出されても良い。
【００９０】
また、第３の実施の形態においては、ｎ＝０のときに所定の閾値Ｔｈ、ｎ＝ｎＴａｐのときに、設定された値Ｔｈ×Ｒｒａｎｇｅとなるような、単調減少する指数関数上の値となるように、インパルス応答生成部１８が、ｎの値に応じて閾値Ｔｈｎｅｗを算出している。しかしながら、上述した値をとるような指数関数に限定されるものではない。さらに、インパルス応答特性の時間軸上の値が大きくなるのにしたがって、閾値Ｔｈｎｅｗを小さくするような、単調減少する他の関数を閾値Ｔｈｎｅｗを算出するために利用することも可能である。
【図面の簡単な説明】
【００９１】
【図１】図１は、本発明の実施の形態にかかる共鳴音付加装置の構成を示すブロックダイヤグラムである。
【図２】図２は、本実施の形態にかかる共鳴音付加装置のハードウェア構成を示すブロックダイヤグラムである。
【図３】図３は、本実施の形態にかかるインパルス応答データの生成処理の例を示すフローチャートである。
【図４】図４は、本実施の形態にかかる新たなインパルス応答データの生成を説明するための図である。
【図５】図５は、本実施の形態にかかる共鳴音生成部によって実行される処理の例を示すフローチャートである。
【図６】図６は、本実施の形態にかかる共鳴音生成部によって実行される処理の例を示すフローチャートである。
【図７】図７は、本実施の形態にかかる入力データバッファの構成の例を示す図である。
【図８】図８は、本発明の第２の実施の形態にかかるインパルス応答データの生成処理の例を示すフローチャートである。
【図９】図９は、本発明の第３の実施の形態にかかるインパルス応答データの生成処理を示すフローチャートである。
【図１０】図１０は、本発明の第３の実施の形態にかかるインパルス応答データの生成処理を示すフローチャートである。
【図１１】図１１は、本発明の第３の実施の形態にかかる共鳴音付加装置における閾値Ｔｈｎｅｗの例を示すグラフである。
【図１２】図１２は、本発明の第３の実施の形態にかかる共鳴音付加装置における閾値Ｔｈｎｅｗの例を示すグラフである。
【図１３】図１３は、本発明の第３の実施の形態にかかる共鳴音付加装置における閾値Ｔｈｎｅｗの例を示すグラフである。
【図１４】図１４（ａ）は、元のインパルス応答データに基づくインパルス応答特性の例を示すグラフ、図１４（ｂ）、（ｃ）は、第１の実施の形態により生成されたインパルス応答データに基づくインパルス応答特性の例を示すグラフである。
【図１５】図１５（ａ）〜（ｃ）は、それぞれ、元のインパルス応答データ、第１の実施の形態により生成された新たなインパルス応答データ、および、第２の実施の形態により生成された新たなインパルス応答データに基づくインパルス応答データに基づくインパルス応答特性の例を示すグラフである。
【図１６】図１６（ａ）〜（ｃ）は、第３の実施の形態により生成された新たなインパルス応答データに基づくインパルス応答特性の例を示すグラフである。
【符号の説明】
【００９２】
１２        元のインパルス応答データ
１４        新たなインパルス応答データ
１６        記憶部
１８        インパルス応答生成部
２０        共鳴音生成部
２２        入力データバッファ
２４        共鳴音データバッファ
３０        ＣＰＵ
３２        ＲＯＭ
３４        ＲＡＭ
３６        入力装置
３８        表示装置
４０        サウンドシステム
４４        楽音生成回路
【図１】
2008299005.tif 000003
【図２】
2008299005.tif 000004
【図３】
2008299005.tif 000005
【図４】
2008299005.tif 000006
【図５】
2008299005.tif 000007
【図６】
2008299005.tif 000008
【図７】
2008299005.tif 000009
【図８】
2008299005.tif 000010
【図９】
2008299005.tif 000011
【図１０】
2008299005.tif 000012
【図１１】
2008299005.tif 000013
【図１２】
2008299005.tif 000014
【図１３】
2008299005.tif 000015
【図１４】
2008299005.tif 000016
【図１５】
2008299005.tif 000017
【図１６】
2008299005.tif 000018