(2022-01-23 初稿 - )
これまでに、Raspberry Piに、BGMサーバやラジオになってもらった。
これはこれで、とても便利だけど、Raspberry Piを単にスピーカー代わりに使うだけなら、もっと簡単に設定できる。
ここで言う「単にスピーカー代わり」をもう少し説明すると、ローカルのPCで曲やストリーム放送を受信、再生して、音声データをRaspberry Piに流すのがスピーカー代わり。
一方、BGMサーバやルトリームラジオは、Raspberry PiがPi内に保存されている曲を再生したり、ストリーム放送を受信して再生する。
ローカルPCからすると、「スピーカー代わり」は負荷が多いけど、手元のPCだから操作はとても簡単。一方、Raspberry Piにまかせる方は、ローカルPCは命令するだけだから、負荷はほとんどないけど、リモートPCを操作するので少し面倒だね。
説明がヘタ過ぎるので、下に図を書いた。(^^ゞ
設定
設定は、Raspberry PiにX環境がある場合とない場合で、大きく異なるので、共通部分とX環境あるなしで分けて記述する。
なお、設定は以下のサイトを参考にさせていただいた。多謝。m(__)m
共通
まずは、ローカルPC、Raspberry Piともに、以下のとおりpaprefsパッケージをインストールする。
$ sudo apt install paprefs
以上で共通部分は終了。
Raspberry PiにX環境がある場合
- ローカルPC(クライアント)側では、メニューから「設定」、「PulseAudio Preference」を選択
- 「Network Access」タブを開いて、「Make discoverable PulseAudio network sound devices abailable locally」にチェックを入れる
- Raspberry Pi(サーバ)側も、メニューから「設定」、「PulseAudio Preference」を選択
- 「Network Server」タブを開いて、以下の3つにチェックを入れる。
Enable network access to local sound devices Allow other machines on the LAN to discover local sound devices Don't require authentication
以上で設定終了。
確認方法
確認は、vlcメディアプレーヤー等で、「オーディオ(A)」メニューを開いて、「オーディオデバイス(D)」の中から、先程設定したRaspberry Piのサウンドデバイスを選択し、音楽等が鳴れば成功。
Raspberry PiにX環境がない場合
Raspberry PiにX環境がない場合は、少し面倒で、筆者も完な動作ができている状態ではない。
サーバとなるRaspberry Piに以下の設定を行う。
$ cp /etc/pulse/client.conf ~/.config/pulse $ vi .config/pulse/client.conf ; mod H.Y 2022-01-23 autospawn = no # noに変更 daemon-binary = /usr/bin/pulseaudio # コメントを外す
$ cp /etc/pulse/default.pa ~/.config/pulse $ vi .config/pulse/defaults.pa (以下の行を追加) load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.11.0/24 auth-anonymous=1
確認方法
X環境がない場合は、vlcメディアプレーヤーの「オーディオデバイス(D)」のメニューにRaspberry Piが表示されない。(-_-;)
では、接続できないかというと、以下のようにすればRaspberry Piの音を鳴らすことができる。
操作は、ローカルPCで行う。
$ PULSE_SERVER=192.168.xxx.xxx cvlc xxxxx.mp3
筆者のところでは、上記のように環境変数をセットして実行するとRaspberry Piから音が鳴るので良しとしている。
もし、もっと良い方法があれば教えてください。