レッスン 4
目次
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に追加してください。
-
Project ExplorerでMaster-Mixer Hierarchy > Master Audio Bus > World > AUX > Region_Desertを展開し、Desert Auxiliary Busを選択します。
-
Effectsタブで、セレクタを使いWwise Convolution Reverb > Reverbs > WAG_Desertを選択します。
もしWwise Convolution Reverbのライセンスがない場合、それに関する通知が送られます。でも、心配はいりません!レッスンの手順を問題なく進められます。それではPlayer_PickupというSwitch ContainerのためのAuxiliary Busを使い、Convolution Reverbをテストしてください。
-
Project ExplorerでActor-Mixer Hierarchy > Default Work Unit > World > Player > Playerを展開し、Player_PickupというSwitch Containerを選択します。
-
DesertというAuxiliary BusをMaster-Mixer Hierarchyから最初の行にドラッグし、前から設定されていたAuxiliary Busを置き換えます。
必ずアサインされているAux busが1つしかないことを確認します。
-
Playをクリックし、Convolution ReverbがPlayer_Pickupに適用されるのを聞きます。
次にDesertというAux busに戻り、最適化を行います。
-
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のメモリ使用をかなり削減させます。
-
PropertiesグループボックスでIRLPFを選択し、Automateを有効にします。
Timeのウィンドウに青色の線が表示されます。これは時間の経過とともにImpulse ResponseにどれだけLow-pass filterを適用するかを定義する線です。Impulse Responseの終わりでよく、多くの低周波があります。そのため右端のコントロールポイントを最低周波数に設定すれば、高周波は徐々にフィルターでとり除かれます。
時間軸にそってカーブを設定することをAutomationやAutomateと言います。
-
右端のコントロールポイントを選択し、Yを20に設定します。
次に最低周波数毎に、より早くLow pass filterを設定するために、新しいコントロールポイントを追加してください。
-
カーブをダブルクリックし、コントロールポイントを1.5 (X) と 20 (Y) に設定します。
カーブのポイント間の移り変わりを改善するために、特定のカーブタイプを設定することもできます。
-
左端のカーブを右クリックし、Logarithmic (Base 1.41) を選択します。
ここで、SoundBankメモリ(SoundBank内のIRのサイズ)の使用だけが、かなり削減され、lower engineメモリ(IRを処理するのに必要なランタイムメモリ)が削減されていないことに注目してください。理由は、時間の経過とともに低周波のボリュームだけを下げたので、IR(インスタンスレスポンス)の長さが変わらないからです。
IRの長さを短くするには、Endカーソルを調整します。Information and statisticsウィンドウに、RT60という値が表示されます。信号がディケイして-60 dB未満になる時点を示してくれるので、これを利用してEndカーソルの位置を決めます。
-
EndカーソルをRT60フィールドに表示された1.0まで、ドラッグします。
IR設定を変えると、RT60という値がまた変化するかもしれません。適切なインパルスレスポンスを設計できたら、そのフリーケンシーレスポンスを最適化するためにThresholdやSmoothのプロパティを使います。典型的なIRでは、時間の経過とともに多少のエネルギーが失われます。以下はフリーケンシードメイン内のIRのスペクトログラムです。
Thresholdプロパティで、黒い部分をどれだけIRにエンコードするのかを決められます。上の例で分かるとおり、全エネルギーが-70 dB前後でなくなります。
このため、Thresholdを大きく下げて、必要な信号だけエンコードしたIRで保存しても、問題がないことが多いです。Thresholdによってエイリアシング(でこぼこした階段状のカーブ)が発生する場合は、Smoothプロパティを使ってカーブを滑らかにできますが、Smoothを使えば使うほど、最適化率が下がります。次に、Thresholdを-73 dBまで下げて少しだけSmoothを適用してください。
-
Thresholdを-73に設定します。
-
Smoothを18に設定します。
すべてのオーディオソースが参照イベントを使用してSoundBankにパッケージされますが、インパルスレスポンスはされません。従って、すべてのインパルスレスポンスを手作業でSoundBankに追加する必要があります。それではインパルスレスポンスを、それが使われる場所であるAll_In_OneというSoundBankに追加してください。
-
Layoutsメニューで、SoundBankを選択します。
-
Project ExplorerのShareSetsタブでEffects > Default Work Unit > Reverbsを展開してから、WAG_Desertを選択します。
-
次にWAG_DesertというShareSetをAll_In_OneというSoundBankにドラッグします。
最後に、前にPlayer_Pickupに設定したUser-Defined Auxiliary Sendsの選択を、外す必要があります。
-
LayoutsメニューでDesignerを選択します。
-
Project ExplorerでActor-Mixer Hierarchy > Default Work Unit > World > Player > Playerを展開し、Player_Pickup Switch Containerを選択します。
-
User-Defined Auxiliary Sendsグループボックスで、Override parentを無効にします。
これで、Wwise Convolution Reverbを有効にし最適化する方法が分かりました。そのほかのAuxiliary Busを確認すれば、このエフェクトがWAGのいたるところで適用されている様子が分かります。