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]
インプレスの 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" が表示されるので接続すれば、リモコン操作できるようになる。

**課題 [#cb00e3bf]
+AirPlayをoutputで指定できれば、リビングにある AppleTV + HDMI Audio を同時に鳴らせる

**リンク [#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)

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