Version: 2021.1
言語: 日本語
Audio プロファイラー
オーディオクリップ

アンビソニックオーディオ

Ambisonics (アンビソニックス) とは、リスナーを完全に取り囲むような音の表現を提供するオーディオの一種です。アンビソニックスは、遠くの環境音のためのオーディオスカイボックスを提供し、特に 360 度のビデオやアプリケーションに有効です。

アンビソニックスはマルチチャンネル形式で保存されます。それぞれのチャンネルが特定のスピーカーにマッピングされる代わりに、アンビソニックスはより全般的な方法で音場を表します。そのため、音場はリスナーの向き (つまり、VR におけるユーザーの頭部の回転) に基づいて回転させることができます。また、音場をスピーカーの設定と一致する形式にデコードすることもできます。

アンビソニックオーディオデコーダーの選択

プロジェクトのアンビソニックオーディオデコーダーを選択するには、Ambisonic Decoder Plugin のリストからデコーダーを選択するには、プロジェクトの Audio 設定 (Edit > Project Settings > Audio) に移動します。プロジェクトで使用可能なデコーダーのリストから Ambisonic Decoder Plugin を選択します。Uniy にビルトインのデコーダーはありませんが、一部の VR ハードウェアメーカーは Unity 用のオーディオ SDK でそれらを提供しています。プロジェクトで利用可能かどうかについては、ターゲットプラットフォームのメーカーのドキュメントを確認してください。

Audio 設定のアンビソニックのオプション
Audio 設定のアンビソニックのオプション

アンビソニックなオーディオクリップのインポート

アンビソニックスのオーディオクリップを読み込むには、ACN コンポーネントオーダリング、SN3D 正規化が施されたマルチチャンネル B フォーマットの WAV ファイルを読み込みます。オーディオクリップの Inspector ウインドウで Ambisonic を有効にします。

オーディオクリップのインスペクターの Ambisonic のチェックボックス
オーディオクリップのインスペクターの Ambisonic のチェックボックス

オーディオソースを使ったアンビソニックなオーディオクリップの再生

オーディオソースを使ったアンビソニックなオーディオクリップの再生は、以下のように行います。

  • WAV ファイルをオーディオソースの Audio Clip として割り当てます。
  • Spatialize オプションを無効に設定します。アンビソニックオーディオクリップを再生する場合、プロジェクトで選択されたアンビソニックオーディオデコーダーを通して自動的に処理されます。デコーダーは、クリップをアンビソニック形式からプロジェクトで選択したスピーカー形式に変換します。デコーダーはさらに、オーディオソースとオーディオリスナーの位置に基づいて、このデコード操作の一部として空間化をすでに処理します。

Unity がアンビソニックオーディオクリップを再生するとき、必要に応じてファイルを解凍し、デコードしてプロジェクトで選択されているスピーカーモードに変換します。その後、オーディオソースの効果を適用します。

ノート: リバーブゾーンは、アンビソニックスオーディオクリップに対して無効になります。

オーディオプラグインインターフェースの変更

プラグインのオーサリング方法については、Unity のユーザーマニュアルのページで、Native Audio Plugin SDKAudio Spatializer SDK 。また、Audio plugin SDK をダウンロードしてください。

アンビソニックオーディオデコーダーのために、AudioPluginInterface.h に 2 つの変更があります。

  • 新しいエフェクト定義フラグ UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder
  • 新しいデータ構造体 UnityAudioAmbisonicData

UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder

プラグインのスキャン段階で、このフラグは、この効果がアンビソニックデコーダーであることを Unity に通知します。Unity は、このデコーダーが Audio の Project settings でアンビソニックデコーダーのオプションとして表示されるようにします。

definition.flags |= UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder;

UnityAudioAmbisonicData 構造体

UnityAudioAmbisonicData 構造体は、Unity がスペーシャライザーに渡す UnityAudioSpatializerData 構造体と似ていますが、ambisonicOutChannels 整数が追加されています。UnityAudioSpatializerData 構造体の詳細については、オーディオスペーシャライザー SDK ドキュメントのスペーシャライザーエフェクトメタデータ を参照してください。

UnityAudioAmbisonicData 構造体の場合、 ambisonicOutChannels に、 DefaultSpeakerModeのチャンネル数を設定する必要があります。アンビソニックデコーダは、Unity のオーディオパイプラインで早めに実行されるため、ambisonicOutChannels は、Unity が使用する必要のある出力チャンネルの数をプラグインに伝えます。

1 次アンビソニックオーディオクリップ (4 チャンネル) を再生し、スピーカーモードがステレオ (2 チャンネル) の場合、アンビソニックデコーダーのプロセスコールバックは、インとアウトのチャンネル数に対して 4 つ渡されます。ambisonicOutChannels フィールドは 2 に設定されます。プラグインは空間化されたデータを最初の 2 チャンネルに出力し、他の 2 チャンネルへの出力はゼロです。

Unity のアンビソニックソースのフレームワークは、1 次と 2 次のアンビソニックスをサポートします。プラグインインターフェースには、バイノーラルステレオ、クワッドの出力をサポートする情報が含まれていますが、どの出力をサポートするかはプラグインによって決定されます。最初は、アンビソニックデコーダープラグインが 1 次アンビソニックソースとバイノーラルステレオ出力をサポートします。2 次アンビソニックスはサポートされません。

利用可能なアンビソニック形式のうち、特定のものに対して専用のフレームワークはありません。クリップの形式がアンビソニックのデコーダープラグインの想定される形式と一致する場合は、アンビソニックオーディオは問題なく作動します。Unity にとって好ましいアンビソニックフォーマットは、B-format で ACN コンポーネント順と SN3D の正規化を伴っているものです。


  • 2017–08–10 公開ページ
  • Unity 2017.1 の新機能NewIn20171
Audio プロファイラー
オーディオクリップ