【Raspberry Pi】PulseAudioでオーディオ出力を転送

現状、ラズパイ、小型PCといくつか持ってますが、流石にその都度スピーカーを買うのもアレなので、出力を一箇所に集中するべく、PulseAudioでの音の出力転送をします。

【参考サイト】
bluewidz.blogspot.com

今回はラズパイ3(クライアント側)→ラズパイ2(サーバ側。こちらにスピーカーを装着)

1.ラズパイ2(サーバ側)のセッティング

PulseAudioが入っていない場合もあるので、この場合はインストールから始める。

$ sudo apt update
$ sudo apt install pulseaudio

セッティングファイルをコピーしてホームディレクトリ配下に配置。
ホームディレクトリにPulsaAudioディレクトリが元々ある場合は不要だけど、無い場合は作成する。

$ mkdir ~/.config/pulse
$ cp /etc/pulse/default.pa ~/.config/pulse

コピーしたセッティングファイルは以下のように設定変更する。

$ vi ~/.config/pulse/default.pa

#load-module module-native-protocol-tcp

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.11.0/24

コメントアウトを解除して、authから先を記述。転送対象のローカルネットワークを指定

PulseAudioを再起動。ラズパイ2を再起動してもいい。

$ pulseaudio --kill
$ pulseaudio --start

2.ラズパイ3(クライアント側)のセッティング

以下のコマンドで1.で設定したサーバのIPアドレス環境変数に登録すればいい。

$ export PULSE_SERVER=192.168.1.81

しかし、これだけだと再起動したときにもしかしたら消えるかもなので、
ちゃんと設定しておく。

$ cp /etc/pulse/client.conf ~/.config/pulse
$ vi ~/.config/pulse/client.conf

;default-server =

default-server = 192.168.11.81
コメントアウトを外して、ラズパイ2のIPアドレスを設定

あとはラズパイ3でaplayなどで再生したファイルの音がラズパイ2で流れるのを確認すればOK。