Raspberry PiでスピーカーをAirPlayに対応させる(2016年版)
前回、過去にラピロに突っ込んだ色々な機能を別の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です。
これを指定して再生すれば、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
すると、
こんな画面になります。このまま矢印キーを押してもデフォルトのBroadcomチップの設定が変更されるだけなので、その前にF6を押します。すると、
このようにUSBオーディオデバイスが選択できるようになるので、上下キー&リターンで決定して、
この画面になるので、ここで矢印キーを押すと、USBオーディオデバイスの音量を変更できます。希望の音量になったら、Escキーで終了です。
ディスカッション
コメント一覧
初めまして、ビトム株式会社の小林と申します。
弊社は、スライス設定を自動化し、スタンドアロンでの3Dプリンタ操作を可能にする3Dプリンタオープンクラウドプラットフォーム「Fabbop」を開発しているベンチャー企業です。
ラズベリーパイをベースとしたFabbop Castを3Dプリンタに繋いでIoT化し、弊社のウェブプラットフォーム上から1クリックで出力を可能にするシステムです。また、クリエーターやDIYなど、ものづくりをする方々とのコラボレーションにより、3Dプリンタを使ったものづくり体験などをウェブ上に集めていき、3Dプリンタの「使いやすさと」「使い方」を発信していくプラットフォームになることを目指しています。
今、クローズドβとして、ユーザーテストを行っております。ブログで、BS01を使われていたり、ラズベリーパイを使われているのを拝見して、御連絡いたしました。もし宜しければ、弊社のFabbop Castを御提供いたしますので、テストユーザーになって頂けないでしょうか?(無料です)
尚、オープンソースで作成方法も公開しますので、自作でご自宅のラズベリーパイで作成頂くことも可能です。(どちらでも構いません)
御検討頂ければ幸いです。
突然の御連絡、大変恐縮でございますが、どうぞ宜しくお願い申し上げます。
ピンバック & トラックバック一覧
[…] ーディオデバイスを認識させます。最近のRaspbianでのUSBオーディオデバイスの認識は以前にやっているので手順は同じですが、今回は前とは異なるUSBオーディオデバイスを使っています […]