<続> 音楽サーバー(mpd) から AirPlay スピーカーを鳴らす

前回の記事で、当初考えていたことは実現できました。その他に追加で設定した内容を記録しておきます。

samba 共有の作成

mpd 用の音楽ファイルを格納するフォルダーは /var/lib/mpd/music ですが、このフォルダーに他のマシンからファイルをコピーできると何かと便利なので samba 共有を作っておきます。 大きめのパーティションを /mnt/pool にマウントしているので、/mnt/pool/itunes を作成してここを samba 共有にします。

$ sudo apt-get install samba
$ sudo mkdir /mnt/pool/itunes
$ sudo chown mpd:audio /mnt/pool/itunes

/etc/samba/smb.conf を編集し、末尾に以下の内容を追加します。

[itunes]
   comment = iTunes Media
   path = /mnt/pool/itunes
   browsable = yes
   read only = no
   guest ok = yes
   force user = mpd

さらに、/var/lib/mpd に /mnt/pool/itunes へのシンボリックリンクを作成します。

$ sudo ln -s /mnt/pool/itunes /var/lib/mpd/music

これで、他のマシンから "itunes" として見える共有フォルダーに音楽ファイルをコピーして mpd に認識させることができるようになりました。

アルバムジャケットの表示

MPoD では、アルバムジャケットを表示する機能があります。私は主に AAC 形式(.m4a)で音楽ファイルを作っており、アルバムジャケットをファイルに埋め込んでいるので、これを表示したいと思いました。みすず工房 というページでそのものずばりのソフトウェアが公開されていたので、これを利用させてもらうことにしました。 Ruby アプリケーションなので、Ruby および必要なモジュールをインストールします。

$ sudo apt-get install ruby
$ sudo gem install ruby-audioinfo

次に、mpodjacket をダウンロードし、/usr/local/bin にインストールします。

$ curl -O -L http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?data/mpodjacket.tgz
$ gunzip mpodjacket.tgz
$ tar xvf mpodjacket.tar
$ sudo cp mpodjacket.rb /usr/local/bin

マシン起動時に自動起動させるため、/etc/rc.local に("exit 0" の行より前に)以下を追加します。一応、mpd ユーザーで実行するようにしてみました。

sudo -u mpd /usr/local/bin/mpodjacket.rb -r /var/lib/mpd -m /music -p 8888 >/dev/null 2>&1 &

マシンを再起動して動作を確認します。

sudo shutdown -r now

MPoD (iPhone の mpd クライアント)で、"Connections" メニュー内の "Advanced" ボタンを押し、"URL" に

http://{hostname}:8888/music

と入力します。うまくアルバムジャケットが表示されました。