RaspberryPiとBluetoothスピーカーをペアリングさせ、それをDLNA対応オーディオにします。
PCで DLNAに対応した音楽再生プレーヤからサウンド再生できます。
これにより、1つのBluetoothスピーカーを複数のPCから共有できます。
なお、ここでの設定手順の OS は Ubuntu Server 20.04 LTS です。
RaspberryPi4 の Ubuntuインストール
次の記事の「RaspberryPi4 の Ubuntuインストール」に従って作業してください。
RaspberryPi4でBluetoothスピーカーを接続する: パソコン鳥のブログ
BluetoothスピーカとRaspberryPi4の接続
次の記事の「BluetoothスピーカとRaspberryPi4の接続」以降に従って設定してください。
RaspberryPi4でBluetoothスピーカーを接続する: パソコン鳥のブログ
MPD、upmpdcli の設定
RasyberryPi で MPD、upmpdcli をインストールします。
MPD(Music Player Daemon )はサーバーサイドの音楽再生アプリです。
upmpdcli は、UPnP メディアレンダラーに対応した、MPD のフロントエンドです。
次のコマンドでインストールします。
sudo add-apt-repository ppa:jean-francois-dockes/upnpp1 sudo apt-get update sudo apt-get install upmpdcli sudo apt-get install mpd
続けて、mpd をシステム権限ではなく、ローカルユーザー権限で動作するようにします。
次のコマンドを実行し、システムで mpd を起動しないようにします。
(別途、この後の手順で mpd をユーザー権限で起動するように設定します)
sudo systemctl stop mpd.socket sudo systemctl stop mpd sudo systemctl disable mpd.socket sudo systemctl disable mpd
また、Ubuntu デフォルトではmpd はユーザーごとに、ログイン/ログアウトのたびに 起動・終了されます。
これを、ログインせずとも自動起動するようにします。
一般ユーザーでログインしている状態で(rootでは無いこと)、次のコマンドを実行します。
mkdir -p ~/.config/systemd/user/ cp /etc/systemd/user/default.target.wants/mpd.service ~/.config/systemd/user/
下記ファイルの行の内容を変更します。
~/.config/systemd/user/mpd.service
ExecStart=/bin/true
続けて、次のコマンドを実行します。
XXXXX はユーザ名に置き換えてください。
mkdir .mpd sudo cp /etc/mpd.conf .mpd/ sudo chown XXXXX .mpd/mpd.conf
mpd.conf の次の行を変更します。
XXXXX はユーザ名に置き換えてください。
.mpd/mpd.conf
log_file "/home/XXXXX/.mpd/mpd.log" pid_file "/home/XXXXX/.mpd/mpd_pid" state_file "/home/XXXXX/.mpd/state" user "XXXXX"
また、.mpd/mpd.conf の audio_output の箇所で、mixer_type を “software” にします。
これが無いと、PCのMPDクライアント(音楽再生プレーヤ)で音量調節できません。
audio_output { type "alsa" name "My ALSA Device" # device "hw:0,0" # optional # mixer_type "hardware" # optional mixer_type "software" :
次に、先の手順「BluetoothスピーカとRaspberryPi4の接続」で作成した start_pulseaudio.sh の末尾に mpd を起動するための行を追加します。
次のようになります。
/bin/sleep 60 mkdir -p /tmp/$(id -u)/pulse export PULSE_RUNTIME_PATH="/tmp/$(id -u)/pulse" /usr/bin/pulseaudio -D --exit-idle-time=-1 ~/connect_bt.sh /usr/bin/mpd --no-daemon ~/.mpd/mpd.conf >/dev/null 2>&1 &
ここまで出来たら、設定完了です。
RaspberryPi を再起動してください。
起動後、上のスクリプトの ~/connect_bt.sh が実行されると、Bluetoothスピーカが接続されます。
その後、mpd が起動されますが、mpd 起動してから 1分ほどたつと、DLNA対応の音楽再生プレーヤで再生可能になります。
foobar2000 での設定
DLNA対応の音楽再生プレーヤとして、foobar2000 での使い方を説明します。
Windows 上の foobar2000 で UPnP/DLNA Renderer, Server, Control Point コンポーネントと、UPnP MediaRenderer Output コンポーネントをインストールします。
インストールは下記記事を参照してください。
foobar2000でDLNA対応オーディオで聴く為の設定: パソコン鳥のブログ
コンポーネントのインストール後、foorba2000で、Fileメニュー - Preferences - Playback - output - Device で UpMpd を選択します。
これで、foorba2000 の再生が、RaspberryPi とペアリングした Bluetoothスピーカで行われます。
同時に複数台のPCで再生したらどうなる?
複数台のPCで同時に、foorba2000 で再生しても、音が合成されては鳴りません。
後から再生したものだけが鳴ります。
コメント