Music Player Daemon でインターネットラジオ

#contents

#navi([[Raspberry Pi]])

**概要 [#defc44ed]
Raspberry PiにUSB DACとアクティブスピーカーで小型のインターネット・ラジオを作ってみたくなった。
omxplayer で SKY.FM の URL を指定するだけと考えていたのだが、omxplayer が Alsa に対応していないようで、
USB DACを使うには少々面倒だ。

そこで、MPDを入れてついでに音楽サーバー化してしまうことにした。

**Tips [#gbee5b5a]
1. mpc idle コマンドは、曲が入れ替わるなどのイベントまで待つので、以下の様なスクリプトで
再生中のインターネットラジオの曲を表示するようなことができる。
これを小型のLCDに表示すればおもしろいかもしれない。
 #!/bin/sh
 mpc current
 while :
 do
     mpc idle >/dev/null
     mpc current
 done

**USB DAC [#qdff8d6e]
Paspberry Pi本体からのオーディオ出力にはHDMIが使えるのはもちろんだが、アナログ出力は簡易的な回路のようなので、2012年4月頃に雑誌の付録として手に入れて、その後あまり使っていなかった USB DAC (DVK-UDA01) をつないでみた。

 otsuka@raspb2 ~ $ lsusb
 Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
 Bus 001 Device 006: ID 08bb:2704 Texas Instruments Japan
 Bus 001 Device 005: ID 056e:1014 Elecom Co., Ltd
 otsuka@raspb2 ~ $ aplay -l
 **** List of PLAYBACK Hardware Devices ****
 card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
   Subdevices: 8/8
   Subdevice #0: subdevice #0
   Subdevice #1: subdevice #1
   Subdevice #2: subdevice #2
   Subdevice #3: subdevice #3
   Subdevice #4: subdevice #4
   Subdevice #5: subdevice #5
   Subdevice #6: subdevice #6
   Subdevice #7: subdevice #7
 card 1: DAC [USB Audio DAC], device 0: USB Audio [USB Audio]
   Subdevices: 1/1
   Subdevice #0: subdevice #0

/etc/mpd.conf に以下の2つを設定すれば、HDMIとUSB DACの切り替え、あるいは両方で音を出すことができる。

 audio_output {
 	type		"alsa"
 	name		"HDMI"
 	device		"hw:0,0"	# optional
 	format		"44100:16:2"	# optional
 }
 audio_output {
 	type		"alsa"
 	name		"USB DAC"
 	device		"hw:1,0"	# optional
 	format		"44100:16:2"	# optional
 }

再生中に以下のような大量の警告がsyslogに出る。/var/log/{debug,kern.log} が肥大化する。
 Sep 14 17:49:12 raspb2 kernel: [ 2444.870807] delay: estimated 0, actual 133

[[Raspberry PiをMPD(Music Player Daemon)サーバにする:http://www.soramimi.jp/raspberrypi/mpd/]]を参考に、
 /etc/modprobe.d/alsa-base.conf:
 options snd-usb-audio nrpacks=1
を加えれば出なくなった。

**MPoD [#kc237781]
+iPhone に [[MPoD:https://itunes.apple.com/jp/app/mpod/id285063020?mt=8]] を入れる。
+Raspbian に avahi-daemon を入れる。
+/etc/mpd.conf の以下の箇所を修正。
 bind_to_address         "any"
 zeroconf_enabled               "yes"
 zeroconf_name                  "Raspi MPD"
+sudo service mpd restart
+MPoDの設定でサーバー一覧に "Raspi MPD" が表示されるので接続すれば、リモコン操作できるようになる。

**NASのマウント [#x01cc1a3]
音楽ファイルは、Windows PC に iTunes を入れて、CDからリッピングしたり iTunes Store で購入したりしている。
不測の事態に備えて Buffalo の NAS に定期的にバックアップをとっているのだが、そのバックアップ先の NAS のフォルダを MPD の音楽ファイルのフォルダにマウントして再生できる。

+NASのIPアドレスが 192.168.0.10 だとして、パスワード保護なしの共有フォルダを Raspberry Pi の /mnt フォルダ下にマウントするには以下のコマンドを実行する(念のため、書き込みできないようにマウントしている)
 sudo mount -t cifs //192.168.0.10/share /mnt -o ro,user=WORKGROUP/guest,password=guest
+Windows PC (WinPC1) の iTunes Music フォルダを探して /var/lib/mod/music 下にシンボリック・リンクを貼る
 sudo ln -s "/mnt/Backup/WinPC1/Music/iTunes/iTunes Media/Music" /var/lib/mpd/music/iTunes
+Amazon MP3 Store からの音楽ファイルなどもあれば同様にリンクを作れば良い
+シンボリック・リンクの準備ができたら、mpc update を実行すれば、データベースが更新される
+MPoDで曲やアルバムが選べるようになるので、iTunesで再生するような手順で操作する

**課題 [#cb00e3bf]
+AirPlayをoutputで指定できれば、リビングにある AppleTV + HDMI Audio を同時に鳴らせる
+今のところ、USB DACの出力をPC用のアクティブ・スピーカー([[Speaker System Z323:http://www.logicool.co.jp/ja-jp/product/speaker-system-z323]])につないで聞いている。ウーハーは不要なのでもう少し音の良いフルレンジのスピーカーとデジタル・アンプの組み合わせに変えたい
--[[Raspberry PiでUSBスピーカーを使う - 那由多屋 開発日誌:http://d.hatena.ne.jp/nayutaya/20120905/1346858693]]によると、[[Olasonic TW-S7:USBパワードスピーカー:http://www.olasonic.jp/usbspeaker/tws7b.html]]をつなげばUSB DACもろとも置き換えられるようだ

**リンク [#rfbd118e]
-[[Music Player Daemon - Music Player Daemon:http://www.musicpd.org/]]
--[[The Music Player Daemon - User's Manual:http://www.musicpd.org/doc/user/]]
-[[IT9XXS Blog » Turn a Raspberry Pi into a Web Radio Receiver (Part 1):http://www.gmpa.it/it9xxs/?p=727]]
-[[Arduino & Raspberry Pi Projects: Raspberry Pi MPD (Music Player Daemon) with AirPlay and Internet Radio:http://www.ardupi.com/2013/01/raspberry-pi-mpd-music-player-daemon.html]]
-[[Raspberry Piを「AirPlay化」して音楽をストリーミングする方法 : ライフハッカー[日本版]:http://www.lifehacker.jp/2013/03/130306raspberry_piairplay.html]] SharePortの話
-[[メカトロニック・ブログ RaspberryPiをPulseAudioでリモートスピーカーにしよう!:http://nokkii.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3%E5%88%B6%E5%BE%A1/raspberrypi%E3%82%92pulseaudio%E3%81%A7%E3%83%AA%E3%83%A2%E3%83%BC]] PulseAudioはいまいち普及していない?

**参考 [#fda84902]
&amazon_associate(B00CBWMXVE);
&amazon_associate(B0039YOHJE);

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS