ATH-HL7BTとBluetoothオーディオ (A2DP) にまつわる気になること考察

 

前回記事ではATH-HL7BTを無理矢理モニターライクに使う事を実践し、思った以上に良好な結果が得られました。
この検証過程で感じた、Bluetoothオーディオに関する細かな疑問について考察を書き残します。

・LDACの仕組みと弱点に感じた部分
自身の運用では、音声コーデックは最終的にAACを採用しています。最大の理由としては、LDAC接続で試聴した際、ごく限られた状況ではあったものの、中高域の繋がりが悪いと感じる瞬間がありました。

特に気になった状況としては、Yes - Roundabout (多分2014 Remaster版)を再生した際に、冒頭のギターの倍音の滑らかさに違和感を感じたり、ボーカルラインの音域が上がる時とその前での粒度にズレを感じたりしました。
品質プロファイルを変更し、MQ (330kbps)とSQ (660kbps)の間では若干の改善を感じられたように思うものの、SQとHQ (990kbps)の間ではあまり差を感じる事ができませんでした。AAC接続時にはこういったつながりの悪さを感じる事はなかったため、コーデックの仕組みに原因があるのではないかと考えました。

ざっくり理解した部分としては、LDACは開発者インタビューによると周波数帯域毎に(固定で?)データ量の重みづけをする方式、AACはこちらの日本音響学会誌の特集によると聴覚心理モデルによるデータ量の重みづけをする方式、といった所のようです。
(余談というかメモですが、aptXは日本オーディオ協会の2015年1月のジャーナルの解説によると、ADPCMを基本とした技術のようです。)

LDACはビットレートを上げた分を主により高域(=~可聴域外)の信号に割り当て、96kHzなどの高サンプリングレートに対応するという仕組みに見えるので、プロファイルを向上させたとしても、例えば44.1kHzのソースの表現が改善されるという訳ではないのかもしれません。
AACは継時マスキングにより人間が知覚しづらい部分を切り捨てる、トランジェントの動きによって変換方式を切り替える、といった方法を使用して圧縮を行っている様子で、周波数帯域を固定せず、状況に応じてデータ量を変化させているようです。この方式は特定の周波数における変換結果は入力信号の状況によって変化すると考えらえるものの、アルゴリズムが上手くできていれば、同程度の音量の場合には同程度のデータ量を割り当てるはずで、周波数帯域間のバランスは変化しづらいのではないでしょうか。

自分の目的である無理矢理ミックスダウンに使うことに対して、どちらが適しているかを考えると、考えられる理屈の面でも、実際の試聴結果としても、全体のバランスが崩れにくいと思われるAACが有利と感じました。

この辺りの話題は、自分がもっとエンコーダーのソースを理解できればより正確に論じる事ができるのだろうとは思うのですが… 

 

・Alternative A2DP Driverについて
Win11が標準で対応しているBluetoothオーディオ、より厳密にはAdvanced Audio Distribution Profile (A2DP)のコーデックは、Microsoftの公式ドキュメントによると、SBC, aptX Classic, AAC, aptX Adaptive (QualcommのBluetoothチップを搭載した一部機種のみ)とされています。
そして、ATH-HL7BTが対応しているコーデックは、SBC, AAC, LDACとなっています。
LDACについては前項で色々と述べていますが、LDACは受信側に開発元 (SONY)からのライセンシングが必要であるものの、送信側についてはソフトウェアのみで実装されており、Androidプロジェクトにlibldacとして提供・公開されています。ライセンスはApache License 2.0です。

このライブラリを元に、LDACのエンコーダーをWin向けに移植して使えるようにしたものが、Alternative A2DP DriverのLDAC部分のようです (About - Third-Party Notices にAOSPの記述がある所から)。
なので基本的にはAndroidと同じ実装…のはずなのですが、Win11のカーネルミキサーの影響なのか、はたまた別の何かか、Androidで聴く時とは若干の差異があるように感じました。

また、このドライバにはAACオプションが別途ありますが、こちらはfdk-aacを使用し、AACのライセンス料を別途支払う形で利用しているようです。
こちらはWin11のAACエンコーダーがどういった実装なのか不明ですが、こちらもWin11標準ドライバーとは聴こえ方が異なるように感じました。
具体的に感じたケースは、Bruno Mars - Finesse (Remix) (Feat. Cardi B) (24K Magic (Deluxe Edition)収録のもの)で、Cardi Bのパート部分のボーカルとオケの馴染み具合というか、そういった部分に差を感じました。

こちらは試聴の結果、自分はWin11標準ドライバー (AAC)で運用することとしました。

 

・ATH-HL7BTの「低遅延モード」について
ATH-HL7BTには、AAC (と恐らくSBC)動作時に使える、低遅延モードが存在します。出荷時設定では有効です。
有効/無効時の遅延量の差異は明確で、無効時はBPM120の8分音符を弾いたら1音目が鳴るのは2音目のキーを押すぐらいになる勢いなのが、有効時はちょっと遅いな、ぐらいまで抑制されます (それでも生楽器のモニターに使える量ではありません)。

ただ、これには何かしらのトレードオフがあるだろうと考え、有効/無効を切り替えてA/B比較を行った所、若干、音の解像度が下がるかな…?という差異を感じました。ただ、ビットレートが半分に下がったというほどでもない変化に思えます。
音声レートは実際にはどうなっているのかと、送信コーデックやビットレートを確認できるツールを用いて確認した所、Win11からは有効/無効どちらの場合もAAC VBR 256kbpsで送信されていました。つまりホスト側は何もしておらず、ヘッドホン側で何かしらの処理を行っていると考えられます。

調べを進めると、同メーカーの別の機種になりますが、ATH-CKS660XBT/CKS330XBTのレビュー記事内にメーカーの説明として、「製品内部のソフトウェアの処理によってBluetooth固有の音声の遅延を抑制」という情報があり、同じ機能名、同じメーカーである事から、ATH-HL7BTにおいても、同様の処理が行われているのではないかと推測できました。
ひとつ推測の助けになる材料としては、ATH-HL7BTのマニュアル内での低遅延モードの説明文に、「障害物や電波状況により、Bluetooth通信が途切れやすくなる場合があります」という表記がありました。
考え得る実際の処理としては、液晶ディスプレイのゲームモードのように、ヘッドホン側で行う音声処理の一部を省略することで、遅延の抑制を実現しているのではないでしょうか。通常モードで補完処理がもしあるのであればそれや、ベリファイを行うのであればそれを省いて受け取ったパケットをそのまま渡しているとか…そのような状況を考えています。

 

Bluetoothオーディオ機器を本格的に活用するのは初めてで、色々と分からない事や、調べてもあまり情報が出ない事も色々ありました。自分のためのメモも兼ねて、この記事を置いておきます。

コメント