Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-その他- macOSとbluetooth イヤフォンの現状と音質の改善方法

しばらく前のmacOSではbluetoothイヤフォンで音楽を楽しむ際、コーデック選択の問題で音質が悪い状況がありました。私もiMacソニーのWF-1000MX4 の組み合わせでこの辺について色々と試してきています。

 

最近知ったのですが、この状況は少なくともmacOS Sonomaでは大きく改善された面もあり改善されていない面もあります。

 

以前のmacOSではbluetoothイヤフォンの(正確にはA2DPプロファイルで使う)デフォルトのコーデックがSBCでした。このためたとえイヤフォンがAACをサポートしていてもSBCで繋がってしまい、音が悪い、ということが発生していました。よく知られた改善方法はターミナルでsudo defaults write bluetoothaudiod "Enable AAC codec" -bool trueなどとしてデフォルトのコーデックをAACに変更して音質改善することができました。
最近のmacOS Sonomaではこの状況は改善しており、少なくともソニーのWF-1000MX4をA2DPプロファイルで繋ぐと自動的にAACが選択されているようです。うちの環境ではsudo defaults delete bluetoothaudiodで上記の設定を削除してもAACで通信しています。

 

一方macOS Sonomaでも何かの拍子に非常に悪い音質になることがあります。これは上記のようなSBCの使用が原因ではありませんでした。WF-1000MX4とmacOSの間の通信がHFP (Hands Free Profile、電話などの会話用のモード)に切り替わると音質が非常に悪化します。この状況はmacOSの音声入力マイクがbluetoothイヤフォンに切り替わると発生します。そのとき電話などの通信のためのHFPに切り替わり、会話の際の音声遅延を小さくするためのコーデック(音質は非常に悪い)が選ばれるためです。改善方法は以下の通りです。

 

「システム設定」の「サウンド」から設定を変更することで改善可能です。「出力と入力」で出力/入力のタブで入力を選ぶとmac内蔵マイクとbluetoothイヤフォンのマイクが選択可能です。音質が悪いのはbluetoothイヤフォンのマイクが選ばれている時です。ここでmac内蔵マイクを選択すればプロファイルがA2DPに切り替わりコーデックも(イヤフォンがサポートしていれば)AACに切り替わります。

 

このマイクの設定はイヤフォンをbluetoothで繋いだときに変わってしまうことがあります。その結果bluetoothイヤフォンのマイクが選ばれて音質低下が起きることがあります。その場合にも上記のやり方でmac内蔵マイクを選び直せば音質は大幅に改善されます。

 

ここで書いたことは以下の記事を読んで知ったことでした。

Why Is Bluetooth Sound Quality Bad on My Mac

また現在通信で使われているプロファイルやコーデックを知るにはAppleが開発者向けに配布しているツールを使うと良いです。

https://developer.apple.com/download/all/?q=additional%20tools

ここから例えば"Additional Tools for Xcode 15"を選んでダウンロードします。その中の"Hardware"フォルダの中のPacketLoggerを使えば良いのです。

 

この記事に書いたことはM1 iMac, macOS Sonoma 14.3.1, Sony WF-1000XM4の組み合わせで検証しました。