(57)【要約】【課題】インパルス応答データのデータ量を低減しつつ残響音特性を連続的に変化させる。【解決手段】記憶装置１０は第１のインパルス応答データを記憶する。記憶装置２０は第１のインパルス応答データとは異なる第２のインパルス応答データを記憶する。新規データ生成部３０は、第１のインパルス応答データと第２のインパルス応答データとの線形結合によって、利用者からの指示に応じた特性のインパルス応答を表す新規インパルス応答データを生成する。残響音生成部４０は、音を表す入力データに対して新規インパルス応答データを用いたフィルタ処理を実行することにより、残響音を表す残響音データを生成する。【選択図】      図１
2004294712.tif 000002
【特許請求の範囲】
【請求項１】
インパルス応答を表す第１のインパルス応答データを記憶する第１の記憶手段と、
前記第１のインパルス応答データが表すインパルス応答とは異なるインパルス応答を表す第２のインパルス応答データを記憶する第２の記憶手段と、
前記第１のインパルス応答データと前記第２のインパルス応答データとに基づいて、指示に応じたインパルス応答を表す新規インパルス応答データを生成する新規データ生成手段と、
音を表す入力データに対して前記新規インパルス応答データを用いたフィルタ処理を行なうことによって、残響音を表す残響音データを生成する残響音生成手段と
を具備することを特徴とする残響音生成装置。
【請求項２】
前記第２のインパルス応答データは、前記第１のインパルス応答データが表すインパルス応答とは残響時間が異なるインパルス応答を表すデータであり、
前記新規データ生成手段は、前記指示に応じた残響時間のインパルス応答を表す前記新規インパルス応答データを生成する
ことを特徴とする請求項１に記載の残響音生成装置。
【請求項３】
前記第２のインパルス応答データは、前記第１のインパルス応答データが表すインパルス応答とは周波数特性が異なるインパルス応答を表すデータであり、
前記新規データ生成手段は、前記指示に応じた周波数特性のインパルス応答を表す前記新規インパルス応答データを生成する
ことを特徴とする請求項１に記載の残響音生成装置。
【請求項４】
前記新規データ生成手段は、前記第１のインパルス応答データと前記第２のインパルス応答データとの線形結合によって前記新規インパルス応答データを生成する
ことを特徴とする請求項１から３のいずれかに記載の残響音生成装置。
【請求項５】
前記第２の記憶手段に記憶された第２のインパルス応答データは、前記第１のインパルス応答データを加工することによって得られたデータである
ことを特徴とする請求項１から４のいずれかに記載の残響音生成装置。
【請求項６】
前記新規データ生成手段は、前記第１および第２のインパルス応答データの各々を時間軸上において分割して得られるブロックごとに、前記新規インパルス応答データを構成するブロックを生成する一方、
前記残響音生成手段は、前記入力データを時間軸上において分割して得られるブロックごとに、前記新規インパルス応答データの各ブロックを用いたフィルタ処理を行ない、これらの結果を加算することによって前記残響音データを生成する
ことを特徴とする請求項１に記載の残響音生成装置。
【請求項７】
前記新規データ生成手段は、前記第１および第２のインパルス応答データの各々を複数の周波数成分に区分する一方、第１のインパルス応答データと第２のインパルス応答データとの間で各周波数成分ごとの演算を行ない、これらの結果を加算することによって前記新規インパルス応答データを生成する
ことを特徴とする請求項１に記載の残響音生成装置。
【請求項８】
コンピュータを、
インパルス応答を表す第１のインパルス応答データを記憶する第１の記憶手段と、
前記第１のインパルス応答データが表すインパルス応答とは異なるインパルス応答を表す第２のインパルス応答データを記憶する第２の記憶手段と、
前記第１のインパルス応答データと前記第２のインパルス応答データとに基づいて、指示に応じたインパルス応答を表す新規インパルス応答データを生成する新規データ生成手段と、
音を表す入力データに対して前記新規インパルス応答データを用いたフィルタ処理を行なうことによって、残響音を表す残響音データを生成する残響音生成手段
として機能させるためのプログラム。
【請求項９】
前記第２のインパルス応答データは、前記第１のインパルス応答データが表すインパルス応答とは残響時間が異なるインパルス応答を表すデータであり、
前記新規データ生成手段は、前記指示に応じた残響時間のインパルス応答を表す前記新規インパルス応答データを生成する
ことを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記第２のインパルス応答データは、前記第１のインパルス応答データが表すインパルス応答とは周波数特性が異なるインパルス応答を表すデータであり、
前記新規データ生成手段は、前記指示に応じた周波数特性のインパルス応答を表す前記新規インパルス応答データを生成する
ことを特徴とする請求項８に記載のプログラム。
【請求項１１】
前記新規データ生成手段は、前記第１のインパルス応答データと前記第２のインパルス応答データとの線形結合によって前記新規インパルス応答データを生成する
ことを特徴とする請求項８から１０のいずれかに記載のプログラム。
【請求項１２】
前記第２の記憶手段に記憶された第２のインパルス応答データは、前記第１のインパルス応答データを加工することによって得られたデータである
ことを特徴とする請求項８から１１のいずれかに記載のプログラム。
【請求項１３】
前記新規データ生成手段は、前記第１および第２のインパルス応答データの各々を時間軸上において分割して得られるブロックごとに、前記新規インパルス応答データを構成するブロックを生成する一方、
前記残響音生成手段は、前記入力データを時間軸上において分割して得られるブロックごとに、前記新規インパルス応答データの各ブロックを用いたフィルタ処理を行ない、これらの結果を加算することによって前記残響音データを生成する
ことを特徴とする請求項８に記載のプログラム。
【請求項１４】
前記新規データ生成手段は、前記第１および第２のインパルス応答データの各々を複数の周波数成分に区分する一方、第１のインパルス応答データと第２のインパルス応答データとの間で各周波数成分ごとの演算を行ない、これらの結果を加算することによって前記新規インパルス応答データを生成する
ことを特徴とする請求項８に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽器の演奏音や歌唱音声など各種の音の残響音を生成する技術に関する。
【０００２】
【従来の技術】
入力された音に対して残響音を付加する装置が従来から提供されている。この種の装置においては、ホールなどの音響空間でインパルス応答を予め測定しておき、入力音に対してこのインパルス応答を用いた畳み込み演算を行なうことによって残響音を生成する構成が一般的である。さらに、残響時間や周波数特性といった残響音に関わる種々の特性を変更し得る構成も提案されるに至っている。例えば特許文献１には、それぞれ特性が異なる複数のインパルス応答を予め用意しておき、このうちのいずれかのインパルス応答を選択的に使用することによって残響音の特性を適宜に変更し得る構成が開示されている。
【０００３】
【特許文献１】
特公平５−４７８４０号公報（第４頁）
【０００４】
【発明が解決しようとする課題】
しかしながら、この構成のもとでは極めて多数のインパルス応答データを予め用意しておく必要があるため、これらを記憶するための記憶装置が大規模になるという問題がある。一方、記憶容量を低減するためにインパルス応答データの数を少なくすることも考えられる。しかしながらこの場合には、残響音特性の変化幅を大きくせざるを得ないため、これを連続的に変化させることができないという問題が生じる。
【０００５】
本発明は以上説明した事情に鑑みてなされたものであり、予め記憶しておくインパルス応答データの数を低減しつつ残響音特性を連続的に変化させることができる残響音生成装置およびプログラムを提供することを目的としている。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明に係る残響音生成装置は、インパルス応答を表す第１のインパルス応答データを記憶する第１の記憶手段と、前記第１のインパルス応答データが表すインパルス応答とは異なるインパルス応答を表す第２のインパルス応答データを記憶する第２の記憶手段と、前記第１のインパルス応答データと前記第２のインパルス応答データとに基づいて、指示に応じたインパルス応答を表す新規インパルス応答データを生成する新規データ生成手段と、音を表す入力データに対して前記新規インパルス応答データを用いたフィルタ処理を行なうことによって、残響音を表す残響音データを生成する残響音生成手段とを具備することを特徴としている。
【０００７】
この構成によれば、指示に応じたインパルス応答を表す新規インパルス応答データが第１のインパルス応答データと第２のインパルス応答データとに基づいて生成され、この新規インパルス応答データを用いたフィルタ処理によって残響音データが生成されるようになっている。したがって、残響音の特性を変化させるために多数のインパルス応答データを予め用意しておく必要はない。しかも、予め用意されたインパルス応答データが選択的に用いられるのではなく、新規インパルス応答データが適宜に生成されるようになっているから、残響音特性を連続的に変化させることができる。
【０００８】
本発明に係る残響音生成装置は、残響音の残響時間や周波数特性を変化させるために採用することができる。すなわち、残響時間を変化させるためには、第２のインパルス応答データを第１のインパルス応答データが表すインパルス応答とは残響時間が異なるインパルス応答を表すデータとしたうえで、新規データ生成手段が、指示に応じた残響時間のインパルス応答を表す新規インパルス応答データを生成する構成とすればよい。一方、周波数特性を変化させるためには、第２のインパルス応答データを第１のインパルス応答データが表すインパルス応答とは周波数特性が異なるインパルス応答を表すデータとしたうえで、新規データ生成手段が、指示に応じた周波数特性のインパルス応答を表す新規インパルス応答データを生成する構成とすればよい。もっとも、変化させるべき残響音の特性はこれに限られない。
【０００９】
また、本発明においては、第２のインパルス応答データが第１のインパルス応答データに対する加工によって得られたものであってもよい。こうすれば、第１のインパルス応答データに対応するエコーパターンと、第２のインパルス応答データに対応するエコーパターンとについて時間軸上のタイミングを合致させることができるから、第１のインパルス応答データと第２のインパルス応答データとを用いて簡易に新規インパルス応答データを生成することができる。また、このとき生成された新規インパルス応答に対応するエコーパターンについて、第１のインパルス応答におけるエコーパターンと時間軸上のタイミングを合致させることができるという利点がある。さらに、こうして第２のインパルス応答データが生成されると、以後はこのデータを使用して簡易に新規インパルス応答データを生成することができるから、第１のインパルス応答データから第２のインパルス応答データを得るための処理は、たとえその処理が相当の処理時間を要する複雑な処理であったとしても、残響音を生成するための処理に先立って一度だけ実行されれば足りる。この場合、新規インパルス応答データを生成するたびに第２のインパルス応答データを生成する構成と比較して、指示が与えられてからその指示が実際の残響音に反映されるまでの時間を短縮することができる。
【００１０】
さらに、本発明においては、新規データ生成手段が、第１のインパルス応答データと第２のインパルス応答データとの線形結合によって新規インパルス応答データを生成するものとしてもよい。この構成によれば、例えば予め用意されたインパルス応答データに対して指数関数などを乗算することによって新たなインパルス応答データを生成する構成と比較して演算処理を簡略化させることができる。この結果、指示が与えられてからその指示内容が残響音に反映されるまでの時間をより短縮することができ、リアルタイム処理が可能となるから、利用者は、残響音の実際の変化を確認しながら残響音特性を所望の特性に変更させることができる。
【００１１】
また、新規データ生成手段が、第１および第２のインパルス応答データの各々を時間軸上において分割して得られるブロックごとに、新規インパルス応答データを構成するブロックを生成する一方、残響音生成手段が、入力データを時間軸上において分割して得られるブロックごとに、新規インパルス応答データのブロックを用いたフィルタ処理を行ない、各演算結果を加算することによって残響音データを生成する構成も望ましい。こうすれば、各ブロックごとに演算に用いられるパラメータを調整することも可能となるから、インパルス応答の全長にわたって一括して新規インパルス応答データを生成する構成と比較して、指示された新規インパルス応答データと実際に生成された新規インパルス応答データとの誤差を低減することができる。
【００１２】
さらに、新規データ生成手段が、第１および第２のインパルス応答データの各々を帯域が異なる複数の周波数成分に区分し、第１のインパルス応答データと第２のインパルス応答データとの間で各周波数成分ごとの演算を行ない、これらの結果を加算することによって新規インパルス応答データを生成する構成も望ましい。この構成によれば、残響音の各周波数成分ごとにその特性を変化させることができるから、残響音特性を多様化させることができるという利点がある。
【００１３】
なお、本発明は、コンピュータを残響音生成装置として機能させるためのプログラムとしても特定される。すなわち、このプログラムは、コンピュータを、インパルス応答を表す第１のインパルス応答データを記憶する第１の記憶手段と、前記第１のインパルス応答データが表すインパルス応答とは異なるインパルス応答を表す第２のインパルス応答データを記憶する第２の記憶手段と、前記第１のインパルス応答データと前記第２のインパルス応答データとに基づいて、指示に応じたインパルス応答を表す新規インパルス応答データを生成する新規データ生成手段と、音を表す入力データに対して前記新規インパルス応答データを用いたフィルタ処理を行なうことによって、残響音を表す残響音データを生成する残響音生成手段として機能させることを特徴としている。なお、このプログラムの実行主体たる「コンピュータ」とは、パーソナルコンピュータに代表される汎用のコンピュータのほか、専ら特定の信号（例えば音を表す信号）を処理することを目的として製造された信号処理装置など、プログラムを実行し得るすべてのハードウェアを含む概念である。また、本発明に係るプログラムは、ネットワークを介してコンピュータに提供されるものであってもよいし、光ディスクや磁気ディスク、あるいは光磁気ディスクといった各種の記録媒体に格納された形態で提供されてコンピュータにインストールされるものであってもよい。
【００１４】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【００１５】
まず、図１を参照して、本発明に係る残響音生成装置の概略を説明する。この残響音生成装置は、楽器の演奏音など各種の音（以下「入力音」という）の残響音を生成する一方、残響音の残響時間といった特性（以下「残響音特性」という）を制御するための装置である。図１に示すように、残響音生成装置１００は、記憶装置１０および２０と、新規データ生成部３０と、残響音生成部４０とを有する。このうち新規データ生成部３０および残響音生成部４０は、専らＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などのハードウェアによって実現されてもよいし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのハードウェアと当該ＣＰＵが実行するプログラムとの協働によって実現されてもよい。
【００１６】
記憶装置１０および２０は、データを記憶するための手段であり、例えば半導体メモリやハードディスク装置などによって構成される。このうち記憶装置１０は、インパルス応答を表す第１のインパルス応答データを記憶する。この第１のインパルス応答データは、例えばホールや教会などの音響空間においてインパルスを発生させ、このインパルスにより発生した残響音をインパルス応答としてサンプリングしたデータである。一方、記憶装置２０には第２のインパルス応答データが格納されている。この第２のインパルス応答データは、第１のインパルス応答データが表すインパルス応答とは特性が異なるインパルス応答を表すデータである。例えば、第２のインパルス応答データは第１のインパルス応答データを所定のアルゴリズムに基づいて変換することで生成される。
【００１７】
利用者は、図示しない操作子（例えば操作つまみ）を適宜に操作することによって、新規データ生成部３０に対して所望の残響音特性を指示することができる。この新規データ生成部３０は、第１のインパルス応答データと第２のインパルス応答データとに基づいて、利用者からの指示に応じたインパルス応答を表す新たなデータ（以下「新規インパルス応答データ」という）を生成する手段である。なお、以下では、第１および第２のインパルス応答データが表すインパルス応答をそれぞれ「第１のインパルス応答」、「第２のインパルス応答」と表記し、新規インパルス応答データが表すインパルス応答を「新規インパルス応答」と表記する。
【００１８】
図２は、第１および第２のインパルス応答と新規インパルス応答との関係を示すグラフである。ここで、残響音特性のひとつとして残響時間に特に着目する。残響時間とは、音を発生させる入力信号が停止してから、その信号に応じて発せられた音の音圧レベルが６０ｄＢ減衰するまでの時間長である。具体的には図２に示すように、第１のインパルス応答は時間長ＲＴ１の残響時間を有する一方、第２のインパルス応答は時間長ＲＴ２の残響時間を有する。新規データ生成部３０は、第１のインパルス応答データと第２のインパルス応答データとに基づいて、利用者からの指示に応じた残響時間ＲＴｘを有するインパルス応答の新規インパルス応答データを生成する。なお、残響時間ＲＴｘは、ＲＴ２≦ＲＴｘ≦ＲＴ１の範囲内の数値に限定されるものではない。すなわち、所期の残響時間との誤差が問題とならないのであれば、残響時間ＲＴｘをＲＴｘ＜ＲＴ２またはＲＴ１＜ＲＴｘの範囲に属する数値としてもよい。また、ここでは残響音特性として残響時間に特に着目したが、利用者からの変更指示の対象となる特性はこれに限られない。
【００１９】
一方、図１に示すように、残響音生成の対象となる音を表すデータ（以下「入力データ」という）は残響音生成部４０に供給される。この残響音生成部４０は、新規データ生成部３０によって生成された新規インパルス応答データに基づいて、入力音に残響音が付加されたデータ（以下「残響音データ」という）を生成する手段である。具体的には、残響音生成部４０は、入力データに対して新規インパルス応答データを用いたフィルタ処理を施すことによって残響音データを生成する。ここで、上述したように新規インパルス応答データには利用者からの指示が反映されているから、残響音生成部４０によって生成される残響音は利用者からの指示に応じた特性を有するものとなる。例えば、図２に示した新規インパルス応答を例に取れば、残響時間がＲＴｘである残響音が生成されることとなる。
【００２０】
このように、本発明に係る残響音生成装置によれば、残響音特性を利用者からの指示に応じて適宜に変更することができる。ここで、新規インパルス応答データは第１のインパルス応答データと第２のインパルス応答データとに基づいて生成されるから、利用者による切り替えの対象となるべき多数のインパルス応答データを予め用意しておく必要はない。したがって、インパルス応答データを格納するための記憶容量を低減することができる。しかも、予め用意されたインパルス応答データが選択的に用いられるのではなく、新規インパルス応答データが適宜に生成されるようになっているから、利用者からの指示に応じて残響音特性を連続的に変化させることができる。
【００２１】
＜１：第１実施形態＞
次に、図３および図４を参照して、本発明の第１の実施形態に係る残響音生成装置について説明する。本実施形態に係る残響音生成装置は、利用者からの指示に応じて残響音の残響時間を変化させ得るようになっている。なお、図３および図４に示す構成要素のうち前掲図１に示した要素と同様の役割を担うものには共通の符号が付されている。
【００２２】
図３に示すように、この残響音生成装置１０１は、第１のインパルス応答データｈａを記憶する記憶装置１０を有する。この記憶装置１０に格納された第１のインパルス応答データｈａは、ブロックｈａ０からブロックｈａｍまでの合計（ｍ＋１）個のブロックに時間軸上において区分されている。各ブロックｈａｋ（ｋは０≦ｋ≦ｍを満たす整数）は第１のインパルス応答から得られたＮ個のサンプリングデータを含んでいる。
【００２３】
指数操作部５１は、第１のインパルス応答データｈａを加工することによって第２のインパルス応答データｈｂを生成するための手段である。具体的には、指数操作部５１は、第１のインパルス応答データｈａに対して指数窓を掛ける（すなわち指数関数を乗算する）ことによって第２のインパルス応答データｈｂを生成する。こうして生成された第２のインパルス応答データｈｂは記憶装置２０に格納される。この第２のインパルス応答データｈｂは、第１のインパルス応答データｈａと同様に、各々がＮ個のサンプリングデータを含む合計（ｍ＋１）個のブロック（ブロックｈｂ０からブロックｈｂｍまで）に区分されている。
【００２４】
次に、図３に示すＦＦＴ部５２は、記憶装置１０に格納された第１のインパルス応答データｈａのブロックｈａｋごとに、当該ブロックｈａｋとＮ個のゼロデータからなるブロックとの組を対象としてＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を施す。これによって得られた周波数領域のデータ群（以下「第１の周波数要素ブロック」という）Ｈａｋは記憶装置５３に格納される。この記憶装置５３は、例えば半導体メモリやハードディスク装置などによって構成される。一方、記憶装置２０に格納された第２のインパルス応答データｈｂについても同様に、ブロックｈｂｋごとに、ゼロデータからなるブロックが付加されたうえでＦＦＴを施され、これによって得られたデータが第２の周波数要素ブロックＨｂｋとして記憶装置５３に格納される。以上示した処理、すなわち第１および第２のインパルス応答データから第１および第２の周波数要素ブロックを生成するまでの処理は、例えば残響音生成装置１０１に対して入力データが供給される前に一度だけ実行される。
【００２５】
一方、新規データ生成部３０は、第１の周波数要素ブロックＨａｋと第２の周波数要素ブロックＨｂｋとをそれぞれ線形結合し、これによって得られたデータを新規インパルス応答データのブロック（以下「新規インパルス応答ブロック」という）Ｈｋとして出力する。すなわち、新規インパルス応答ブロックＨｋは以下の式（１）に基づいて算出される。
【数１】
2004294712.tif 000003
ただし、式（１）における係数αｋおよびβｋは以下の式（２ａ）および（２ｂ）で与えられる。
【数２】
2004294712.tif 000004
この式（２ａ）および（２ｂ）において、Ｔ０は、インパルス応答の開始時点から線形結合の対象となるブロックの開始点までの時刻、Ｔ１はインパルス応答の開始時点から同ブロックの終了点までの時刻をそれぞれ表している。ｃは、上述した残響時間の定義に基づいて０．００１（＝１０−６０／２０）とされる。また、図２に示したように、ＲＴ１は第１のインパルス応答の残響時間、ＲＴ２は第２のインパルス応答の残響時間、ＲＴｘは利用者からの指示に応じた残響時間をそれぞれ表している。このように、線形結合に供される係数αｋおよびβｋは利用者からの指示に応じた残響時間ＲＴｘを反映したものとなるから、新規データ生成部３０によって生成される新規インパルス応答データは、残響時間がＲＴｘとなるインパルス応答を表すものとなる。加えて、新規データ生成部３０は、利用者による残響音特性変更の指示を契機として、変更後の特性に応じた係数αｋおよびβｋを新たに算出し、この変更後の係数を用いた線形結合によって改めて新規インパルス応答データを求める。これにより、残響音特性は利用者からの指示に応じて連続的に変化することとなる。
【００２６】
次に、図４を参照して、新規インパルス応答データを用いて残響音を生成するための構成について詳述する。同図に示すように、残響音生成装置１０１に供給された入力データは入力バッファ６１に順次に格納される。この入力データは、インパルス応答データと同様にＮ個のサンプリングデータを含むブロックｘｊ（ｊは整数）に区分されたうえで、ブロックｘｊごとに残響音の生成に供される。以下では、図４に示すように、現に残響音生成の対象とされているブロックを「ブロックｘ０」とし、これよりも前の時間に入力されたブロック（古いブロック）を、負号を添字に用いて「ブロックｘ−１」、「ブロックｘ−２」……、といった具合に表記する。
【００２７】
ＦＦＴ部６２は、残響音生成の対象となるブロックｘ０と、その直前のブロックｘ−１とからなる組を対象としてＦＦＴを施す。このＦＦＴ部６２から出力された周波数領域のデータ群（以下「入力音ブロック」という）Ｘ０は残響音生成部４０に入力される。
【００２８】
この残響音生成部４０は、（ｍ＋１）段の記憶装置４１を備えている。ＦＦＴ部６２から供給された入力音ブロックＸ０は、まず第１段目の記憶装置４１に格納される。そして、ブロックｘ０を対象とした残響音生成が終了してその対象が次のブロックに移行されるたびに、各段の記憶装置４１に格納された入力音ブロックが次段の記憶装置４１にシフトされるようになっている。したがって、（ｍ＋１）段の記憶装置４１には、図４に示すように、現在の処理対象たる入力音ブロックＸ０のほか、それよりも前に処理対象とされていたｍ個の入力音ブロック、すなわち入力音ブロックＸ−１から入力音ブロックＸ−ｍまでが格納されている。
【００２９】
また、残響音生成部４０は、各々が記憶装置４１の後段に配置された合計（ｍ＋１）個の乗算器４２を備えている。これらの乗算器４２の各々には、新規データ生成部３０から出力された新規インパルス応答データのうち当該乗算器４２に対応するひとつの新規インパルス応答ブロックＨｋが供給される。例えば、第１段目の乗算器４２には新規インパルス応答ブロックＨ０が供給され、第２段目の乗算器４２には新規インパルス応答ブロックＨ１が供給され、…、第（ｍ＋１）段目の乗算器４２には新規インパルス応答ブロックＨｍが供給されるといった具合である。そして、各乗算器４２は、前段の記憶装置４１に格納された入力音ブロックＸ−ｋと、新規データ生成部３０から与えられた新規インパルス応答ブロックＨｋとを乗算して出力する。すなわち、第１段目の乗算器４２によって入力音ブロックＸ０と新規インパルス応答ブロックＨ０とが乗算され、第２段目の乗算器４２によって入力音ブロックＸ−１と新規インパルス応答ブロックＨ１とが乗算され、…、第（ｍ＋１）段目の乗算器４２によって入力音ブロックＸ−ｍと新規インパルス応答ブロックＨｍとが乗算されるといった具合である。そして、この乗算によって得られたブロックＹ０’からブロックＹｍ’までの合計（ｍ＋１）個のブロックが加算されたうえで、残響音ブロックＹ０として残響音生成部４０から出力される。すなわち、残響音生成部４０は、入力データに対して新規インパルス応答データの畳み込み処理を行なうのである。
【００３０】
次に、図４に示す逆ＦＦＴ部６３は、残響音生成部４０から出力された残響音ブロックＹ０に対して逆ＦＦＴを施すことによって時間軸上のデータに変換する。そして、この逆ＦＦＴによって得られたデータのうち前半部分は破棄され、残りの後半部分が残響音データのひとつのブロックｙ０として出力される。こうして得られた残響音データの各ブロックｙ０は、出力バッファ６４に順次に格納される。以後、上記と同様の手順によって、入力データのブロックｘｊごとに残響音データが生成される。一方、出力バッファ６４に格納された残響音データは、所定のタイミングで読み出されるとともにＤ／Ａ変換器（図示略）によってアナログ信号に変換され、スピーカやイヤホンといった出力手段によって音として出力される。
【００３１】
このように、本実施形態によれば、新規インパルス応答データＨｋは第１のインパルス応答データｈａｋと第２のインパルス応答データｈｂｋとに基づいて生成されるから、利用者による選択の対象となるべき多数のインパルス応答データを予め保持しておく必要はない。したがって、インパルス応答データを格納するための記憶容量を低減することができる。しかも、予め用意されたインパルス応答データが選択的に用いられるのではなく、新規インパルス応答データが適宜に生成されるようになっているから、利用者からの指示に応じて残響音特性を連続的に変化させることができる。
【００３２】
また、第１のインパルス応答データから第２のインパルス応答データを生成する処理は、例えば残響音生成装置１０１に対して入力データが供給される前に一度だけ実行されれば足りる。ここで、利用者からの指示に応じた残響音特性のインパルス応答データを得るための他の構成としては、例えば予め用意された第１のインパルス応答データに対して、利用者からの指示に応じてパラメータが選定された指数関数を乗じる構成も考えられる。しかしながらこの構成のもとでは、利用者から特性変更の指示が与えられるたびに指数関数の乗算という相当の時間を要する演算を行なう必要があるから、指示内容を残響音特性に対して迅速に反映させるのは困難である。これに対し、本実施形態においては、第１のインパルス応答データに指数関数を乗じて第２のインパルス応答データを得る演算処理は事前に一度だけ実行すれば足り、しかも新規インパルス応答の生成に際しては演算量が比較的少ない線形結合を実行すればよい。したがって本実施形態によれば、利用者の指示を残響音特性の変化に速やかに反映させることができる。この結果、利用者は、残響音特性の変化を実際に聴取しながら所望の残響音特性に調整することができる。
【００３３】
さらに、本実施形態においては、第１および第２のインパルス応答データがブロックに分割され、各ブロックについて新規インパルス応答ブロックの生成および乗算器４２による乗算が実行されるようになっているから、インパルス応答データの全部をブロックに区分することなく一括して処理する構成と比較して、利用者に指示された新規インパルス応答データと実際に生成される新規インパルス応答データとの誤差を低減することができる。
【００３４】
＜２：第２実施形態＞
次に、本発明の第２実施形態に係る残響音生成装置について説明する。
上記第１実施形態においては利用者からの指示に応じて残響時間を変更する構成を例示したが、本発明において利用者からの指示に応じて制御される残響音特性はこれに限られない。本実施形態に係る残響音生成装置においては、利用者からの指示に応じて周波数特性が制御されるようになっている。具体的には、残響音のうち周波数が高い帯域（以下「高音域」という）における音圧レベルが利用者からの指示に応じて適宜に変化させられるようになっている。
【００３５】
図５は、本実施形態に係る残響音生成装置の構成を示すブロック図である。なお、図５に示す構成要素のうち前掲図３および図４に示したものと同様の役割を担う要素には共通の符号が付されている。また、前掲図３および図４においては各インパルス応答データをブロックごとに処理する構成を示したが、図５においては、図面および説明の煩雑さを防ぐために、各インパルス応答データを構成する複数のブロックを便宜的にひとつのブロックｈａとして代表させた構成が示されている。ただし、実際の構成においては、上記第１実施形態と同様に各インパルス応答データがブロックごとに処理される構成が望ましい。
【００３６】
図５に示すように、本実施形態に係る残響音生成装置１０２は、上記第１実施形態に係る残響音生成装置１０１の指数操作部５１に代えて周波数特性変換部５５を備えている。この周波数特性変換部５５は、記憶装置１０に格納された第１のインパルス応答データｈａに対してフィルタ処理を施すことにより、第１のインパルス応答とは周波数特性（すなわち周波数と音圧レベルとの関係）が異なる第２のインパルス応答を表す第２のインパルス応答データｈｂを生成する手段であり、例えば各種のフィルタによって構成される。本実施形態においては、高音域になるにつれて音圧レベルの減衰が大きいインパルス応答、すなわち第１のインパルス応答の音圧レベルとの差異が高音域ほど増大するインパルス応答が第２のインパルス応答として生成される場合を例示する。
【００３７】
図５に示す新規データ生成部３０は、上記第１実施形態において式（１）として示したように、第１のインパルス応答データｈａから得られた第１の周波数要素ブロックＨａと第２のインパルス応答データから得られた第２の周波数要素ブロックＨｂとを線形結合し、これによって得られたデータを新規インパルス応答ブロックＨ（新規インパルス応答データ）として残響音生成部４０の乗算器４２に出力する。この線形結合に供される係数αおよびβは利用者からの指示に応じて適宜に決定される。この結果、第１のインパルス応答とこれよりも高音域における音圧レベルが低い第２のインパルスとの間で、新規インパルス応答の特性が決定されることとなる。これ以後の動作、すなわち新規インパルス応答データに基づいて残響音データを生成するための動作は上記第１実施形態と同様である。本実施形態によっても、上記第１実施形態と同様の効果が得られる。
【００３８】
なお、ここでは第１のインパルス応答のうち高音域における音圧レベルを変更させて第２のインパルス応答とする場合を例示したが、第１のインパルス応答と第２のインパルス応答との関係はこれに限られない。例えば、所定の吸音特性を有する壁面に包囲された空間における第１のインパルス応答をシミュレーションまたは実測によって取得する一方、このインパルス応答に対してフィルタ処理を施すことによって、これとは異なる吸音特性を有する壁面に包囲された空間のインパルス応答を第２のインパルス応答として求める構成としてもよい。こうすれば、各空間の相互に異なる吸音特性の間において、残響音の特性を連続的に変化させることができる。このように、本発明においては、残響時間や周波数特性に限らず、残響音に関わる何らかの特性が指示に応じて変化させられる構成であればよい。
【００３９】
＜３：第３実施形態＞
次に、本発明の第３実施形態に係る残響音生成装置について説明する。本実施形態に係る残響音生成装置は、利用者からの指示に応じて残響音の残響時間周波数特性を変化させ得るようになっている。残響時間周波数特性とは、残響音の周波数と各周波数成分の残響時間との関係である。ここで、図６は、音響空間たる特定のホールにおける空席時の残響時間周波数特性Ａと満席時の残響時間周波数特性Ｂとを併せて示すグラフである。同図に示すように、残響音の残響時間周波数特性はホールへの入場者数に応じて変化する。一方、本実施形態においては、利用者がホールへの入場者数を任意に選択できるようになっている。そして、入力音に付加されるべき残響音の残響時間周波数特性は、図６に示す残響時間周波数特性ＡおよびＢの間の特性のうち利用者によって指示された入場者数に応じた特性とされる。詳述すると以下の通りである。
【００４０】
図７は、本実施形態に係る残響音生成装置の構成を示すブロック図である。なお、図７に示す構成要素のうち前掲図３および図４に示したのと同様の要素には共通の符号が付されている。また、図７においても前掲図５と同様に、各インパルス応答データを構成する複数のブロックを便宜的にひとつのブロックとして示した構成が示されている。
【００４１】
同図に示すように、残響音生成装置１０３は、上記第１実施形態と同様に指数操作部５１を備えている。本実施形態においては、第１のインパルス応答データｈａが図６に示した空席時のインパルス応答を表し、指数操作部５１によって生成された第２のインパルス応答データｈｂが図６に示した満席時のインパルス応答を表すものとする。
【００４２】
図７に示す第１のフィルタ群５７は（ｎ＋１）個のフィルタ５７１を有する。各フィルタ５７１は、第１のインパルス応答のうち特定の帯域に属する周波数成分を選択的に通過させる。また、第１のフィルタ群５７に属する各フィルタ５７１の通過帯域は相互に重複しないように設定されている。これにより、第１のインパルス応答データｈａは、それぞれ異なる周波数成分ごとに周波数要素ブロックＨａ（ｉ）（ｉは０≦ｉ≦ｎを満たす整数）に変換されて新規データ生成部３０に供給される。第２のインパルス応答データｈｂが入力される第２のフィルタ群５８も第１のフィルタ群５７と同様の構成であり、それぞれ通過帯域が重複しないように設定された複数のフィルタ５８１を備えている。したがって、第２のインパルス応答データｈｂは、それぞれ異なる周波数成分ごとに周波数要素ブロックＨｂ（ｉ）に変換されて新規データ生成部３０に供給される。
【００４３】
一方、新規データ生成部３０は、共通する周波数成分ごとに第１の周波数要素ブロックＨａ（ｉ）と第２の周波数要素ブロックＨｂ（ｉ）とを線形結合するとともに、各周波数成分について得られた結果を加算して新規インパルス応答ブロック（新規インパルスデータ）Ｈを生成する。すなわち、新規インパルス応答ブロックＨは以下の式（３）に基づいて算出される。
【数３】
2004294712.tif 000005
ただし、式（３）において各周波数成分ごとの線形結合に供される係数α（ｉ）およびβ（ｉ）は以下の式（４ａ）および（４ｂ）で与えられる。
【数４】
2004294712.tif 000006
この式（４ａ）および（４ｂ）において、Ｔ０、Ｔ１およびｃは上述した式（２ａ）および（２ｂ）と同様の意味を持つ。また、ＲＴ１（ｉ）は第１のインパルス応答のうち第ｉ番目の帯域に属する周波数成分の残響時間を表し、ＲＴ２（ｉ）は第２のインパルス応答のうち第ｉ番目の帯域に属する周波数成分の残響時間を表す。また、ＲＴｘ（ｉ）は、第ｉ番目の帯域に属する周波数成分の残響時間であり、利用者からの指示に応じて適宜に選定される。例えば、利用者によって指示された入場者数が少ないほど新規インパルス応答データＨが図６の特性Ａに近づき、入場者数が多いほど新規インパルス応答データＨが図５の特性Ｂに近づくように、各周波数成分ごとにＲＴｘ（ｉ）の値が選定される。これ以後の動作は上記第１実施形態と同様である。
【００４４】
本実施形態によっても上記第１実施形態と同様の効果が得られる。さらに、本実施形態によれば、第１および第２のインパルス応答データが複数の周波数成分に分割されたうえで、各周波数成分について適当な係数を用いた線形結合が実行されるから、各周波数成分ごとに任意の残響音特性を選定することができる。
【００４５】
＜４：変形例＞
以上説明した実施の形態はあくまでも例示であり、これらの形態に対しては本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。このような変形の例としては、例えば以下のようなものが考えられる。
【００４６】
＜４−１：変形例１＞
上記各実施形態においては第１のインパルス応答データｈａを変換することによって第２のインパルス応答データｈｂを得る構成を例示したが、第２のインパルス応答データｈｂは第１のインパルス応答データｈａとは無関係に予め用意されたものであってもよい。
【００４７】
＜４−２：変形例２＞
上記各実施形態および変形例においては、第１および第２のインパルス応答データを周波数軸上のデータに変換したうえで、同じく周波数軸上のデータである入力音ブロックと乗算する構成を例示したが、双方のデータを時間軸上のデータのまま用いて畳み込み演算を行なう構成としてもよい。もっとも、第１および第２のインパルス応答データと入力データとを周波数軸上のデータに変換したうえで残響音データを生成する構成によれば、時間軸上のデータのまま畳み込み演算を行なう構成と比較して演算量を低減できるという利点がある。
【００４８】
＜４−３：変形例３＞
上記各実施形態および各変形例においては、利用者からの指示に応じて残響音特性が変化させられる構成を例示したが、この変化の指示は利用者から与えられたものに限られない。例えば、残響音生成装置を構成するその他のハードウェアやソフトウェアから与えられた指示に応じて残響音特性が変化させられる構成としてもよい。
【００４９】
＜４−４：変形例４＞
上記各実施形態および各変形例においては、第１のインパルス応答データｈａと第２のインパルス応答データｈｂとを用いた線形結合を行なうことによって新規インパルス応答データを求める構成を例示したが、新規インパルス応答データを求めるための演算内容はこれに限られない。要するに、第１のインパルス応答データｈａと第２のインパルス応答データｈｂとから指示に応じた新規インパルス応答データを求め得る演算であれば、その内容の如何は問わない。もっとも、上記各実施形態に示したように線形結合を採用した場合には、演算処理を極めて簡易にすることができるという利点がある。
【００５０】
【発明の効果】
以上説明したように、本発明によれば、予め記憶しておく必要があるインパルス応答データの数を低減しつつ残響音特性を連続的に変化させることができる。
【図面の簡単な説明】
【図１】本発明に係る残響音生成装置の概略構成を示すブロック図である。
【図２】同残響音生成装置における新規インパルス応答データの内容を説明するための図である。
【図３】本発明の第１実施形態に係る残響音生成装置のうち新規インパルス応答データを生成するための構成を示すブロック図である。
【図４】同残響音生成装置のうち残響音データを生成するための構成を示すブロック図である。
【図５】本発明の第２実施形態に係る残響音生成装置の構成を示すブロック図である。
【図６】音響空間における残響時間周波数特性を示すグラフである。
【図７】本発明の第３実施形態に係る残響音生成装置のうち新規インパルス応答データを生成するための構成を示すブロック図である。
【符号の説明】
１００，１０１，１０２，１０３……残響音生成装置、１０……記憶装置（第１の記憶手段）、２０……記憶装置（第２の記憶手段）、３０……新規データ生成部（新規データ生成手段）、４０……残響音生成部（残響音生成手段）、４１……記憶装置、４２……乗算器、５１……指数操作部、５２……ＦＦＴ部、５３……記憶装置、５５……周波数特性変換部、５７……第１のフィルタ群、５８……第２のフィルタ群、５７１，５８１……フィルタ、６１……入力バッファ、６２……ＦＦＴ部、６３……逆ＦＦＴ部、６４……出力バッファ、ｈａ，ｈａｋ……第１のインパルス応答データ、ｈｂ，ｈｂｋ……第２のインパルス応答データ、Ｈａ，Ｈａｋ，Ｈａ（ｉ）……第１の周波数要素ブロック（第１のインパルス応答データ）、Ｈｂ，Ｈｂｋ，Ｈｂ（ｉ）……第２の周波数要素ブロック（第２のインパルス応答データ）、Ｈ，Ｈｋ……新規インパルス応答ブロック（新規インパルス応答データ）、ｘｊ……入力データ、Ｘ−ｋ……入力音ブロック（入力データ）、ｙｊ……残響音データ、Ｙ０……残響音ブロック。
【図１】
2004294712.tif 000007
【図２】
2004294712.tif 000008
【図３】
2004294712.tif 000009
【図４】
2004294712.tif 000010
【図５】
2004294712.tif 000011
【図６】
2004294712.tif 000012
【図７】
2004294712.tif 000013