リバーブは自然な音響の結果である。 音が反響の起こる部屋で発せられると、多数の近接するエコーによって強化される。 これらのエコーは音が部屋の反射面で跳ね返ることによって起こる。 人工的なリバーブ・アルゴリズムとは、さまざまな計算量を必要とする種々の手法を用いてこれらのエコーを再現しようとするものである。
この章は人工的なリバーブ・アルゴリズムの概要となっている。 2.1節では人工的なリバーブのデザインに関する二つの主要なアプローチを紹介し、 そして2.2〜2.4節では実際の部屋の音響特性について概説する。 残りの説では最終的に数タイプのリバーブ・アルゴリズムを示すことになるだろう。
人工的なリバーブは異なる二つのアプローチによって得られる。 最初の一つは物理的アプローチであり、実際の部屋の正確なリバーブを人工的に再現しようとするものである。 このような詳細さを得るために、通常、リバーブを含む信号は部屋のインパルス応答とソース信号を畳み込み演算することによって得られる。 インパルス応答は部屋から直接記録するか、仮想的な部屋の幾何的モデルを用いることで得られる。 後者のケースでは、部屋の幾何的な特徴(大きさや壁の材質など)がインパルス応答の係数を計算するために利用される。
このアプローチはソースと聴き手の位置が与えられれば正確な表現が可能であるものの、 リアルタイム・バーチャル・リアリティやゲームなどの用途においては柔軟性と効率の面でしばしば十分ではない。 たとえば、3秒間のオーディオ信号と2秒間の部屋のインパルス応答(44.1kHzでサンプリング)を時間領域で畳み込み演算するには、 おおよそ120億回の乗算と220,500回の加算が必要となる。 等価な周波数領域についての畳み込み演算では220,500回の複素数の乗算が必要となる上、変換および逆変換作業のオーバーヘッドが加わる。
第二のアプローチは知覚的アプローチと呼ばれ、 自然のリバーブと「知覚的に区別できない」人工的なリバーブ・アルゴリズムを生み出そうとするものである。 それらのアルゴリズムの目的は自然のリバーブの目立つ部分だけを再現することである。 このアプローチは物理的なアプローチより一般にはるかに効率的で、 理想的には、生成されるアルゴリズムを完全にパラメータ化することができるかもしれない。 この論文ではこちらのアプローチに注目する。
聖ヨハネルーテル教会(ウィスコンシン州マディソン)のインパルス応答をFig. 2.1に示す。 これに見られるように、波形の最初の部分(0〜150 ms)は離散的なピークで構成されており、 後半部分はより均質でほとんど指数関数的に減少している。 このインパルス応答は、Fig. 2.2で示すように三つの別個の部分に分けてモデル化することができる。 モデルによれば、インパルス応答は直接の信号に加えて「アーリー・リフレクション」と呼ばれる離散的なエコー (壁や床、天井に由来する)、そして「レイト・リバーブレーション」から構成される。
これは人工的なリバーブ・アルゴリズムが二つの部分に分けられることを示している。 最初の部分で実際のインパルス応答に一致する有限の離散的なエコーを生成し、 次の部分で指数関数的に減少する高いエコーの密度を生成すれば良いのである。
一般的に、アーリー・リフレクションはシミュレートされた部屋の幾何的モデルから計算される。 最も多く用いられているのは「ソース・イメージ法」と「レイ・トレーシング法」である。 これらは双方とも頭部伝達関数(HRTF)と組み合わせられる。 これらの技術についての議論はこの論文の範囲を越える。 しかしながら、優れた概要が[10]や[51]に見つかるはずである。 2.3節と2.4節ではただちに実際の部屋におけるレイト・リバーブレーションの特徴について概説する。 レイト・リバーブレーションのモデル化については2.5〜2.7節で詳しく議論することとする。
部屋はしばしばそのリバーブ・タイム(RT)によって特徴づけられ、 その概念は1900年、Sabine [33]の室内音響における先駆的な研究によって確立された。 リバーブの減衰時間は部屋の容積に比例し、壁や床、天井の吸音量に反比例する。
Trをリバーブが60dB減衰するのにかかる時間(s)であるとするとき、 Vは部屋の容積(m3)であり、Aは部屋の全吸収である。 部屋の吸収は周波数依存であるため、部屋のリバーブ・タイムもまた周波数依存である。 例えば、部屋が高周波を吸収する多孔性の材質でできた壁を含む場合、RTは周波数が上がるにつれてより短くなる。
RTを測定するべく、Schroeder [40]は部屋のエネルギー・ディケイ・カーブ(EDC)を得るために 部屋のインパルス応答を積分することを提案した。
ここでh(t)は部屋のインパルス応答であり、特定の周波数帯域のEDCを得るためにフィルタをかけることができる。
Jot [17]とGriesinger [14] はリバーブの周波数依存性を視覚化しやすくするため、この概念を拡張した。 Jotはエネルギー・ディケイ・レリーフもしくはEDR(t,w)と呼ばれるEDCの変形を提案した。 EDRは3Dプロットにリバーブ・ディケイを時間と周波数の関数として表す。 これを計算するため、インパルス応答を複数の周波数帯域に分割し、Schroederの積分を計算し、結果を3D局面にプロットする。 一例として、典型的なホールのEDRをFig. 2.3に示す。 インパルス応答は低周波においてはゆっくりと減衰することが分かる。 しかしながら、壁が低周波より高周波を吸収するため、高周波におけるリバーブ・タイムは非常に短くなっている。
部屋は振動の基準形によって特徴付けられ、それは部屋によって自然に増幅された周波数である。 周波数fのもとでの基準形の数Nfは部屋の形状 [24]とほとんど無関係であり、次式によって与えられる。
ここでVは部屋の容積(m3)、cは音速(m/s)、Sは壁の表面積の合計(m2)、 そしてLは部屋の全ての稜の長さの合計(m)である。 ヘルツ毎のモードの数として定義されるモデル・デンシティは次式によって表される。
このように、部屋のモデル・デンシティは周波数の自乗に比例して増大する。 この公式によれば、中規模のホール(18,100 m3でRTが1.8秒とする)は 1kHzにおいてヘルツ毎に5800モードの周波数密度を持つことになる。
しかしながら、臨界周波数を越えると、モードは重なり始める。 この臨界周波数を越えると、モードは相互に一斉に刺激しあい、連動する。 これは統計的にモデル化される周波数応答を作り出す。 [24] [42] このモデルによれば、平均的な間隔を持った最大周波数によって特徴付けられる部屋の周波数応答は次式のように表される。
ここでTrはリバーブ・タイムである。 この統計的モデルは臨界周波数より上でのみ正しい。
Hz
ここでTrはリバーブ・タイム、Vは部屋の容積である。 このモデルによれば、中規模のホール(18,100 m3でRTが1.8秒とする)は 臨界周波数fc = 20 Hzの上においてfmax = 2.2 Hz の平均で分けられた周波数ピークを構成する周波数応答を持つことになる。
もう一つの主要な部屋の特性は時間領域におけるエコーの密度である。 部屋のエコー・デンシティは秒間に聞き手に届くエコーの数として定義される。 Kuttruff [24]はエコーが時間の自乗に比例して増加することを示した。 (部屋をモデル化するのに球を用いたソース・イメージ法を利用)
ここでNtはエコーの数、tは時間(s)、 ctは球の直径(m)、そしてVは部屋の容積(m3)である。 tについて微分することでエコーの密度が得られる。
ここでNtは時間t(s)以前に生じるエコーの数、 cは音の速さ(m/s)、そしてVは部屋の容積(m3)である。
エコー・レスポンスが統計的に散乱した物になる以降の時間は、入力信号幅に依存する。 幅のパルス tに関して、 エコーが重なり合い始める以降の臨界時間は[38]について以下のようになる。
例えば、10,000 m3の部屋で1 msのインパルスによって強化されたエコーは 150 ms以降に重なり合い始める。 この時間を越えると、もはや個別のエコーを感知することはできない。
大きな部屋のもう一つの特徴は近接する周波数モードが大体同じ速度で減衰することである。 換言すれば、低い周波数より高い周波数の方が速く減衰するとしても、 同じ領域にある全ての周波数は同じ速度で減衰するのである。 ここで留意すべきは、よく鳴動する部屋においては「多重反響」 (音が平行な二つの硬い壁の間を往復するときに発生する周期的なエコー)を見ることができないことである。
実際の部屋でのリバーブの特徴については述べたので、 人工的なリバーブを生成するために開発された別の方法に焦点を当てようと思う。
Schroeder [38]はベル研究所への勤続中にデジタル・リバーブの作成を初めて試みたパイオニアである。 彼が最初に試した試作品はコムフィルタ(Fig. 2.4に図解)と呼ばれ、 減衰利得gを持つフィードバックループと単独のディレイ・ラインで構成される。
Fig. 2.5はFig. 2.4で示したものに似たコムフィルタを示している。 しかしこちらの設計では、減衰利得がフィードバック経路ではなく直接経路にある。 より大きな設計の構成要素として作動するため、この論文の残りの部分ではこちらの構造を利用することとする。 ここで留意すべきは、二つの設計はどちらも似たようなインパルス応答を生み出すが、 g因子によって一方が他方より弱くなるということである。
Fig. 2.5のコムフィルタのZ変換は次式によって与えられる。
ここでmはディレイ長(サンプル)、gは減衰利得である。 留意すべきは、安定のためにはgが1以下でなければならないということだ。 フィードバックループを一周するたびに、音は20 log10(g) dB減衰する。 よって、コムフィルタのリバーブ・タイム(60 dBの減衰として定義される)は次式によって与えられる。
ここでgは減衰利得、mはディレイ長(サンプル)、 そしてTはサンプリング周期である。
コムフィルタの特性をFig. 2.6に示す。 エコーの振幅は時間が増加すると指数関数的に減少することが分かる。 これは実際の部屋のリバーブの後部がやや指数関数的に減衰することから好都合である。 しかしながら、実はエコー・デンシティが低く、短期の入力に対しては「びびり」音を引き起こす。 その上、エコーの密度は実際の部屋のように時間とともに増加することはない。
コムフィルタの極零配置は、mサンプルのディレイ・ラインは 単位円内に総数m個の等間隔の極を作り出すことを示している。 極の半数は0 Hzとナイキスト周波数f = fs/2 Hzの間に位置し、 ここでfsはサンプリング周波数である。 それが、周波数応答がリバーブの後部に「金属的な」音をもたらすm個のはっきりした周波数ピークを持つ理由である。 周波数応答のピークに相当する音色をほんの少し聞き取ることができるだけなので、 このような音は金属的なものとして知覚される。
ディレイ長mをエコー・デンシティを増加させるために減らすと、 周波数領域のピークが少なくなるためにモデル・デンシティが弱まる結果となる。 従って、より濃いリバーブを作り出す目的でエコー・デンシティを増加させると、 結果的に特定の周波数で共振する音になってしまう。 このフィルタについて留意しておかなければならない最後の重要事項は、 フィードバック利得gを増加させると減衰が遅くなる (またそれによってリバーブ・タイムが長くなる)ということである。 周波数の変動の最大・最小値が次式であることから、 これはよりいっそう目立つピークをもたらすことになる。
これまでの設計での周波数問題を解決するため、 Schroederはオールパス・ユニットと呼ばれるものを作り出した。これをFig. 2.7に示す。 このフィルタの当初のフローダイアグラムは異なるものだが、 ここで示したものとについて双方のフィルタの特性は等価である。
オールパスフィルタのZ変換は次式によって与えられる。
従ってオールパスフィルタの極はコムフィルタと同じ位置であるが、 共役逆数の位置にいくつか0が追加される。 この設計の周波数応答は次式によって与えられる。
全てのに対して周波数応答が単一であることが分かる。 これはが単位振幅を持ち、 複素共役の指数もまた同一の振幅を持つからである。 このことから次式が導き出される。
オールパスフィルタの特性をFig. 2.8に示す。 これで分かるように、フィードフォワード経路を用いることで、 Schroederはフラットな周波数特性を持つリバーブ・ユニットを得られたのである。 よって、定常状態信号は脚色されずにリバーブレータから出てくる。 しかしながら、過渡的な信号についてはユニットの周波数密度が十分に高くなく、 まだコムフィルタの音色が聞こえる。
コムフィルタとオールパスフィルタ双方が、利得 |g| = について同じインパルス応答(最初のパルスを除く)を持つことに注目すると興味深い。 利得gが他の値であっても、短い過渡的な入力については 双方の設計の音は似たものになることが分かる。 短期間では全体の周波数応答とまるで異なるかもしれないことから、 フィルタの周波数応答プロットを見て扱うのに時折慎重を要する。 そんなわけで、リバーブ・アルゴリズムの品質を評価するためにしばしばインパルスを用いる。 これは時間領域、周波数領域双方についてのリバーブレータの品質に良い目安を与えてくれる。
これら二つのユニット・フィルタを様々な方法で組み合わせることで、 より複雑な構造を作り出すことができる。 うまくいけばその結果、より大きなエコーの時間密度を持ち、 より滑らかな周波数応答を持つリバーブを生み出すことだろう。鋭い過渡的な入力についてさえである。
人工的なリバーブの時間密度を増加させるため、 Schroederはオールパスの周波数応答を持つフィルタを得ようと、 複数のオールパスフィルタを直列接続した。 この結果をFig. 2.9に示す。
この構造では、最初のオールパス・ユニットがエコーを生成、 ニ段階目ではよりいっそうのエコーを生成し、 残りの段階についても以下同様である。 しかしながら、Moorer [27][1]が指摘したように、 鋭い過渡的な入力についてはリバーブの不自然な色合いが残っている。
ユニット・コムフィルタがいくつかの周波数ピークを持つとはいえ、 いくつかのコムフィルタを並列に組み合わせたものは、 ほぼ実際の部屋の周波数応答のような全体の周波数応答を持つフィルタを提供し得る。 この設計では、各ユニット・コムフィルタは異なるディレイ長を持ち、 与えられた位置以外の周波数ピークを持つことを回避する。 並列コムフィルタ設計の例をFig. 2.10に示す。
良い結果を得るため、各ユニット・コムフィルタは適切に重みづけられていなければならない。 そして、全てのフィルタのリバーブ・タイムが同一でなければならない。 そのためには、( 2.11 )を一般化し、次式によって利得gpを選定することができる。
p = 1, 2,,N
ここでNはコムフィルタの数である。
Schroederは、最大と最小の比率を約1.5とするようにディレイ長を選定することを提案した。 この並列コムフィルタ設計は「フィードバック・ディレイ・ネットワーク(FDN)」設計につながることになる。 これについてはchapter 3で深く掘り下げて議論する。
リバーブの色を最小限にしながら良いエコー・デンシティを得るため、 Schroederはコムフィルタ(並列接続)とオールパスフィルタ(直列接続)両方を置き、 Fig. 2.11に示すリバーブレータを提案した。 コムフィルタには30〜45 msに分布するディレイ長、二つのオールパスフィルタには 二つのより短いディレイ長(5, 1.7 ms)を選定した。 コムフィルタの減衰利得は( 2.16 )によって選定され、オールパスの利得は両方とも0.7とした。 この設計では、コムフィルタが長いリバーブ・ディレイを与え、 より高密度なリバーブを提供するため、オールパスフィルタがそれらのエコーを増加させる。 しかしながら、まだ十分に高いエコー・デンシティを提供できないため、この設計は人工的な音がする。 また、リバーブの後部に聞き取れる共鳴する周波数が存在する。
また、Piirilä [29]はコムフィルタとオールパスフィルタの組み合わせを 生み出された非指数関数的に減衰するリバーブに用いることを提案した。 彼は興味深い音楽的なエフェクトとリバーブのかかったスピーチの強調を実現するために、 いくつかの異なるリバーブのエンベロープを生み出すことができた。
この節では今までこの論文で導入してこなかった違ったタイプの リバーブレータについて議論する。 しかし、これらのうちの幾つかについては、フィードバック・ディレイ・ネットワークによって よりいっそう自然か効率的なリバーブレータを作り出すように組み合わせることが容易にできることだろう。
より自然な音がするリバーブ・ネットワークを得るためには、 実際の部屋で起こるであろうように、エコーの積み重ねを作り出すように ユニット・フィルタを組み合わせることは望ましいだろう。 Vercoe [49]によって提案され、後にBill Gardner [5]とWilliam G. Gardner [7]によって 利用されたひとつの解法は、入れ子オールパスフィルタを用いることであった。 下のダイアグラムでは、ユニット・オールパスフィルタのディレイラインを、 伝達関数G(z)を持つ他のオールパスフィルタによって代替している。
G(z)がオールパスの周波数応答を持つとき、 結果としてこのフィルタもまたオールパスの応答を持つことになる。 それはシステムの全体的な安定性と周波数応答を保証しながら、 あらゆる深度の入れ子オールパスフィルタの使用を可能とする。 しかし、Gardnerはこの設計ではまだ多少色づけされた応答を与えることを発見した。 そうして彼はシステムにグローバルなフィードバック経路(利得|g| < 1 を持つ)を加えることを提案した。 この新たな付け足しにより、おそらくフィードバックループによってもたらされた エコー・デンシティの増加から、結果としてリバーブは非常に滑らかになった。
Dattorro [3]はGriesingerの研究に着想を得、 プレート・リバーブレータのフローダイアグラム(Fig. 2.13)を示した。
このリバーブレータの最初の部分はプリディレイ・ユニット、ローパスフィルタ、 そしてディフューザとして利用される4つのオールパスフィルタによって構成される。 ディフューザは入ってくる信号の相関関係を直ちに解き、 リバーブレータの第二の部分に入れるための準備をするために用いられる。 Dattorroが「タンク」と呼ぶ第二の部分は、相互にフィードバックされる二つの経路によって構成される。 それぞれの経路は2つのオールパスフィルタ、2つのディレイライン、そしてローパスフィルタから成る。 タンクのディレイラインとオールパス・ユニットから引き出した出力を同時に合計する(様々な重みで)ことで、 このリバーブレータの出力を作り出すことができる。 4.3.1節で議論するように、タンクのオールパスフィルタはもたらされるリバーブを滑らかにするために調整され得る。
この章の初めに言及したように、実際の部屋のインパルス応答で 信号を畳み込みしてリバーブを作り出す方法は、 いくつかの用途には柔軟性と効率が十分ではない。 しかし、高品質なリバーブが必要なとき、これは解決される。 たとえば、Sonic Foundryの「Acoustic Modeler」DirectXプラグインのような 市販ソフトウェアは、リアルなリバーブを作り出すため、 ユーザにあらゆるオーディオ素材を実際の部屋のインパルス応答で畳み込みすることを許容している。 時間領域畳み込みが膨大な処理能力を要求するため、 ブロック畳み込み [9]やマルチレート・フィルタリング [48]のようないくつかの方法が、 処理要求や処理の入出力の遅延を減少させるべく開発された。
畳み込みが常に実際の部屋のインパルス応答によって行われるわけではないことに留意すべきである。 入力を指数関数的に減衰するガウス白色雑音で畳み込みすると良い結果が得られることが知られている [26]。
粒子リバーブもまた畳み込みベースのリバーブの典型である。 非同期粒子合成(AGS)と呼ばれる技術によって生成される音の「粒子」で 入力を畳み込みすることで、それぞれの粒子から導かれた仮想的な「反射音」がやがて入力信号を不鮮明にする。 もたらされるリバーブの特色は粒子のスペクトルによって決定され、 それは粒子の継続時間、エンベロープ、そして波形に依存する。 粒子リバーブについてのさらなる詳細は[30]に見つかる。
より自然な音のするリバーブを作り出すために、 リバーブを複数のストリームに分割することもでき、 ここで各ストリームは部屋の特定の領域をシミュレートするために合わせられる。 この目的には以前に言及したあらゆるフィルタを利用することができ、 それぞれのフィルタはリバーブレータの異なる出力に割り当てられる。 またそれらは、頭部伝達関数(HRTF)モデルのような他の手法を用いることで、 ステレオ領域における仮想的な位置を各フィルタに与えるよう同時にミックスされる。
例えばStautnerとPuckette [47]は、相互にネットワーク化された4つのコムフィルタ (右、左、中央、後のスピーカに対応する)から成るリバーブレータを設計した。 この特有の設計では、最初に左のスピーカから聞こえた信号は 次に正面、後から聞こえ、最後には右のスピーカから聞こえる。
マルチレート・アルゴリズムは信号を様々な周波数帯域に分割する。 それぞれのコムフィルタが異なる周波数帯域を処理するような オールパスフィルタのバンクとコムフィルタのバンクを組み合わせることで、 特定周波数帯域のリバーブ・タイムは対応するコムフィルタのフィードバック利得を調整することで定められる。 この構造では、その帯域幅によってそれぞれの帯域に異なるサンプルレートを用いることが可能である [50]。
デジタル導波路は楽器の物理モデルに広く用いられている。 Julius O. Smith [45]は人工的なリバーブの作成に可逆デジタル導波路ネットワーク(DWN) を用いることを提案した。 導波路は二つの正反対の方向に波を広げる双方向のディレイラインである。 波が導波路の終端に到達すると、始点の方に反射される。 複数の導波路が可逆ネットワークで相互に接続されるとき、 室内で起こる反響がシミュレートされ、ゆねにリバーブレータが作り出される。 また、ローパスフィルタを可逆ネットワークの原型に加えることで、 周波数依存のリバーブ・タイムが得られる。 デジタル導波路ネットワークについてより詳しくはChapter 3で示す。
また導波路は、2Dメッシュ[35] [36]やよりいっそう複雑な3Dメッシュ[34]を形成する より構造化された方法で接続される。 デジタル導波路直交メッシュは、それぞれの特徴に沿って配置された デジタル導波路の配列であり、交点で相互に連結している。 たとえば、もたらされる3D空間のメッシュは 各ノードがその隣接する6つとユニット・ディレイによって接続された直交格子である。 この構造の問題点の一つは、波の分散が方向依存であることである。 この影響は直交メッシュより三角や四面体など、他の構造を利用するか、 補完法を用いることによって軽減される。