Audio Mixer
AudioMixer ウィンドウの詳細

コンセプトと AudioMixer の概要

AudioMixer(オーディオミキサー)は、AudioSources(オーディオソース)によって参照できるアセットで、AudioSource から生成される音声信号の、より複雑なルーティングとミキシングを可能にします。アセット内でユーザーが構築した AudioGroup(オーディオグループ)階層を通して、カテゴリーを基にしたミキシングを行います。

音声信号は AudioSource(オーディオソース)から AudioListener(オーディオリスナー)へ送られており、そこに DSP エフェクトなどの音声マスタリングの概念を適用することができます。

AudioMixer ビュー

  1. Asset - すべての AudioGroup と AudioSnapshot がサブアセットとして含まれます。
  2. Hierarchy(階層)ビュー - ここには、該当 AudioMixer 内の AudioGroup のミキシングの階層全体が含まれています。
  3. Mixer ビュー - ミキサーの可視性設定のキャッシュリストです。各ビューとも、メインミキサーウィンドウの階層全体の中の一つのサブセットのみが表示されます。
  4. Snapshots - AudioMixer アセットの内のすべての AudioSnapshot(オーディオスナップショット)のリストです。Snapshot は、特定の AudioMixer 内の全パラメーターの設定の状態を記録しています。Snapshot はランタイムで相互に切り替えることができます。
  5. 出力 AudioMixer - AudioMixer は、他の AudioMixer の AudioGroup に送ることができます。このプロパティーフィールドでは、この AudioMixer 信号を送る出力 AudioGroup を設定することができます。
  6. AudioGroup Strip ビュー - これは、一つの AudioGroup の概略表示で、現時点での VU レベル、減衰(音量)、Mute、Solo、Effect Bypass 設定、および、その AudioGroup 内の DSP エフェクトのリストを含みます。
  7. Edit In Play モード - プレイモード中に AudioMixer を編集可能にするか、不可にしてゲームのランタイムに AudioMixer の状態を制御させるかの切り替えボタンです。
  8. Exposed Parameters - Exposed Parameters およびそれに対応するストリング名のリストです。(AudioMixer 内のすべてのパラメーターは、ストリング名によって、スクリプトからアクセス可能になります)

AudioMixer Inspector

  1. Pitch と Ducking の設定は、すべての AudioGroup の上部に表示されています。
  2. サンプルの Send Effect です。減衰を行う場所の前に表示されています。
  3. この AudioGroup の Attenuation(減衰/音量設定)はここで行います。Attenuation はエフェクトスタックのどこでも行えます。ここに表示されている VU メーターは、エフェクトスタックにおけるその時点での音量を示しています。(AudioMixer ビューにある VU メーターはこれとは異なり、信号が AudioGroup から出て行く時点でのレベルを示しています。)
  4. サンプルのエフェクトとそのパラメーターです。ここでは Reverb です。右クリックで表示を選択するとパラメーターが表示されます。

概念

ルーティングとミキシング

http://en.wikipedia.org/wiki/Audio_mixing

オーディオのルーティングは、複数のオーディオ信号を入力し、一つまたは複数の出力信号を出力するプロセスです。ここで言う信号とは、連続したデジタルオーディオデータのことであり、これは複数のデジタルオーディオチャンネル〔ステレオや5.1(6チャンネル)など〕に分けることができます。

内部的には通常これらの信号になんらかの処理(ミキシング、エフェクトの適用、音量処理など)が行われます。詳しくは後述しますが、これがオーディオ処理の重要な部分であり、AudioMixer はこのために設計されたものであると言えます。

Send と Return (これに関しては後述します)を除いて、AudioMixer には、入力信号をいくつでもインプットしてそれをミックスし、一つにして出力する AudioGroups が含まれます。

オーディオ処理のルーティングとミキシングは通常、対象のシーングラフ階層で ORTHOGONAL(直交)に行われます。これはオーディオの動作やデザイナーの作業方法がシーンのコンセプトやオブジェクトによって大きく異なるためです。

Unity 4.x にはルーティングとミキシングの概念はありませんでした。ユーザーは AudioSources をシーン内に配置し、それらが(例えば AudiClips を通して)生成したオーディオ信号は、直接 AudioListener に送られ、そこですべてのオーディオ信号が一度にミックスされていました。ここで留意していただきたいのは、これは、AudioSources がシーンのどこにあろうとも、シーングラフに対して直角に行われるということです。

現在の仕様では AudioMixers はオーディオ信号処理空間の中で AudioSource と AudioListener の間に存在しており、AudioSource から出力された信号が、最終的に AudioListener に出力されてスピーカーから音が鳴るまでの間に、さまざまなルーティングやミキシング処理を挟むことが可能です。

これらの概念や機能のメリット

ミキシングとルーティングによって、ゲーム内オーディオをさまざまなコンセプトにカテゴライズ(分類)することが可能になります。サウンドがこれらのカテゴリーにミックスされたら、そのカテゴリーにまとめてエフェクトその他の操作を適用できます。これは非常に強力な機能で、ゲームロジックの変更をさまざまなサウンドカテゴリーに適用する上でも役立ちますし、デザイナーがミックスのいろいろな面を調整し、ランタイム上でサウンドスケープ全体にまとめて「マスタリング」を行ったりすることも可能にするものです。

三次元空間における減衰との関係

サウンドのコンセプト(概念)には、シーングラフや3D世界に関連したものがあります。もっとも代表的なものは、3D 距離・ AudioListener への相対的速度・環境リバーブエフェクトに基づいた、減衰の適用です。

これらのオペレーションは AudioMixer 内のサウンドのカテゴリーにではなくシーンに関連しているので、エフェクトは、信号が AudioMixer に入る前に、AudioSource に適用されます。例えば、AudioListener からの距離に基づいてある AudioSource に適用された減衰は、信号がその AudioSource から出て AudioMixer に入る前に適用されます。

サウンドのカテゴリー(分類)

上記のとおり AudioMixer は、異なる種類のサウンドを効率的に分類(カテゴライズ)し、そこに処理を行うことを可能にします。これは重要な概念です。なぜならこのような分類ができなければ、すべての音が、一切ミキシングが適用されない状態で同じように再生されるため、サウンドスケープ全体が区別の付かないノイズでごちゃごちゃになってしまうからです。ダッキングなどの概念があれば、サウンドカテゴリー間で相互に影響を与え合うこともでき、ミックスに深みを与えることができます。

デザイナーは、それぞれのカテゴリーに対して例えば次のような操作を行うことができます。

  • 一群の環境音に対して減衰(attenuation)を適用する。
  • ゲーム中のすべてのフォーリーサウンド(効果音)に低域フィルターをトリガーして水中の音を表現する。
  • ゲーム中、メニュー音楽とインタラクション音以外のすべての音に減衰を適用する。
  • ゲーム中のすべての銃と爆発の音量を下げて、NPC のセリフが聞こえるようにする。
  • 等々・・・

どのような分類を行うかはゲームやプロジェクトによってそれぞれですが、下記はその一例です。

  • すべてのサウンドが “Master” の AudioGroup にルーティングされるようにする。
  • Master グループ内には、Music、Menu 音、およびすべてのゲームサウンドのカテゴリーが一つずつある。
  • ゲーム音のグループはさらに、NPC のセリフと、ambiences(背景音)と foley サウンド(銃声や足音などの効果音)を含む環境音に分かれている。
  • 上記の分類が必要に応じてさらに細かく分類されている。

上記の設計のカテゴリー階層は、大まかには以下のようなものになります。

シーングラフのレイアウトはサウンドカテゴリーのレイアウトとはまったく見え方が違うことに注意してください。

ミックスの雰囲気とテーマ

ゲームサウンドのミキシングとルーティングは、デザイナーが求める没入感を作り出すためにも利用できます。例えば、ゲーム音のすべてにリバーブをかけて音楽を減衰させることで、洞窟の中にいる雰囲気を作ったりすることができます。

AudioMixer はゲーム中のいろいろな雰囲気を作り出すのに効果的です。スナップショット(後述)などの概念やその他さまざまなミキサーを一つのゲーム内で使用することによって、ゲーム中の雰囲気を簡単に変えることができ、デザイナーがプレイヤーに感じて欲しい感情を感じてもらうようにすることが可能です。これはゲームの没入感をつくりだすのに非常に重要なことです。

グローバルミックス

AudioMixer は、ゲーム内のすべてのサウンドのミックスを総合的に制御するために使われます。これらの AudioMixer はグローバルミックスを制御し、サウンドのインスタンスが通過する静的シングルトンミックスとして見ることができます。

つまり、AudioMixer はあるシーンの存続期間を通して常に存在しており、サウンドインスタンスはゲームが進行するにしたがって生成・破棄され、これらのグローバル AudioMixer を通して再生されます。

Snapshots(スナップショット)

Snapshot を使用すれば、AudioMixer の状態をキャプチャーし、ゲームの進行に合わせて異なる状態を相互に切り替えることができます。これは、ミックスの雰囲気やテーマを定めたり、プレイヤーがゲームを進めるにしたがって雰囲気を変えていったりするのに非常に有効な方法です。

Snapshots は、AudioMixer 内のすべてのパラメーターの値をキャプチャーします。

  • Volume
  • Pitch
  • Send Level
  • Wet Mix Level
  • Effect のパラメーター

Snapshots とゲームロジックを組み合わせることによって、サウンドスケープのさまざまな面に変化を加えることができます。

サイドチェーン

シグナル発散、サイドチェーンの信号を受け入れることができるエフェクトユニット(Sends/Returns/Effects)

Audio Mixer
AudioMixer ウィンドウの詳細