2019年12月18日水曜日

ラズベリーパイでradikoラジオをつくる: その8 AirPlayストリーミング

shairport-syncをインストール

タイトルとは矛盾しますが、外部入力くらい付けても良いよね、ということでAppleのAirPlay対応を試してみることにしました。これは、iPhoneやitunesからWi-Fi接続のスピーカに見えるというものです。shairport-syncが有名で、様々なサイトで紹介されています。何をやっているのかよくわかりませんので、手順のみ列挙します。

必要なパッケージをインストール
$ sudo apt-get update
$ sudo apt-get install -y build-essential git xmltoman autoconf automake libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev
gitからshairport-syncをクローンしてビルド。
$ git clone https://github.com/mikebrady/shairport-sync.git
$ cd shairport-sync
$ autoreconf -i -f   ・・・数分かかります
$ ./configure --sysconfdir=/etc --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd
$ make
$ sudo make install
shairport-syncの自動起動を設定
$ sudo systemctl enable shairport-sync

shairport-sync.conf を編集します。設定項目がコメントアウトされているので、適宜修正して有効にします。
$ sudo nano /etc/shairport-sync.conf
general = {
name = "IP Radio Receiver";
//interpolation = "soxr";
ignore_volume_control = "yes";
nameは、iPhone等に表示されるデバイス名です。interpolationは、サンプルレート変換に使用するソフトウエアで soxr は処理が重い代わりに音質が良いとされています。私は有効にせず、デフォルトの basic で行くことにしました。ignore_volume_control = "yes"で iPhone等でのボリューム設定を無視します。

shairport-syncサービスを起動
$ sudo systemctl start shairport-sync
systemctl のステータスを表示
$ sudo systemctl status shairport-sync

iTunesから鳴らしてみる

アプリの上部のアイコンをクリックすると、IP Radio Receiverが表示されました。レ点を入れ、再生するとRadiko音声とミックスされて音楽が聞こえてきます。iPadからもあっさりと動作してくれて拍子抜けでしたね。
iTunesの再生ボタンを押してから音が出るまで2秒ほど遅延があります。Wi-Fiの品質にシビアのようで、弱電界では途切れたり再生が停止してしまします。ラズパイのWi-Fiは2.4GHzなので混信の影響も大きいのだろうと考えています。



0 件のコメント:

コメントを投稿