「ステレオを空間化」を詳しく調査
まえがき
iOS15 / iPadOS 15 にて、「ステレオを空間化 (Spatialize Stereo)」機能が追加された。これは、空間オーディオ対応の AirPods や Beats シリーズを使用時に、文字通りステレオ音声を空間オーディオ化してくれる機能なのだが、その詳細は語られていない。この機能は一体何をしているのか、ログで解析してみようと思う。
注意
この記事に載せているログは、文頭の日付、時刻、機種名の部分は省略している。また、スマホ等でも見やすくなるように、適宜改行やインデント (字下げ) 等の整形をしている。
動作ログで調査
iPadOS 15 の iPad mini (第6世代) に AirPods Pro を接続し、「ステレオを空間化」機能を有効にした状態で YouTube のステレオ音声を再生すると、ログ上では stereoUpmix
というフラグが立っていることが確認できる。
mediaserverd(AudioToolbox)[34] <Notice>:
SpatializationManager.cpp:909
Logging power event:
pid = 17555,
name = YouTube,
spatialization = 1,
stereoUpmix = 1,
headTracking = 1
アップミックス (upmix) とは、2.0ch → 5.1ch や 5.1ch → 7.1ch など、元の音源のチャンネル数よりも多いチャンネル数の音源を作り出す処理のことである。逆に、5.1ch 音源などを 2.0ch などに落とすことを、ダウンミックス (downmix) という。
典型的なアップミックスの処理では、複数チャンネルにまたがる共通の音を抽出して足し合わせ、その中間にあるスピーカーに振り分けたり、逆位相となっている音を後方や上方向に振り分けたりした後、「ステアリング」と呼ばれる処理を施して方向性を強調する。多分何を言っているのか分からないと思うし、そもそも「ステレオを空間化」では従来のアップミックスと同じ処理をしているかも分からないので、詳しく知りたい方は かないまる氏の一連の記事 などを読んでいただきたい。
ともあれ、「ステレオを空間化」では、単に 2.0ch のままバーチャライズ (2.0ch のイヤホンやヘッドホンでありながらも、5.1ch や Dolby Atmos などの環境を仮想的に再現) の処理をかけているだけではなく、その前にきちんとアップミックスも行われているということが分かる。
なので、Amazon Music の空間オーディオを聴く際や、バイノーラル音声を聴く際には、「ステレオを空間化」をオフにしたほうがいい。詳細は以下の記事にて。「インスタントコーヒー」に例えている部分が、アップミックスの処理を指している。
アップミックスの処理を行う技術のことを、アップミキサー (upmixer) という。「ステレオを空間化」で用いられているアップミキサーには、”ScottySTFTUpmixer” という名称がついているようだ。
mediaserverd(libAudioDSP.dylib)[34] <Notice>:
ScottySTFTUpmixer:
sample rate = 44100.000000,
frame size = 1024
Scotty は開発者の名前か何かだろうか。”Apple Scotty” で検索すると、Apple の初代 CEO である Michael “Scotty” Scott がヒットするが、この方ではない気がする。
STFT とは Short-Time Fourier Transform、日本語に訳すと短時間フーリエ変換となる。「ステレオを空間化」における ScottySTFTUpmixer の詳しい仕組みまでは分からないが、少なくとも短時間フーリエ変換を利用したものであるということが分かる。
「ステレオを空間化」で処理された音声は、6ch 音声として処理されている様子が見て取れる。
mediaserverd(libAudioDSP.dylib)[34] <Notice>:
InputElement #0:
Setting stream format:
6 ch,
44100 Hz,
Float32,
deinterleaved
mediaserverd(libAudioDSP.dylib)[34] <Notice>:
InputElement #0:
Number of channels in stream format changed
mediaserverd(libAudioDSP.dylib)[34] <Notice>:
InputElement #0:
Setting default audio channel layout tag =
AudioUnit_6_0 for 6 channels
mediaserverd(libAudioDSP.dylib)[34] <Notice>:
SetAudioChannelLayout:
Setting input 0 audio channel layout tag =
MPEG_5_1_A
ログの最後にある MPEG_5_1_A
は、
- L (Left): 前方左
- C (Center): 前方中央
- R (Right): 前方右
- LFE (Low Frequency Effect): 0.1ch の低音成分
- Ls (Left surround): 左側面~後方左
- Rs (Right surround): 右側面~後方右
という順序で並んでいる 5.1ch 音声のことを指す。6ch という表記は LFE を切り上げて呼んでいるだけなのだろう。
ということは、Apple の「ステレオを空間化」で行われるアップミックスの処理は、ステレオ音声をサラウンド (前後左右) に拡張するものであって、最近流行りのイマーシブサウンド (前後左右 + 上下) にまでは対応していないということが分かる。
アップミキサーでは 2.0ch 音声を 5.0ch に展開することはできるが、5.1ch にすることはできない。0.1ch の音を作り出すには、別途「ベースマネジメント」という処理が必要である。ベースマネジメントとは、メインのスピーカーが出せない低い音を抽出し、「サブウーファー」や「スーパーウーファー」などと呼ばれる低音専用のスピーカーに担当させることをいう。
どの周波数で低音と高音を分けるかを、「クロスオーバー周波数」という。クロスオーバー周波数という言葉に「クロスオーバー」と入っているように、ある決められた周波数でスパッと低音と高音を分けるのではなく、クロスオーバー周波数より下側もある程度はメインのスピーカーも担当するし、上側もある程度はサブウーファーが担当する。
ベースマネジメントはサブウーファーが存在する環境で有効な技術であって、2.0ch の AirPods や Beats シリーズでは本来不必要なものである。だが、どうやら検証に使用した AirPods Pro では 150Hz をクロスオーバー周波数としたベースマネジメントが行われているようなログが見受けられた。
Setting LFE Low Pass Frequency =
150.000000
このログは、「ステレオを空間化」使用時のみならず、Dolby Atmos や Dolby Audio (Apple 的には Dolby Digital Plus の 5.1ch や 7.1ch 音声のことを指す) のコンテンツを再生中にも出ていた。また、AirPods Pro だけでなく iPad mini (第6世代) の内蔵スピーカーで再生した際にも出ていて、こちらも 150Hz となっていた。
なぜ Apple は独自のアップミキサーを使用するのか?
長い映画音響の歴史と、最近のイマーシブな音楽の流行の中で、アップミキサー (及びその前身となったマトリックスデコーダー) は様々な企業によって多数開発されてきた。
一例を以下に示すが、どれか一つぐらいは見かけたことがある方も多いのではないだろうか。なお、下線を引いてあるものに関しては、イマーシブサウンドにも対応したアップミキサーである。
Dolby
- Dolby Stereo A-type / SR
- Dolby Surround (旧)
- Dolby Surround Pro Logic
- Dolby 3 Stereo
- Dolby Pro Logic II
- Dolby Digital Surround EX (SRD-EX)
- Dolby Digital EX
- Dolby Pro Logic IIx
- Dolby Pro Logic IIz
- Dolby Surround (新)
DTS
- DTS Stereo
- DTS Neo:6
- DTS Neo:X
- Neural:X
Sony
- Immersive Audio Enhancement
- 360 Spatial Sound
- 360 Upmix (360 Reality Audio Upmix)
その他
- Auro-Matic
- channel upmixer (Xbox)
- THX Surround EX
- Ultra Stereo
- SRS Circle Surround
- SRS Circle Surround II
注意
Dolby Surround には、Dolby Stereo / Stereo SR の家庭版である古いもの (4.0ch L/C/R/S → 2.0ch Lt/Rt マトリックスエンコーダー、2.0ch Lt/Rt → 3.0ch L/R/S マトリックスデコーダー) と、Dolby Atmos 対応機器に搭載される新しいもの (最大17.1.10ch 対応アップミキサー) とが存在している。
以後、Dolby Surround と書いている箇所は、すべて新しい方を指す。
Dolby Atmos 対応の Android 端末には Dolby の様々なオーディオエフェクトが搭載されており、その中には Dolby Surround 相当のアップミキサーも含まれている。Dolby Atmos 機能を有効にすると、普通のステレオ音声でも音が変わるのは、アップミックスを含む様々なエフェクトが適用されるからである。
一方、iPhone や iPad は Dolby Atmos に対応しながらも、Dolby のアップミキサーを使わず独自のアップミキサー、それもイマーシブサウンド非対応のものを使用している。これは一体なぜなのか。実際のところは Apple にしか分からないが、似たような事例に心当たりはある。
YAMAHA の AV アンプ (ホームシアター用の多チャンネルアンプ) は「シネマDSP」という独自機能を売りにしている。シネマDSP とは、映画館、コンサートホール、ライブハウス、スポーツスタジアムなどの音場をホームシアターで再現しようというものだ。
そんなシネマDSP だが、実は Dolby Surround や DTS Neural:X といったイマーシブなアップミキサーとの併用は不可となっている。
ドルビーサラウンドにシネマDSPを掛けることはできますか?
できません。
その理由としましては、ドルビーサラウンドは、従来のフロアベースのサラウンド音場を立体的に変換することに対しては非常によくできたアップミックス技術です。これに対しシネマDSPは、より広い空間でサラウンドを楽しんでいただくことを目的にしています。
それらの目的の違いもあり、もともとサウンドデザイナーが考えていた音場に対してふたつのアップミックスを掛け合わせるとコンテンツによってはよい効果にならない場合があります。
【CX-A5100】ドルビーサラウンドにシネマDSPを掛けることはできますか? – ヤマハ
そのため、シネマDSP の映画モードでは、Dolby Pro Logic II (最大 5.1ch)、Dolby Pro Logic IIx (最大 7.1ch)、DTS Neo:6 (最大 6.1ch) といった前世代のアップミキサーが用いられている (音楽モードではアップミキサー不使用)。
Apple 製品において、Dolby Atmos や Dolby Audio 音声、ScottySTFTUpmixer でアップミックスした音声をイヤホン / ヘッドホンでバーチャライズ して再生する際は、Apple 独自の音場処理が行われる。その独自の音場処理も、シネマDSP 同様 Dolby Surround のようなイマーシブなアップミキサーとは合わなかったのだろうと思われる。
余談
実は、Apple 独自の音場処理を含めた一連のバーチャライズ処理と、Dolby Digital Plus JOC という Dolby Atmos のフォーマットの一種の仕様によって、Apple Music 向けに Dolby Atmos Music を作っている方々の間で混乱が起きている。
Why Your Atmos Mix Will Sound Different On Apple Music | Production Expert
https://www.pro-tools-expert.com/production-expert-1/why-your-atmos-mix-will-sound-different-on-apple-music
YAMAHA の AV アンプのうち、Dolby Atmos や DTS:X に非対応な機種では、シネマDSP で使用するアップミキサーとして、Dolby Pro Logic II / IIx か DTS Neo:6 かを選ぶことができる。一方、Dolby Atmos / DTS:X 対応機種には DTS Neo:6 は搭載されているものの、Dolby Pro Logic II / IIx は搭載されておらず、シネマDSP には DTS Neo:6 しか使えない。このことから、Dolby は Dolby Atmos 対応製品に対しては、Dolby Surround 以外のアップミキサーは提供していないようだ。
Apple 製品は今のところ DTS 系音声には対応していないので、DTS のアップミキサーだけ積むというのもおかしな話だ。DTS は DTS:X Premium、DTS:X Ultra、DTS:X 3D Surround、DTS Headphone:X、DTS Envelo といったモバイル機器向け音響技術パッケージを出してはいるが、これを「ステレオを空間化」に使用すると、恐らく音の調整は DTS 任せになり、独自の音場処理は行えなくなってしまう可能性がある。
360 Spatial Sound や 360 Upmix、Auro-Matic 等は、大元の 360 Reality Audio や Auro-3D 自体がイマーシブサウンドの規格ということもあり、アップミキサーもイマーシブである。SRS Circle Surround 系は特定のフォーマットには依存しないが、今でもライセンス供給しているのかわからない (そもそも開発元の SRS Labs 自体 DTS に買収されている)。
これらの事情から、Apple は「ステレオを空間化」機能の開発にあたり、ScottySTFTUpmixer という独自のアップミキサーを開発せざるを得なかったのだろう。独自で音場処理をする Apple のことなので、そもそも第三者のアップミキサーは眼中になかった可能性もなくはないが…。
イマーシブなアップミキサーは一朝一夕でできるものではないと思われるが、5.1ch アップミックスは研究しつくされた分野なので、Apple ほどの企業であれば、十分独自開発できそうではある。
おわりに: Apple の提唱する「空間オーディオ」とは何なのか?
Amazon Music などが言っている「空間オーディオ」とは、単に Dolby Atmos や 360 Reality Audio のといった音声フォーマットのことを指しているように見える。一方、Apple の「空間オーディオ」はどうもそれだけではないような気がしている。
考えるに、Apple の「空間オーディオ」とは、単にフォーマットの話だけでなく、それを再生する際の独自のバーチャライズ処理など諸々含めてそう呼んでいるのだと思われる。
Android 端末で Dolby Atmos 音声をバーチャライズして再生するには、基本的に “Dolby Atmos” 機能を有効にして再生する必要があるが、Apple 製品の場合は “Dolby Atmos” 機能ではなく「空間オーディオ」機能を有効にすることになっている。
また、「ドルビーアトモスによる空間オーディオ」という表現もある。
Apple Music のサブスクリプションに登録している場合は、一部の曲をドルビーアトモスによる空間オーディオで聴くことができます。
Apple Music のドルビーアトモスによる空間オーディオについて – Apple サポート (日本)
あくまで Apple がやりたいのは諸々の処理まで含めた「空間オーディオ」であって、その手段として Dolby Atmos、Dolby Audio、ScottySTFTUpmixer といったフォーマットやアップミキサーがあるのだろう。
まとめると、「ステレオを空間化」とはステレオ音声を ScottySTFTUpmixer で 5.1ch にアップミックスし、独自のバーチャライズ処理をすることになる。ということは、Dolby Atmos 音声を Apple の独自処理で再生することは、言わば「ドルビーアトモスを空間化」とも言えるのではなかろうか。
theres also Logic 7 upmixer