【音楽】ラズパイを音楽サーバ化してみる@MPD
追記あり:
Raspberry Piの記事を見てみると、音楽サーバ化して利用されている方も多く、試してみたところ・・
(゚∀゚) おっこれは便利ッ!
「MPD」というサーバを利用するもので、サーバ側が「ラジカセやコンポ」のように見えるシロモノです。
つまり、それをリモートで操作するというイメージです。
クライアントとして、Windows8(64bit)とAndroidで試しました。
思いの外簡単でした。敷居が低いので、手軽に構築可能です。
事前に、ラズパイには自宅サーバとして、「NAS・自動バックアップ(Winファイル履歴)・時報・WINS・カメラ監視」を構築済みです。負荷も問題無し(前記事参考)
現在のラズパイの状況は、USBハブ(セルフパワー)に、ラズパイ、SSD外付、カメラ、USBファンを接続してます。スピーカーは3W程度のもの。24時間稼働してます。ケースは自作(前記事参考)
MPDの導入
apt-get install mpd mpc
MPDと、一応クライアントのMPCも入れておきます。
vi /etc/mpd.conf ※設定ファイルを編集(3箇所)
port “6600" ※ポートを指定
#bind_to_address “localhost" ※外部からのアクセス可
mixer_type “software" ※音響タイプ指定
音楽ファイルを入れておくディレクトリは、デフォルトで、”/var/lib/mpd/music/”となるのですが、私の場合は外付HDDのものを利用するので、ここにリンクファイルを置きます。
ln -s (音楽ファイルのディレクトリ) /var/lib/mpd/music/
chown mpd -R /var/lib/mpd/music ※所有者をmpdユーザーに変更
後は、起動します。serviceコマンドが利用可能です。わずか、これだけです。簡単です。
service mpd start
クライアントから操作
それでは、クライアントからアクセスしてみます。
いきなり外部から接続してもOKでしょうが、一応、ローカルからテストします。先ほど同時にインストールした「MPC」です。
まず、音楽データベースを更新します。
mpc update ※音楽データベース更新(時間が掛かる)
後は、プレイリストを作成します。こうすると、全曲を追加します。
mpc ls|mpc add
後は、”mpc play”とするだけで、音が鳴るはずです。停止は、”mpc stop”となります。
主なコマンドは以下です。
mpc ls ※プレイリストの一覧
mpc add ※プレイリストに追加(”mpc ls|mpc add”で全曲追加)
mpc play/next/prev/pause/seek ※音楽再生の主な操作
mpc random/repeat ※ランダムやリピートON/OFF
mpc stats ※現在のステータス
mpc help ※ヘルプの表示
Windowsクライアントから操作
MPDクライアントは沢山あるらしいんですが、これと言ってスタンダードが無いようです。
Linuxで有名なGnomeの「GMPC」が安心かなと思いきや・・、リンク切れぇ・・のようで。
私は、一応、MPD公式で案内されてる「ARIO」というクライアントを利用する事にしました。
http://ario-player.sourceforge.net/download.php
このソフトは、GTK+で作られているので、事前にGTK+ランタイムが必要です。
http://sourceforge.jp/projects/sfnet_gtk-win/releases/
インストールし起動すると、「アシスタント」が起動しますが、なんでか入力する事ができません(;´Д`)
なので、適当に進めてください。画面が出てから、設定を行いましょう。・・とはいえ、MPDサーバのIPアドレスを入力するだけです。
もう既に、リストが表示されてるはずです。音楽も再生できます。
ちなみに、「MPDストリーム」というものもあって、ネットラジオとかも、プレイリストに含める事ができます。
ウェブラジオも聞けますが、ほとんどがリンク切れのようで、しかもフランス関連のものだけです。もち、自分で追加編集できます。
「ウェブラジオ」タブをクリックして右クリック、「新しいラジオの追加」で、以下のアドレスを追加すると、NHKラジオ(らじる★らじる)が聞けます。
mms://a33.l12993146032.c129931.g.lm.akamaistream.net/D/33/129931/v0001/reflector:46032
Androidから操作
「MPD」と検索すると沢山でてくるので、好きなものを選べば良し。IPアドレスさえ設定すれば、もう操作できる状態のはずです。
これで、音楽ファイルはサーバにまとめておけば良いので、管理が容易になります(追加の度にデータベース更新が必要、クライアントから操作可能)
また、もうひとつの利点は、非同期再生&管理という点。
(当たり前ですが)全てがバックタスクで動作するので、音楽再生に関する操作が簡単になります。
例でいえば、12:00~13:00のお昼休みにだけ、ネットラジオや楽曲を流したいといったようなケースです。
CRONで、12:00に”mpc load/play”で再生指示、13:00に"mpc stop"を単純に実行するだけです。MPDが無かったら、スクリプトを書かないと実現できません。
追記:
1ヶ月程経ちました。めっさ便利です。ほんと、オススメ!(゚∀゚)
音楽を聞きたい時に、さくっとMPDクライアントを開いて再生できます。
MPDクライアントは、(再生指示を出すだけなので)軽いし、スマホからでも、止めたりシークしたりと、手軽に音楽を利用できます。
RaspberryPiも、しばらく24Hノンストップ稼働してますが、不安定になる事なく仕事をこなしてます。
同時に時報(MP3)も鳴らしてますが、同時に再生されてます。PulseAudioがやってるのか、ALSAがウマイことやってるのか、未調査のまんまですが(;^ω^)Linuxオーディオはよく知らん