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キーで終了です。

 


「Raspberry PiでスピーカーをAirPlayに対応させる(2016年版)」への2件のフィードバック

  1. 初めまして、ビトム株式会社の小林と申します。

    弊社は、スライス設定を自動化し、スタンドアロンでの3Dプリンタ操作を可能にする3Dプリンタオープンクラウドプラットフォーム「Fabbop」を開発しているベンチャー企業です。

    ラズベリーパイをベースとしたFabbop Castを3Dプリンタに繋いでIoT化し、弊社のウェブプラットフォーム上から1クリックで出力を可能にするシステムです。また、クリエーターやDIYなど、ものづくりをする方々とのコラボレーションにより、3Dプリンタを使ったものづくり体験などをウェブ上に集めていき、3Dプリンタの「使いやすさと」「使い方」を発信していくプラットフォームになることを目指しています。

    今、クローズドβとして、ユーザーテストを行っております。ブログで、BS01を使われていたり、ラズベリーパイを使われているのを拝見して、御連絡いたしました。もし宜しければ、弊社のFabbop Castを御提供いたしますので、テストユーザーになって頂けないでしょうか?(無料です)

    尚、オープンソースで作成方法も公開しますので、自作でご自宅のラズベリーパイで作成頂くことも可能です。(どちらでも構いません)

    御検討頂ければ幸いです。

    突然の御連絡、大変恐縮でございますが、どうぞ宜しくお願い申し上げます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>