コンボリューション リバーブ

物理空間のオーディオ サンプルを使用したリバーブ (残響) をシミュレートの概要を説明します。

Windows
MacOS
Linux

コンボリューション リバーブ (Convolution reverb) は、サウンド デザイナーが任意の物理的な場所 (洞窟、教会、オフィス、玄関ホールなど) の インパルス応答 (IR) をキャプチャして、その場所で再生されているかのようにオーディオをリアルタイムに処理できる優れたテクノロジーです。このため、IR は実際の場所のリバーブを キャプチャ しているので、環境音の処理で 1 ランク上のリアリズムと臨場感を実現できます。

IR は、実世界のリバーブをキャプチャできるだけでなく、アルゴリズム リバーブ出力、フォーリー、VO (怒声、息遣いなど)、接触型マイクなど他のあらゆる音源からも生成することができます。IR は、他のあらゆるサウンドと同じように、編集および処理できます。つまり、IR にはフィルタ、減衰、反転、チョップ、編集などの各種処理を実行できるのです。

そのため、コンボリューション リバーブ機能により、まったく新しい次元でサウンド作成に取り組むことができるようになります。コンボリューション リバーブは、ディレイ バッファ、フィルタなど各種 DSP トポロジを併用してリバーブをシミュレートする従来のアルゴリズム リバーブ手法に代わる、データ駆動型の手法を提供します。

概念的背景

畳み込み演算

畳み込み は、他のあらゆる算術演算と同様の算術演算です。算術演算の例としては、加算、減算、積分、ドット積、クロス積などが挙げられます。ドット積およびクロス積がそれぞれベクター (または信号) を乗算する方法と考えることができるように、畳み込みはベクター変換の 3 番目の方法と考えることができます。クロス積と同様に、2 つの信号を畳み込むことで 3 番目の信号が生成されます。

複雑な算術についてはさておき、畳み込みの概念を最もシンプルに表すと、出力信号 y(t) のすべてのサンプルを、時間シフトされた入力信号 x(t) の重みの合計 g(t) と考えることができます。このように、畳み込みはブラー処理の演算子の 1 つと考えることができます。

オーディオでの畳み込み

畳み込みは、統計、機械学習、グラフィックス レンダリングなど、多数の分野で幅広く使用されています。オーディオでは、畳み込みは IR を介してオーディオ信号を処理する 1 つの手法です。IR は実世界のシステムを表しています。このシステムは複雑であるため、畳み込みを使用しないとモデル化することはできません。

入力オーディオ信号が f(t) および重みが g(t) で、IR がモデル化対象の複雑なシステムを表す場合、その出力 x(t) は、オーディオ信号が当該システムから入力された場合の、オーディオ信号の内容になります。

演算上の考慮事項

畳み込みは、基本的に負荷のかかる算術演算です。入力信号 f(t) のすべての要素は、畳み込み信号 g(t) のすべての要素で乗算され、さらにそれらが加算されて、出力信号 x(t) のすべての要素が生成されます。比較的大規模なリバーブ空間を表す大きな IR では、この演算の負荷が非常に高くなります。畳み込み演算を直接実行すると、通常、リアルタイムのシナリオではきわめて高い負荷がかかります。

幸にも、これとは対照的に、畳み込み演算を大幅に高速化できる次のような機能があります。時間領域 での 2 つの信号の畳み込みは、周波数領域 での信号の乗算とまったく同じです。信号の周波数領域は、高速フーリエ変換 (FFT) を使用して生成できます。FFT は名前が示す通り、高速です。入力信号と IR に対してこのステップを実行することにより、CPU でリアルタイムにコンボリューション リバーブを計算できます。ただし、通常、従来のアルゴリズム リバーブよりも高い負荷がかかるのでご注意ください。

畳み込み演算の新しい CPU 機能とハードウェア アクセラレーションにより、コンボリューション リバーブは、ゲーム オーディオでますます実際に利用できる選択肢になりつつあります。というのも、これまではコンボリューション リバーブは次世代のオーディオ テクノロジーだったのです。

コンボリューション リバーブの使用方法

[Synthesis and DSP Effects] プラグインを有効にします ([Edit (編集)] > [Plugins (プラグイン)] > [Audio] > [Synthesis and DSP Effects])。このプラグインには、幅広いオプションの合成と DSP 機能が含まれています。

Synthesis_DSP.png

このプラグインが有効な場合は、コンテンツ ブラウザでインポートされたサウンド ウェーブを右クリックして、[Create Impulse Response (インパルス応答を作成)] を選択します。

拡大表示するには、画像をクリック。

これにより、選択したサウンド ウェーブからインパルス応答が作成されます。この方法で、どんなサウンド ウェーブでもコンボリューション リバーブ アルゴリズム用の IR にすることができます (任意のサウンドを畳み込むことができる)。この操作で、名前に _IR が追加された新しいアセットが作成されます。

Asset_IR.png

サウンド ウェーブをインポートする場合と同じプロセスで IR をインポートします。

このアセットには、コンボリューション リバーブ エフェクトで使用されるデータと、各インパルス応答に設定できる正規化値が含まれています。個々のオーディオ インパルス応答アセットのボリューム正規化値を設定するには、オーディオ インパルス応答の [Details (詳細)] パネルを開きます。

拡大表示するには、画像をクリック。

[Normalization Volume Db (正規化ボリューム デシベル)] は、このインパルス応答をアクティブに使用しているすべての畳み込みエフェクトに適用されるデシベル単位の減衰です。これを使用すると、さまざまなインパルス応答間のラウドネスを簡単に等しくすることができます。

折り畳みリバーブ エフェクトを使用するには、コンテンツ ブラウザでインスタンスを作成します。

拡大表示するには、画像をクリック。

  1. コンボリューション リバーブ エフェクトの [Details (詳細)] パネルを開き、使用するインパルス応答としてインパルス応答アセットを設定します。

拡大表示するには、画像をクリック。

その他のパラメータには次のものがあります。

  • Surround Rear Channel Bleed Db: サラウンド サウンド環境でリア チャンネルに送信する畳み込みエフェクトの出力のデシベル数。値が「-60.0」以下の場合はサイレントと見なされます。

  • Invert Rear Channel Bleed Phase: サラウンド サウンド環境でリア チャンネルに送信するオーディオの位相を反転するかどうか。

  • Surround Rear Channel Flip: リア チャンネルに送信する前にエフェクトの左チャンネルと右チャンネルを反転するかどうか。

高度なパラメータには次のものがあります。

  • Block Size: 内部処理のブロック サイズを設定します。このサイズはランタイム パフォーマンスに影響する場合があります。

  • Enable Hardware Acceleration: ターゲット プラットフォームがハードウェア アクセラレーションに対応している場合は、ハードウェア アクセラレーションを有効にします。

サブミックス エフェクトでこれを使用するには、サブミックス エフェクト チェーンのサブミックス エフェクトとしてサブミックスにハードウェア アクセラレーションを追加します。

拡大表示するには、画像をクリック。

当該サブミックスをマスター リバーブ サブミックスとして使用するように設定すると、リバーブ オーディオをサブミックスに自動的に送信できます。または、サブミックスセンド エフェクトとして当該サブミックスにオーディオを手動で送信することもできます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる