Ubuntu に Bluetooth A2DP 接続する備忘録

Photo by hyt.

Ubuntu に Bluetooth A2DP 接続する備忘録です.Ubuntu に Bluetooth スピーカ等を接続するではなくて,Ubuntu を PC とかスマホの音の出力先にする方なことにご注意ください.

なお,前提として,Ubuntu を以下の通り pulseaudio-bluetooth server として設定できているとしておきます.

方法は簡単です.単に,

Bluetooth の Discoverable を ON にして,接続したい端末から Ubuntu Server をペアリングし,さらに,Ubuntu の方で接続端末を「信頼」した後に,再度,接続したい端末から Ubuntu Server に接続を行う

だけです.もちろん,ペアリングと「信頼」は最初の1回だけで,次回以降は単に端末から Ubuntu Server を接続しに行けば良いだけになります.

実際の手順

Microsoft Surface Go で実際にやってみた様子は以下の通りです.

まず,ターミナルで bluetooth の Discoverable を ON にします.

これで,接続したい端末から Ubuntu Server が発見可能になるのでペアリングします.すると Ubuntu Server の側で以下のような感じで認識されます.

ペアリングされた端末(今回は Surface Go)を Ubuntu Server 側で「信頼」し,再度端末側から接続します.

端末側の表示が「音楽に接続済み」となったら完了です.実際に,Surface Go で音を鳴らすと,接続先のスピーカーから音が鳴ります.

どのようなコーデックで接続されているのか等は,以下のようにして pacmd コマンドで確かめることができます.

この例だと見ての通り,apt-X でつながっていることが分かりますし,遅延がどの程度あるのかなども表示されています.

なお,接続コーデックの選択は,出来る限り高音質のものが選ばれているようです.実際,iOS から接続すると AAC で,Android (d-02K) から接続すると apt-X HD で接続されていました.

やってみようと思ったキッカケ

実はこれ,やってみようと思ったキッカケは,Volumio が a2dp 接続に対応したってのを知ったからです.ただし,残念なことにこれ,有料オプションで,MyVolumio Virtuoso(年額$28.99)ユーザーでないと使えません.

なお,MyVolumio Virtuoso の場合は遠隔地からのストリーミングとか Alexsa との接続とかもサポートするようなんで,これらトータルすると決して高いとは言えない価格だとは思いますが,Bluetooth a2dp 接続のためだけだとちょっと躊躇する金額なことは確かです.

と言うことで,せっかく作った Ubuntu Server で出来ると嬉しいなぁ……と思って試してみた訳です.正直,こんな簡単にできるとは思っていませんでした.そして,これが出来るということは,ラズパイゼロ辺りを使えばかなり安価に高音質なコーデックに対応した Bluetooth スピーカーを作れてしまうということで,あと足りないのは GUI の部分だけってことになります(私が個人的に使う文には ssh でログインしてコマンドで操作するで構わないのですけど,一般的にはそうはいかないでしょう).

なお,安定性はいまだイマイチな感じなので,完全に実用的かといわれれば,まだそこまでじゃない.しかし,前回,前々回の記事

Ubuntu と WF-1000XM3 の接続性と音量を改善す...

と合わせ,ようやく Linux での Bluetooth 音源の取扱には慣れてきたかな……とは思っています.

以上!

スポンサーリンク
large rectangle advertisement
スポンサーリンク
large rectangle advertisement