MPD(Music Player Daemon)というデーモンで動く音楽サーバーがある。
これを使って今までラズベリーパイにスピーカー繋いで音楽聞いていたのだけれども、
同じ場所に設置されるラズパイだと音楽持ち歩けないでしょ。
せめて居間にいるときも寝室にいる時も聞きたいじゃない。
MPDにはストリーミング機能があるようなので、それを使ってみた。
ちなみにラズパイは一番最初に発売された古い方。
OSはArchLinuxを使用している
MPDとMPCのインストールは割愛
ArchWikiを参照
https://archlinuxjp.kusakata.com/wiki/Music_Player_Daemon
MPDとMPCをpacmanからインストール
MPDはデーモンで動く奴。
MPCはそのデーモンをCLIで制御するソフトウェア
この2つがあればGUI環境が無くてもLinuxで音楽が聴ける。
今回は…MPDのストリーミングについて書きたいのでインストールについては割愛する。
というかインストールは随分前にやったので忘れているのだ。
とりあえずMPDとMPCでググれば大量に文献がでてくるので、そっちを参考にして
ストリーミングの設定
/etc/mpd.confファイルに以下をコピペする
audio_output {
type "httpd"
name "MPD Streaming"
encoder "lame" # optional, vorbis or lame
port "8000"
# quality "5.0" # do not define if bitrate is defined
bitrate "128" # do not define if quality is defined
format "44100:16:2"
}
そのあとmpdを再起動する。
archならば
sudo systemctl restart mpd
mpc playコマンドを打って再生をしてみると
ラズベリーパイにつながっているスピーカーから音楽は聞こえなくなる
mpcコマンドで情報を見てみるとvolumeがN/Aになっている。
では、お手持ちのブラウザでラズベリーパイに繋いでみよう
ラズベリーパイのIPを192.168.0.3と仮にしておいて、
http://192.168.0.3:8000/とブラウザでアクセスする。
ポート番号が8000になっているのは先程かいたmpd.confのportの部分だ。
何かにかぶるのが嫌だったらここは変えることができる。
さて、ブラウザで見てみると再生できているだろう?
ちなみにブラウザでは選曲などは出来ず。ただ聞くだけ。
スマホなどで聞きたいならば
MPDroidなどのアプリがある。
先ほどの例だと
HOSTに192.168.0.3
PORTは6600 (デフォルトならば)
StremingHost 192.168.0.3
StremingPort 8000
操作をする通信を6600で行い。音楽自体は8000ポートでやり取りをするってわけだね。
参考:音楽ストリーミングサーバー(完結編): Voyage MPD
構築したは良いけれど
かなりマシンパワーを使う。
ビットレートを調整してなんとか音が途切れないようにしたけれども、
ラズベリーパイには厳しい処理かもしれない。
重いならばmpd.confのbitrateの数値などをいじって見ると良い。
もっと安定したスペックを持ったパソコンなどをサーバーにすればいいけれど、
随時付けておくのも勿体無い