ほとラボ

It works!

ネットブックにAirPlayサーバを立てて俺俺オーディオ環境構築

やりたいこと

ワイヤレスオーディオ環境がほしい!!!

Bluetoothスピーカーを買え」

いやまぁそうなんだけど、お金もないことだし、いま持ってる機器だけでなんとかしたい というのがこの記事の趣旨。

いま持ってる機器

これらを使って以下の様なネットワークを作る。

※ USB-DACは持っていたから挟んだだけで、別にAirPlayサーバにスピーカー直繋ぎでもよい。

AirPlay

AirPlayiTunesiPhoneの音楽・動画をストリーミング再生するAppleの技術。

もちろんオープンソースではないので、AirPlayサーバが欲しければ AirPlay対応のApple製品(AppleTVとか)を買わなければならない。

ところがどっこい今は21世紀。
どこぞの凄い人がAirPlayサーバのエミュレータを作って公開してくれている。

ShairPort

abrasive / shairport - GitHub
This program emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods and iPhones.

AirTunes(AirPlayのオーディオ部分)をエミュレートしてiTunesiPhoneからストリーミングできますよ、的な。

これを導入すればAppleTVを買わなくてもAirPlayサーバを構築できる!!

導入

使い道がなくて持て余していたネットブックにShairPortをインストールする。

ちなみにOSは Linux Mint だけど、Debian系ならだいたい同じ手順なはず。

sudo apt-get install libssl-dev libavahi-client-dev libasound2-dev
git clone https://github.com/abrasive/shairport.git
cd shairport/
./configure
make

とりあえず起動してみる

./shairport -a 'ほとAudio'

これでAirPlayサーバが立ち上がるので、iPhoneのコントロールセンターで確認してみる。

もしここでうまくいかなければ、 ShairPortのオプションで出力先のオーディオデバイスを指定するか、 そもそもそのオーディオデバイスが使用可能であるか確認する必要がある。

自動起動させる

-dオプションを付ければデーモンとして起動することもできるのでもうこれで終わってもいいのだけど、 せっかくなのでマシン起動時に自動でAirPlayサーバが立ち上がるようにする。

さっきのディレクトリで

sudo make install

これでshairport/usr/local/bin/にインストールされる(はず)。

起動スクリプトは既に用意されているのでそれを利用する。

cd script/debian/
sudo cp init.d/shairport /etc/init.d/
sudo cp default/shairport /etc/default/

/etc/default/shairportを編集。 以下の部分を書き換える。

DAEMON=/usr/local/bin/shairport
AP_NAME='ほとAudio'

最後に、shairport自動起動するように設定。

sudo update-rc.d shairport defaults

問題点

OS/アプリがAirPlayに対応してないと再生できない

iOSだと色々なアプリの音声をストリーミング再生できるけど、 Macだと今のところ対応してるアプリが少なく、基本的にiTunesからしかストリーミング再生できない。 例えば、ブラウザでYouTubeの動画を再生してもその音声をストリーミング再生することはできない。

たまにバグる

接続に失敗するのか何なのかわからないが、たまに正しく再生されずにノイズが流れることがある。 いったんWi-Fiをオフにして接続し直すと治ったり治らなかったりする。

かなり遅延する

再生ボタンを押してから流れ始めるまでに2,3秒は遅延する。 せっかちな人にはつらい。

まとめ

Linuxマシン(ネットブックでもRaspberryPiでも)さえあればAirPlay環境が構築できるのでShairPortオススメ。