Audio プロファイラー
オーディオクリップ

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

はじめに

このページはアンビソニックスの再生方法と、アンビソニックオーディオデコーダーをサポートするために加えられたオーディオプラグインインターフェースに対する変更について説明します。

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

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

Navigate to the project’s Audio settings (main menu: Edit > Project Settings, then select the Audio category). Select an ambisonic decoder from the list of available decoders in the project. There are no built-in decoders that ship with Unity 2017.1, but Google and Oculus each provide one in their audio SDKs for Unity.

Ambisonic options in the Audio settings
Ambisonic options in the Audio settings

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

マルチチャンネルの WAV ファイルを、通常どおりにインポートします。オーディオクリップの Inspector ウィンドウで、新しい Ambisonic のチェックボックスを選択します。WAV ファイルは B-format で、ACN コンポーネント配列で、SN3D 正規化されている必要があります。

オーディオクリップの Inspector の Ambisonic のチェックボックス
オーディオクリップの Inspector の Ambisonic のチェックボックス

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

他のオーディオクリップと同じように、アンビソニックなオーディオクリップもオーディオソース経由で再生します。アンビソニッククリップを再生するとき、アンビソニッククリップはまず必要に応じて解凍され、アンビソニックデコーダーを介してプロジェクトで選択されたスピーカーモードに変換されます。それから、オーディオソースのエフェクトを通じて処理されます。

Audio Source プロパティーに関していくつか注意点があります。

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

  • 空間配置されたオーディオソースと同様に、アンビソニックオーディオクリップでは、リバーブゾーンは無効になります。

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

プラグインオーサーの方は、まず、Unity マニュアルのネイティブのオーディオプラグイン SDK とオーディオスペーシャライザー SDK を参照し、オーディオプラグイン SDK をダウンロードしてください。

https://docs.unity3d.com/Manual/AudioMixerNativeAudioPlugin.html

https://docs.unity3d.com/Manual/AudioSpatializerSDK.html

https://bitbucket.org/Unity-Technologies/nativeaudioplugins

There are two changes to AudioPluginInterface.h for ambisonic audio decoders. First, there is a new effect definition flag: UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder. Ambisonic decoders should set this flag in the definition bit-field of the effect. During the plugin scanning phase, this flag notifies Unity that this effect is an ambisonic decoder and it will then show up as an option in the Audio settings’s list of ambisonic decoders.

2 つめは、アンビソニックデコーダーに渡す新しい UnityAudioAmbisonicData 構造体です。これは、スペーシャライザーに渡す UnityAudioSpatializerData 構造体に非常に似ていますが、新しい ambisonicOutChannels 整数が追加されています。このフィールドは、DefaultSpeakerMode のチャンネル数に設定されます。アンビソニックデコーダーは、クリップのチャンネル数で実行するオーディオパイプラインの非常に早い段階に配置されます。ですから、ambisonicOutChannels は実際に使用する出力チャンネルの数をプラグインに通知します。

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

2017.1 の Unity アンビソニックソースフレームワークは、1 次と 2 次のアンビソニックスをサポートします。プラグインインターフェースには、バイノーラルステレオ、クワッド、5.1、7.1 の出力をサポートする情報が含まれていますが、サポートのレベルは、プラグインによって決定されます。初期段階では、まだ、アンビソニックデコーダープラグインが 1 次アンビソニックソースとバイノーラルステレオ出力をサポートすることだけが期待されています。

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


Audio プロファイラー
オーディオクリップ