kiyasuの日記

ハッピーうれピーよろしく哀愁

Dolby Atmos

  • dolby atmosの空間オーディオをHoloLensアプリ内で体験したい

とりあえずdolbyデベロッパーアカウント作ってこの辺眺めてみる

developer.dolby.com

Windowsでの空間オーディオ(Spatial Sound)の対応状況を見る。それぞれどの形式を、どうやって実現して、どうサポートするのか docs.microsoft.com

On HoloLens 2, Microsoft Spatial Sound is enabled by default and uses hardware DSP offload designed specifically for Windows Sonic for Headphones.

HoloLens 2では、Microsoft Spatial Soundがデフォルトで有効になっており、Windows Sonic for Headphones専用に設計されたハードウェアDSPオフロードが使用されています。


Dolby Atmos、空間オーディオ自体ががまだ何にもわからんが、どうやら空間オーディオは様々な形式があり、形式ごとにハードウェアとしてサポートしているかどうか、という問題がまず存在するようだ。

確かに最大17チャンネル、17個のオーディオファイルを同時再生すると考えれば、ハードウェアのサポートも必要そうではある。

そしてHoloLens2でDolby Atmosはサポートしておらず、その代わりWindows Sonic for Headphonesというのをサポートしているらしい。


次にDolby Atmos形式のものをWindows Sonic for Headphonesに変換することを考える。最初は「Dolby Atmosの多チャンネル音源を一つずつに分割して空間に配置する」と考えたけど、負荷が大きそうなのと、結局やることは近いことになりそうなので変換の方向で考える。

空間オーディオは、複数のモノラル音源と、再生位置と、発音位置(スピーカー位置)の組み合わせ、なのかな?Logic Proのサンプルプロジェクト見るとそんな感じだったが…いずれにせよDolby Atmosのファイルの中身を理解して再構成する必要がありそう。


Dolby Atmosのファイル形式

Dolby AtmosはADM BWFと言われる形式のようだ。

BWFはWAVの拡張で、このADM BWFも拡張子は.wavになる。しかし中身が違うので通常のオーディオプレイヤーでは再生できない。macのQuickLookではmacbookのスピーカーから音が出なかったがAirPods Maxからは音が出た。

Broadcast Wave Format - Wikipedia

  • BWFはDolbyの技術ではない。
  • 通常のwavに複数のmetadataが付与されたもの

ADMはAudio Definition Modelのこと

音響|リアリティーイメージング - 8Kスーパーハイビジョン|NHK放送技術研究所

音素材の構成や再生時の位置情報などを記述する音響メタデータである音響定義モデル(S-ADM: Serial-Audio Definition Model, ITU-R BS.2076-1)

全く同じではないかもしれないが、まあまあ近いものだろう。

Dolby AtmosにおけるADMはこちらに詳細が書かれているようだ(公式)。まだ読んでないけど、大体同じな気がする。微妙にサブセット拡張とかあるのかもしれない。

https://professionalsupport.dolby.com/s/article/Dolby-Atmos-ADM-Profile-specification?language=en_US

このあたりの情報はBWFメタデータのiXMLあたりに書かれてるのかな、多分。

まとめると

  • Dolby Atmosのファイル形式はADM BWFと呼ばれるもの
  • 拡張子は.wav
  • ADMというデータ構成をBWF(wavとメタデータのセット)で記述したもの

という感じのようだ


ADM BWFファイルを分解する

C#でやっていく。とりあえずADM BWFのメタデータを取ってくるのが初めの一歩になるだろうか。

github.com

このへんとか


www.google.com

ちなみに直接的にこうやって検索してみたけどめぼしいページは無さげ。Windows Sonicはゲームのサラウンドみたいに、あくまで再生媒体でしかないのかな