一畳のくつろぎタイム

このブログでは紹介する商品画像をAmazonアソシエイトより借りています。画像やリンクにはアフィリエイト広告が含まれる事があります

2022年7月20日水曜日

Nest Hubが対応するBluetooth規格の調査とBluetooth疑問解消

 

Windows Performance Analyzer

 NestHubを買って、NestHubからならばプレイリスト単位でのYoutubeMusic再生ができることがわかり、自分の中でBluetoothブームが再燃しました。

NestHubが対応しているBluetoothコーデックを調べてみると、特になにも書いてありません!!

ということはBluetooth機器ならば必ず持ってるSBCだと思われます。

 私の中で「SBCはBluetooth音楽コーデックの中では最弱!」という認識があり、実際一般的にはそのような認識だと思います。

 

Bluetooth機器はスマートフォンと出会ってから長いこと付き合っており、経験上色々疑問も持っていたので併せて解消を試みました。

今までのbluetoothや音質関連のできごと、記事など

 

1つ目の疑問

SBCでも案外いい音で鳴るよね?遅延も言うほど遅れてない?

SBCについて調べていると、感覚じゃなくちゃんとデータを持ってコーデックについて語っている方のサイトで学ばせてもらい。SBCにも設定があって設定次第ではaptxやAACに負けないということを理解しました、遅延も別に調べましたが意外と遅くない(220ms)ということで感覚と一致します。

その設定がbitpoolという値のようで、これが53などに設定されていれば高音質(328kbps)で転送で来ているということらしいのです。


2つ目の疑問

そのBluetoothデバイスが対応しているコーデックを確認する方法はあるのか?

Androidの場合はBluetooth HCI snoopログを見ればよいということ。

こちらの経験値ノートさんが解説してくれています。

https://expnote.com/android-bluetooth-sbc-bitpool/

 PCからはできないのか?と調べますと

qiitaでnobu-mapleさんが解説してくれている方法と、その記事のソースになった外人さんサイトでわかる

 https://qiita.com/nobu-maple/items/8cb2f95a26228d0d22ed

 最終的にどのコーデックが採用されたかもわかるので、

Macの場合はAdditional Tools for Xcode を入れてbluetooth explorerを使えば結構情報がわかるようです。時間があったらやってみます。

 

Nest Hubのコーデック

Windowsから調べたところNest HubはSBCとAACに対応してそうだった。

0,0,0(SBC)と2,0,0(AAC)のところ

Line #, Provider Name, Task Name, Opcode Name, Id, Process, Event Name, Cpu, ThreadId, PartA_PrivTags (Field 1), A2dpStandardCodecId (Field 2), A2dpVendorId (Field 3), A2dpVendorCodecId (Field 4), BTDeviceAddress (Field 5), Field 6, Field 7, Field 8, Field 9, Field 10, Field 11, Field 12, Field 13, Field 14, Field 15, Field 16, Field 17, Field 18, Field 19, Field 20, Field 21, Field 22, Field 23, Field 24, Count, Time (s)
84, , , , , , Microsoft.Windows.Bluetooth.BthA2dp/A2dpAvailableRemoteCodec/, 15, 0, 50333696, 0, 0, 0, 238505018397352, , , , , , , , , , , , , , , , , , , , 1, 10.808201000
85, , , , , , Microsoft.Windows.Bluetooth.BthA2dp/A2dpAvailableRemoteCodec/, 15, 0, 50333696, 2, 0, 0, 238505018397352, , , , , , , , , , , , , , , , , , , , 1, 10.880142800

 

Windowsとつなぐと、WindowsはAACはできないのでSBCかaptxなのでSBCとなりました。証拠残していないですが、AndroidとはAACでつながってた記憶。


bitpoolを確認する方法があるのか?

一応それっぽいのは出ている、608,53,5の53のところ

Line #, Provider Name, Task Name, Opcode Name, Id, Process, Event Name, Cpu, ThreadId, PartA_PrivTags (Field 1), A2dpSbcBitRate (Field 2), A2dpSbcMediaFrameSize (Field 3), A2dpSbcBitPool (Field 4), A2dpSbcFramesPerPayload (Field 5), A2dpSbcFrameSize (Field 6), A2dpSbcBlocks (Field 7), A2dpSbcChannels (Field 8), A2dpSbcChannelMode (Field 9), BTDeviceAddress (Field 10), Field 11, Field 12, Field 13, Field 14, Field 15, Field 16, Field 17, Field 18, Field 19, Field 20, Field 21, Field 22, Field 23, Field 24, Count, Time (s)
104, , , , , , Microsoft.Windows.Bluetooth.BthA2dp/A2dpSetSbcBitrate/, 5, 0, 50333696, 347428, 608, 53, 5, 119, 16, 2, 3, xxxxxxxxxxx, , , , , , , , , , , , , , , 1, 6.841020300
105, , , , , , Microsoft.Windows.Bluetooth.BthA2dp/A2dpSetSbcBitrate/, 16, 0, 50333696, 347428, 608, 53, 5, 119, 16, 2, 3, xxxxxxxxxxxx, , , , , , , , , , , , , , , 1, 11.883254000

Bluetooth機器を古いのから新しいのまで色々つないでみましたが、ここの値は変化しないため、現在の接続や機器の情報ではなくWindows自体の設定値なのではないかと感じます。列名で調べてみたりするが情報は見つかりませんでした。


疑問がなんとなく解決した情報

色々調べた挙句、こちらの株式会社シーデックスさんのサイトに到着しました。

https://www.cdex.co.jp/bluetooth_sbc.html

SBCはリアルタイムでの接続性を重視して、状況に応じてデータレートを落として通信するものらしく、通信中に環境に応じて賢く切り替えているということだ。

実証実験のデータ掲載があるわけでもないですが、内容が腑に落ちます。

それからワイヤレス機器は電池の都合もあり、転送量を減らす場合もあるということで、SBCは音質で勝負しているコーデックではないという説明をみてなんだか色々納得した。

bitpoolの値を一瞬見たところでリアルタイムモニタリングでもできないと意味がなさそう。

 

 Nest Hubを活用に当たって

PCからNestHubへの接続とNestHubからBluetooth機器に接続するので両方が同じコーデックに対応しているかはわかりませんが、同じと仮定するとAACでつなげられるレシーバーを用意すれば良いのかな?という感想です。

でもsbcでもaacでも自分の耳では聴いてもわからないような気がします。安い中華イヤホンとSonyのイヤホンでは規格は同じでも聴いたときに受ける感覚が違ったりするので、色々組み合わせてみて自分が心地良いと思うパターンで聴けばいいのかな。


楽にBluetooth Codecを調べる方法

Bluetooth Tweakerなるソフトを使うと簡単に調べられました。

切断とか接続が必要だったので、やってることは上の手順と同じっぽい。


ただ制限が厳しく無料お試しでは調査できるのが1Bluetoothデバイスのみ、且つ、ライセンスはPC毎でPC変わったら再び課金ということで近いうちにマザーボード交換しようと考えていたので使うのを止めました。

とても便利なのでPC毎ライセンスとかいうケチくさいSDGsなこと言わなかったら迷いなくライセンス購入したんですが、 自分もケチくさいSDGsなのでそれほど手間でなければ節約方向で自分でやれるなら自分で。