前回の「Raspberry piをNAS兼音楽プレイヤーにする(MPD編)」でRaspberry Pi にスピーカーを接続したので、今度は Bluetooth スピーカーの機能も持たせてみます。NASストレージ内の音楽だけでなく、スマホ内の音楽を再生したり、スマホからAmazon Musicなどを再生できるようになります。
ただ、音楽再生には十分ですが、遅延が大きいですので、動画再生やゲームなどには向いていません。
また狙ってはいなかったのですが、試してみたらマルチポイント接続もできました! スマホとPCを同時に接続して同時に再生することも可能です。
目指す構成
今までの NAS 内の音楽を再生する機能を持ちつつ、Bluetoothスピーカーの機能も持たせます。これにより、NAS内の音楽再生に加えて、Bluetoothで接続すればスマホ内の音楽やスマホで再生した Youtube、 Amazon Music などのサブスク系音楽も聞けるという、音楽再生を全て 1 つに集約したような音楽サーバを目指します。
A2DPの実装: pulseaudio bluetooth と bluealsa
Linux での Bluetooth スタックと言えば bluez なのですが、A2DPについては bluez 単体ではサポートしておらず、プラグインの形で別のソフトが機能提供しているようです。
そして bluez 用の A2DP プラグインの実装は2つあるようです。
- pulseaudio bluetooth module
- bluealsa (bluez-alsa)
ソフトウェアの構造としてはそれぞれ以下のような感じになります。