レッスン 4

目次

Wwise Convolution Reverb

RoomVerbやMatrix Reverbがパラメトリックアルゴリズムであるのに対し、Convolution Reverbは事前に録音されたIR(部屋のリバーブをつくり出す部屋のインパルスレスポンス)を使います。

[注釈]

インパルスレスポンス (IR): 手をたたく(インパルス)と、その音が室内で鳴り響きます(レスポンス)。

Wwise Convolution Reverbは信憑性の高い空間シミュレーションを提供すると共に、あなたのゲーム空間の音響にとって最適なIRとなるように、様々な設定項目があります。

[注釈]

Wwiseプロジェクトを開いたときや、ProfilerのCapture Logに、“... uses the audio Effect plugin 'Wwise Convolution Reverb', which is not installed(未インストールのオーディオエフェクトプラグインWwise Convolution Reverbを使います”というメッセージが表示された場合は、今のWwiseインストール用のWwise Convolution Reverbがインスト―ルされていません。それを追加するには、まずWwiseを閉じます。次にLauncherのWwiseページを開き、あなたのWwiseバージョンのSettingsリスト(レンチのアイコン)でModify…を選択し、NextをクリックしてCHOOSE PLUG-INSページに移ります。ここでWwise Convolution Reverbプラグインを選択しModifyをクリックして、Wwiseに追加できます。

それではWwise Convolution ReverbをDesertというAuxiliary Busに追加してください。

  1. Project ExplorerでMaster-Mixer Hierarchy > Master Audio Bus > World > AUX > Region_Desertを展開し、Desert Auxiliary Busを選択します。

  2. Effectsタブで、セレクタを使いWwise Convolution Reverb > Reverbs > WAG_Desertを選択します。

    もしWwise Convolution Reverbのライセンスがない場合、それに関する通知が送られます。でも、心配はいりません!レッスンの手順を問題なく進められます。それではPlayer_PickupというSwitch ContainerのためのAuxiliary Busを使い、Convolution Reverbをテストしてください。

  3. Project ExplorerでActor-Mixer Hierarchy > Default Work Unit > World > Player > Playerを展開し、Player_PickupというSwitch Containerを選択します。

  4. DesertというAuxiliary BusをMaster-Mixer Hierarchyから最初の行にドラッグし、前から設定されていたAuxiliary Busを置き換えます。

    必ずアサインされているAux busが1つしかないことを確認します。

  5. Playをクリックし、Convolution ReverbがPlayer_Pickupに適用されるのを聞きます。

    次にDesertというAux busに戻り、最適化を行います。

  6. DesertというAux busで、Effect Editorを開くのにEdit ()を選択します。

Effects Editorで、Wwise Convolution Reverbの様々な設定が表示されていますが、最適化は主にインパルスレスポンスの設定で作業します。

Information and statisticsウィンドウのすぐ下に、直接のメモリ予測値が表示されます。Lower engine memoryとはランタイムメモリの使用(リバーブテイルの一時保存など)のことで、SoundBank memoryとはメモリにロードされているインパルスレスポンスファイルの大きさのことです。

最適化の前に、必ずStretchを設定するようにしてください。このプロパティはインパルスレスポンスをストレッチするもので、Stretch値が高いほど部屋が大きく感じられます。

次にConvolution Reverbで必要な最適化を実行してください。最初に、時間の経過とともにLow pass filterを適用して、Impulse Responseのメモリ使用をかなり削減させます。

  1. PropertiesグループボックスでIRLPFを選択し、Automateを有効にします。

    Timeのウィンドウに青色の線が表示されます。これは時間の経過とともにImpulse ResponseにどれだけLow-pass filterを適用するかを定義する線です。Impulse Responseの終わりでよく、多くの低周波があります。そのため右端のコントロールポイントを最低周波数に設定すれば、高周波は徐々にフィルターでとり除かれます。

    [注釈]

    時間軸にそってカーブを設定することをAutomationやAutomateと言います。

  2. 右端のコントロールポイントを選択し、Y20に設定します。

    次に最低周波数毎に、より早くLow pass filterを設定するために、新しいコントロールポイントを追加してください。

  3. カーブをダブルクリックし、コントロールポイントを1.5 (X) と 20 (Y) に設定します。

    カーブのポイント間の移り変わりを改善するために、特定のカーブタイプを設定することもできます。

  4. 左端のカーブを右クリックし、Logarithmic (Base 1.41) を選択します。

    ここで、SoundBankメモリ(SoundBank内のIRのサイズ)の使用だけが、かなり削減され、lower engineメモリ(IRを処理するのに必要なランタイムメモリ)が削減されていないことに注目してください。理由は、時間の経過とともに低周波のボリュームだけを下げたので、IR(インスタンスレスポンス)の長さが変わらないからです。

    IRの長さを短くするには、Endカーソルを調整します。Information and statisticsウィンドウに、RT60という値が表示されます。信号がディケイして-60 dB未満になる時点を示してくれるので、これを利用してEndカーソルの位置を決めます。

  5. EndカーソルをRT60フィールドに表示された1.0まで、ドラッグします。

    IR設定を変えると、RT60という値がまた変化するかもしれません。適切なインパルスレスポンスを設計できたら、そのフリーケンシーレスポンスを最適化するためにThresholdやSmoothのプロパティを使います。典型的なIRでは、時間の経過とともに多少のエネルギーが失われます。以下はフリーケンシードメイン内のIRのスペクトログラムです。

    Thresholdプロパティで、黒い部分をどれだけIRにエンコードするのかを決められます。上の例で分かるとおり、全エネルギーが-70 dB前後でなくなります。

    このため、Thresholdを大きく下げて、必要な信号だけエンコードしたIRで保存しても、問題がないことが多いです。Thresholdによってエイリアシング(でこぼこした階段状のカーブ)が発生する場合は、Smoothプロパティを使ってカーブを滑らかにできますが、Smoothを使えば使うほど、最適化率が下がります。次に、Thresholdを-73 dBまで下げて少しだけSmoothを適用してください。

  6. Threshold-73に設定します。

  7. Smooth18に設定します。

すべてのオーディオソースが参照イベントを使用してSoundBankにパッケージされますが、インパルスレスポンスはされません。従って、すべてのインパルスレスポンスを手作業でSoundBankに追加する必要があります。それではインパルスレスポンスを、それが使われる場所であるAll_In_OneというSoundBankに追加してください。

  1. Layoutsメニューで、SoundBankを選択します。

  2. Project ExplorerのShareSetsタブでEffects > Default Work Unit > Reverbsを展開してから、WAG_Desertを選択します。

  3. 次にWAG_DesertというShareSetをAll_In_OneというSoundBankにドラッグします。

最後に、前にPlayer_Pickupに設定したUser-Defined Auxiliary Sendsの選択を、外す必要があります。

  1. LayoutsメニューでDesignerを選択します。

  2. Project ExplorerでActor-Mixer Hierarchy > Default Work Unit > World > Player > Playerを展開し、Player_Pickup Switch Containerを選択します。

  3. User-Defined Auxiliary Sendsグループボックスで、Override parentを無効にします。

これで、Wwise Convolution Reverbを有効にし最適化する方法が分かりました。そのほかのAuxiliary Busを確認すれば、このエフェクトがWAGのいたるところで適用されている様子が分かります。


このページはお役に立ちましたか?