AudioGroup ヒエラルキーの AudioGroup を選択することで、AudioGroup ビューまたはプロジェクトウィンドウ(サブアセットとして)が、AudioGroup のインスペクターを表示します。
AudioGroup のためのインスペクターは、いくつかのコンポーネントで構成されています。
AudioGroup インスペクターの上部には、すべてのオブジェクトインスペクターに共通のギアドロップダウンメニューと一緒に AudioGroup の名前があります。
ギアメニューには、以下の機能があります。
Unity 内で Playmode のとき、AudioGroup のインスペクターの一番上に“Edit in Playmode”と書かれたボタンがあります。通常では AudioMixer のパラメータ値は、PlayMode で編集できず、ゲーム内のスナップショットによって完全に制御されます。
Playmode で編集すると、スナップショットシステムを上書きすることができ、Playmode 中に直接、現在のスナップショットへの編集し始めます。これはリアルタイムで再生しながらゲームをミックスし、マスターできます。
すべての AudioGroup インスペクターの上部に、その AudioGroup を通して再生のピッチを定めるスライダーがあります。ピッチを変更するには、どのスライダーを使用するか、右側にあるテキストフィールドにマニュアルでピッチ値を入力してください。
AudioMixer 内のすべての AudioGroup は正確な1つの減衰ユニットを持っています。
減衰ユニットは、AudioGroup を通過したオーディオ信号に減衰/ゲインを適用できるところです。減衰は計算され、’その部分に’信号に適用されます(他の減衰設定とは結合せず、音声ソースに適用されます)。Receives とノンリニア DSP エフェクトを結合すると、非常に複雑で面白いセットアップをつくることができます。減衰は–80dB(無音)まで適用でき、ゲインは+20デシベルまで適用できます。
すべての減衰ユニットは、インスペクターに VU メーターを持っています。このメーターは、信号チェーン内のその時点での(減衰が適用された直後の)オーディオ信号のレベルを示します。DSP エフェクトを有する場合または、減衰ユニットの後に受信した場合、その AudioGroup 用 AudioGroup ストリップで見られるメーターの情報は、減衰ユニットでのメーターの情報とは異なります。減衰ユニットを左右にドラッグして、処理のチェーンが異なる点でメーターを表示させるこの方法は AudioGroup のシグナルチェーンのデバッグに最適な方法です。
VU メーターは、実効値(RMS)とピークホールド値の両方を示しています。
エフェクトユニットは、AudioGroup を通して再生されている音声信号を変調する一般的な DSP エフェクトです。例えば、Highpass または Reverb です。エフェクトユニットはまた、Send Unit から送信されているサイドチェーンの信号情報を処理することもできます。各エフェクトユニットにつきインタフェースは異なり、ほとんどの部分は、どのようにエフェクトが信号に適用されるか、変調を変更するためのパラメーターのコレクションを公開します。たとえば、パラメータの EQ エフェクトには、信号の処理方法を変更する3つのパラメータがあります:
Unity は AudioGroup 内で使用できる内蔵エフェクトのコレクションを付属しています。AudioMixer 内で使用できるカスタム DSP エフェクトプラグインを作成する機能もあります。
AudioGroup 内エフェクトの順序を変更するには、エフェクトのヘッダを左クリックし、ドラッグアップまたはダウンして、別の位置に配置します。
AudioGroup からエフェクトを削除するには、エフェクトヘッダを右クリックし、‘Remove this effect’ を選択します。
Send はオーディオ信号のフローを分岐することができ、他のエフェクトユニット内のサイドチェーンとして使用される信号の減衰したコピーを送信します。例えば、サイドチェーンコンプレッサーです。シグナル·チェーンのどこにでも Send を挿入することができ、いずれの点でも信号の分岐ができます。
まず最初に、Send が、AudioGroup に追加されたとき、何にも送信しません。Send Level は –80dB にセットされます。別のエフェクトユニットに送信するには、すでにどこかの AudioMixer でサイドチェーンの信号を受け入れることができるエフェクトユニットを持っている必要があります。先のエフェクトユニットが選択されると、ユーザーは、届け先に信号を送信するために Send Level を増やす必要があります。
AudioGroup に Send を追加するには、AudioGroup インスペクターの下部にある ‘Add Effect’ ボタンをクリックして、‘Sends’ を選択します。 * (信号を受信することができる)別のエフェクトユニットの Send に接続するには、Send Unit Inspector のドロップダウンメニューから届け先を選択します。 * “Send Level”で届け先に送られる信号のレベルを設定します。
Receives は、Sends の信号の受け手です。彼らは単に Sends から送られるオーディオ信号を取って、AudioGroup を通過する現在の信号とミックスします。Receive にはパラメータはありません。
注意 Receive ユニットを単独で使用する場合、サウンドの再生を停止します。これは、設計によるものです。
Duck Volume ユニットは、Sends から送信された信号から、サイドチェーン圧縮の作成を許可します。Duck Volume は、AudioMixer のどこかで再生されているオーディオに基づく信号の減衰をコントロールするすばらしい方法です。
Duck Volume ユニットは、他のエフェクトユニットのように追加することができ、少なくとも使える一つの send から信号がそれらに送られている必要があります。
AudioGroup インスペクター内の各ユニットは、多くの共通の特徴があります。
DSP エフェクトに Wet Mixing を許可すると、どのくらいのオーディオ信号をエフェクトに入力して実際にエフェクトにより処理させるか決定することができます。Wet Mixing を有効にすると、効果的にエフェクトの周りに乾燥チャネルを作成します。その後、エフェクトスロットの上をクリックし、左右にドラッグして、DSP エフェクトユニットを通過するオーディオ信号の割合を増加または減少することができます。信号の残りの部分は、dry チャンネルを通過します。次の図は、この概念を示しています。
Wet mixing は、ユーザーがエフェクトがミックスに与える影響を制御し、元の信号の割合を維持したいときに適しています。
Exposed Parameters は、AudioMixer のスナップショットシステムをバイパスし、スクリプトから AudioMixer 内の任意のパラメータの値を設定することができます。Exposed Parameters がスクリプトを介して設定されている場合、そのパラメータは、その値にロックされ、ゲームのスナップショットの遷移として変更されません。
AudioMixer とパラメータの公開は AudioGroup インスペクターで行われます。インスペクター(Pitch、Volume、Send Level および Wet Level を含む)に示されるいずれかのパラメータでは、パラメータの名前を右クリックして、‘Expose X to script’ を選択することができます。
パラメータが公開されると、AudioMixer ウィンドウの右上にある Exposed Parameter のドロップダウンに表示されます。このドロップダウンをクリックすると、AudioMixer 内のすべての Exposed Parameters を明らかにします。
When transitioning between Snapshots, by default all transitions are done with linear interpolation from the beginning to target values. In some cases this transition behaviour is not desired however, for example when it’s preferable to brick-wall the change at the start or end of the transition.
AudioMixer 内で使用可能なすべてパラメータは、それらの遷移の動作を変更することができます。遷移の動作はスナップショットごとに定義され、ターゲットのスナップショットは遷移の動作を定義しています。
現在のスナップショットのために特定のパラメータについて遷移の上書きを設定するには、パラメータ名を右クリックし、必要な遷移の種類を選択します。
オーディオ ミキサー アセットには独自にインスペクターがあり、ミキサーの全般的なアクティベーション、または、一時停止ビヘイビアを特定できます。アセットなので、オーディオ ミキサーはオーディオ ソースがミキサーで再生されるときアクティブ化され、オーディオ データをミキサーに提供するドライバがある限り、オーディオ ミキサーは基本的にアクティブであり続けます。ミキサーは、シーン ビューのオーディオ プレビュー ボタンでもアクティブ化できるので、アクティベーション ビヘイビアは MonoBehavior などのシーン オブジェクトとは異なります。したがって、ミキサーは停止モードでもアクティブなこと (そのため CPU を消費する) があります。
To avoid running out of CPU resources in a project that contains a large number of mixers that are not supposed to be running all at the same time (say, because specific levels use certain specialized mixers), the audio mixers have functionality built-in to put themselves into suspended mode in which all processing stops. To do this in a natural way that doesn’t lead to audible artefacts such as clicks or missing reverb/echo tails each mixer uses the following strategy:
As long as any audio source is playing into this mixer or the mixer is receiving audio data from other sub-mixers the mixer will keep itself active. After the last sound source has finished playing, the mixer will wait for a second and then continually use loudness-measurement at its own output to decide if it should suspend itself. This is needed because reverb and echo tails can potentially decay very slowly. The loudness threshold at which the mixer suspends itself is determined by enabling Auto Mixer Suspend and setting the Threshold Volume parameter on the mixer asset’s inspector which is shown then the mixer asset is selected in the project browser (not when selecting a sub-asset like a mixer group or snapshot). The value of –80 dB is chosen as the default and matches the lowest value of the faders in the mixer. In practice it is often possible to set it to a significantly larger value to get quicker deactivation and avoid intermediate CPU spikes that could cause stutter.