Raspberry PiでスピーカーをAirPlayに対応させる(2016年版)

th_2016-airplay-2

前回、過去にラピロに突っ込んだ色々な機能を別のRaspberry Piに移行していきます、というお話をしました。

これは移行というよりも併用という形になりますが、まずは簡単に済みそうな、スピーカーのAirPlay対応からです。

今回使うのは定番(?)のこの2つです。

まず、USBオーディオを使えるようにします。USBオーディオを挿していない時の状態を確認。

$ cat /proc/asound/modules 
 0 snd_bcm2835

 次に、USBオーディオを挿してから同じコマンドを入力すると、

$ cat /proc/asound/modules 
 0 snd_bcm2835
 1 snd_usb_audio

こうなります。昔はこの順番を入れ替えるために”/etc/modprobe.d/alsa-base.conf”の中身を編集していたのですが、どうも最近(2015/10以降?)のRaspbian OSだと、このファイルが存在していないようです。

新しく”alsa-base.conf”を作成してもダメっぽいので、代わりに”/usr/share/alsa/alsa.conf”ファイルを以下のように編集します。

	
$ sudo vim /usr/share/alsa/alsa.conf
...
defaults.ctl.card 1
defaults.pcm.card 1
...
$ sudo reboot

値を0から1に変更する形です。これでとりあえず、USBオーディオから音が鳴るようにはなりました。ただ、この”alsa.conf”には他にも設定項目はたくさんあって、それらが何を意味しているのかは、今のところ不明です。

 

次に、AirPlayに対応させるためのソフトを突っ込みます。これについては、こちらの方が詳しく解説してくださっているのを、ほぼそのまま実行しています。

$ sudo apt-get install -y libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl
$ git clone https://github.com/njh/perl-net-sdp.git
$ cd perl-net-sdp/
$ perl Build.PL 
$ sudo ./Build
$ sudo ./Build test
$ sudo ./Build install
$ cd ../
$ sudo rm -rf perl-net-sdp
$ git clone https://github.com/hendrikw82/shairport.git
$ cd shairport/
$ make && sudo make install

ここまで済んだら、一度テストしてみます。

$ shairport.pl -a AirPi

これで、例えばiPhoneからこんな風に”AirPi”が見えていればOKです。

2016-airplay-1

これを指定して再生すれば、USBオーディオに繋げたスピーカーから音が鳴るハズです。鳴らない場合は、先の方に書いたUSBオーディオの設定を念のため確認してみてください。

確認が済んだら、最後に自動起動の設定をします。

$ cd ~/shairport
$ sudo cp shairport.init.sample /etc/init.d/shairport
$ cd /etc/init.d
$ sudo chmod 755 shairport
$ sudo update-rc.d shairport defaults
$ sudo vim /etc/init.d/shairport
#DAEMON_ARGS="-w $PIDFILE"
DAEMON_ARGS="-w $PIDFILE -a AirPi"
$ sudo reboot

これで、Raspberry Pi起動時には常時AirPlayで音を飛ばすことができるようになりました。USBオーディオの設定方法が変わっていたので、思ったより時間がかかってしまいました。。。

 

【2016/5/23追記】

デフォルトの状態では音量が小さいかもしれないので、その場合は続けて音量設定を行います。

$ alsamixer

 すると、

alsamixer-1

こんな画面になります。このまま矢印キーを押してもデフォルトのBroadcomチップの設定が変更されるだけなので、その前にF6を押します。すると、

alsamixer-2

このようにUSBオーディオデバイスが選択できるようになるので、上下キー&リターンで決定して、

alsamixer-3

この画面になるので、ここで矢印キーを押すと、USBオーディオデバイスの音量を変更できます。希望の音量になったら、Escキーで終了です。