🔊

Ubuntu 20.04 で PipeWire で PulseAudio を置き換えて Bluetooth イヤホンの通話音質向上を目指す

2021/08/11に公開

いまいちだったので結局 PulseAudio に戻した話です


Ubuntu 20.04 では(というか Fedora とかを除きほとんどの Linux ディストリビューションで) PulseAudio が標準のサウンドサーバーとして利用されており、Bluetooth イヤホン・ヘッドセットとの接続プロファイルは

  • HSP/HFP
  • A2DP Sink

の2種類からの選択です(少なくとも僕の環境では)

HSP/HFP はモノラルでありリスニング音質は A2DP に大きく劣りますが、A2DP は名前に Sink と付いている通り規格として bidirectional ではなく、イヤホン備え付けのマイクを使用することができなくなってしまいます

ミーティングなどの通話時に Bluetooth イヤホンのマイクを利用するためには HSP/HFP に切り替える必要があるわけですが、正直なところあまりに音が酷すぎて10秒も聞いてられません こんな割れまくった音聴いてたら難聴になりそう

ということでこれまで基本的には A2DP で聴きつつマイクは別個のコンデンサマイクを用意していたのですが、PulseAudio を PipeWire に変えれば HSP/HFP でありながらある程度音の良いコーデックが利用できると聞き試しました


sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install pipewire pipewire-audio-client-libraries libspa-0.2-bluetooth

systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire pipewire-pulse

ここで pactl info を実行し、Server NamePulseAudio (on PipeWire 0.3.x) みたいになっていれば PipeWire の導入はできているはずです(再起動とか必要かもしれません)

Bluetooth イヤホン接続は libspa-0.2-bluetooth がミソで、僕の場合はこれがないとペアリングには成功するもののその後接続に失敗しました


めでたく HSP/HFP, codec mSBC というプロファイルで接続できるようになりました
他にも A2DP の別コーデック版プロファイルとかもいろいろ増えてたりしますが、当然マイク入力が使えるのは HSP/HFP 系に限られます

そしてこの mSBC 版 HSP/HFP ですが、PulseAudio 環境で存在したノーマル HSP/HFP と比べて若干マシになっているのはわかるものの、HSP/HFP と A2DP のどちらに近いかと言われると迷わず前者という感じであまり実用性はありませんでした


A2DP 使ってれば特に変わらないので PipeWire のままにしておいても良かったんですが、さすがにまだ安定性に不安があるのと、何よりキーボード F2/F3 の音量調節が効かなかった(ちゃんと設定すればなんとかなる可能性はありますが)ので PulseAudio に戻しました

戻すの自体は簡単で、

systemctl --user unmask pulseaudio
systemctl --user --now enable pulseaudio.service pulseaudio.socket

基本的にはこれだけです

僕の場合はなぜか A2DP が効かない状態になってしまいましたが、/etc/pulse/default.pamodule-bluetooth-policy と書かれてる行を書き換えると直りました

- load-module module-bluetooth-policy
+ load-module module-bluetooth-policy auto_switch=false

https://askubuntu.com/questions/1339765/replacing-pulseaudio-with-pipewire-in-ubuntu-20-04
https://websetnet.net/how-to-enable-pipewire-audio-service-to-replace-pulseaudio-in-ubuntu-21-04/
https://www.redpill-linpro.com/techblog/2021/05/31/better-bluetooth-headset-audio-with-msbc.html
https://matoken.org/blog/2020/04/10/im-having-trouble-switching-my-bluetooth-headset-to-a2dp/

Discussion