Bluetoothヘッドセットとの戦い

ふと、PCでオンライン会議をするのにちょうどいいマイクとヘッドホンが欲しくなって、こういう投資は惜しんではならないとおばあちゃんの知恵袋に書いてあるので、買った。

マイクはマランツのMPM2000UというUSB接続のコンデンサマイクにすることにした。これをできればアームスタンドに取り付けたかったが、生憎デスク周りの構造上アームを付けられる場所がなかったので、卓上スタンドで使っている。会議の度に手前に持ってきたり奥にしまったりするのが若干煩わしいが、この煩わしさがオンライン会議をやるぞ!という気持ちのスイッチにもなっている部分も若干ある。

( Amazonアフィリエイト: https://www.amazon.co.jp/gp/product/B01GJ9IUNY/)

最初は有線のマイクではなく、無線のヘッドセットを導入して完全ハンズフリーな会議環境にしたいと思った。だが、それは諦めて有線のマイクを買うことにした。その経緯についてここにメモしておきたい。

無線のヘッドセットを使えば、会議中にふらふらとPCの前を離れてもちゃんと会議の音声は聞こえるしこちらの声も届く。なんと夢のような。そう思ってBluetoothのヘッドセットを探した。

最近のイヤホンはカナル型のものが全盛だ。オープンイヤー型は音が漏れるので非常に嫌がられる。だが、野村にとってはカナル型イヤホンは、装着した時の遺物感と「周りの音が聞こえづらくなる」ところがとても辛い。なので、SONYのSBH82Dを買った。特殊な形状のイヤホンなので、これを選んだということは相当に悩んで選んだなと察していただきたく。

( Amazonアフィリエイト: https://www.amazon.co.jp/gp/product/B07R7B3GRC/)

で、早速使ってみたところ、確かに無線のヘッドセットとして機能した。音はちゃんと聞こえるし、マイクの一は肩甲骨あたりに来ることになって話しやすい。だが、嬉々としてオンライン会議の本番に投入しようとすると、そのタイミングに限ってイヤホンのBluetoothが切断されるという現象が発生した。何度か試すうち、このBluetooth接続が切れてしまう現象はイヤホンとマイクを同時に使用すると発生することがわかった。PCの音楽を聴いたりYouTubeを見たりしているときには全然切断されないが、オンライン会議のようにマイク機能を併用するときに非常に切れやすくなるのだ。

出力にSBH82D、入力にUSB MICROPHONE(MPM2000U)を指定

で、まず上記の有線マイクを買ってみた。そして、イヤホンにSBH82D、マイクにMPM2000Uを指定してみると、予想通りイヤホンが切断される現象は起きなくなった。なんだよ、SBH82Dはヘッドセットとしては使えないのか?……もう少し実験してみよう。

MacBookProのBluetoothのハードウェアまたはドライバに問題があるのかも、と思い試しにAppleのAirPodsを買ってみた。試しに買うっていう金額じゃねーが。

( Amazonアフィリエイト: https://www.amazon.co.jp/gp/product/B07PRWYVN4/)

さすがはApple、接続トラブルもなくすんなりと音が出た。ではマイクはどうか。……繋がる!ちゃんと繋がる!……だが、どういうわけか、圧倒的に音質が悪くなる。なぜだろう、と思いネットで調べてみると、「コーデックが切り替わる」という記述を発見する。

これ、AirPodsだけではなくSBH82Dのほうでも再現できるのだが、Bluetoothデバイス1つでイヤホンとマイクを同時に使うと、SCOコーデックになることが原因であった。

イヤホンとマイクを使用するときはSCOコーデックになっている

調べてみると、これはBluetoothのHFP(Hands-Free Profile)という仕様に基づいていることがわかった(参考: https://news.mynavi.jp/article/osxhack-264/ )。その名前から、携帯電話のハンズフリー用ヘッドセットで使う想定の規格なのだと推測される。つまりMacはヘッドセットを使う時にBluetooth機器との接続するときにプロトコルはHFPを要求する。

一方、SBH82Dをイヤホンとして使っている時、Bluetoothオーディオ機器の標準的な接続プロトコルであるA2DP(Advanced Audio Distribution Profile)でMacと接続している。それが、マイクを有効化するとA2DPからHFPに切り替わる。このことから、SBH82DはA2DPからHFPプロトコルを上手に切り替えれずに接続が切れる、またはそもそもHFPが苦手なのではないかと想像した。

Bluetoothの仕様は https://www.bluetooth.com/specifications/profiles-overview/ にある。英語を読み解く元気がないので斜め読みだが、このHFPにおける音声コーデック、SCOコーデック(内部的にはmodified version of the SBC codec)はモノラル/サンプルレート16kHzだと書いてある。モノラル!しかも16kHz!確かに携帯電話ハンズフリー級の音質で、そりゃいくらなんでも音が悪い。どれだけ便利だろうともHFPは使いたくない、無線ヘッドセットは諦めざるを得ない。

従って、イヤホンは無線、マイクは有線。これならイヤホンはSCOと比べて高音質なA2DPのままで、まあそこそこちゃんとしたマイクもあるので、そこそこ良いオンライン会議環境なのではないかと思う。

ところで、SBH82Dは音声コーデックAACが使えるのだが、これはiOSのみ対応とのこと。試してみるとやはりMacOSからはAACでは繋がらない。この間発表されたM1チップのMacならどうにかすると繋がるのだろうか、テストできる環境がないのでそれはわからない。

なので、せめて、A2DPの中でも最強セッティングで動作するようにチューニングはしておきたい。

具体的には、Apple Developerという公式の開発者サイトからBluetooth Explorerをダウンロードして設定をごにょるわけだが、上記のBluetooth仕様を読んで理解して……というのがとても大変なので、ググってみる。すると結論としてみんな「bitpool=53」にしていた、という事実だけはここに残しておく。bitpoolが53だとサンプルレート44.1KHzでビットレート328kb/s、51だとサンプルレート48kHzでビットレート345kb/sなので、48kHzで環境を揃えられるなら51の方が良いように思うんだが。

bitpoolを53にした場合

bitpoolを51にした場合