Raspberry Pi Zero w (7) iPhoneやiTunesのAirPlayを使用して外付けUSB DACからFLACやAACファイルを再生(Shairport Sync)(OSはRaspbian)
Stream music with Airplay from your iPhone to your Raspberry Pi.
最近インストールしたShairportを利用してiTunes(AirPlay)でRaspberry Piから音楽を再生しているが、どうも再生デバイスの切断エラーが起こるので厄介。
そこで別の方法としてShairport Syncをインストールしてみた。
今回はRaspberry Pi Zero wとRaspberry Pi ZeroおよびRaspberry Pi 3で安定した動作を確認できた。
注記:Zero wは日本の技適が取れていないようなので内蔵無線LANを使用しない方法を解説していきます。
手順は以下の通り。
①Raspberry Piとssh接続(外付け無線ルーター or Ethernet)
②外付け無線LANを利用してRaspberry Piをインターネットへ接続
③外付けUSB DACを接続。音声出力先の変更。
④Shairport SyncをRaspberry Piへインストール。
⑤iTunes(Windows)やiPhoneから音出し
まず①、Raspberry Piとssh接続できるようにする。
手順は下記リンクに記載。
次に②、外付け無線LANを利用してRaspberry Piをインターネットへ接続させる。
手順は下記リンクに記載。
Raspberry Pi Zero w (4) 小型USB無線LANを使って自宅wifiのネットワーク経由でSSH接続する(Raspbian) - ElectroBlog
そして、③については下記リンクに記載。
Raspberry Pi Zero w (4) USB DACから音楽を再生(Raspbian) - ElectroBlog
ここまで終わればあと少し。
AirPlayを使ってitunesやiPhone等から音を出すときはPCやiPhone内の音源を利用できるため、Micro SDカードに音源をいれる必要がない。
外付けDACが正常に接続されているかは下記コマンドで確認する。
aplay /usr/share/sounds/alsa/Rear_Center.wav
音が鳴ればOK。
④に移る。
ここからの手順は下記リンク先のReadmeを参考にした(2017年5月7日現在)。
リンク先で下の方にスクロールすると
Shairport Syncの説明が始まる。
まず下準備として下記内容をインストールする。
実際に上から一つ一つインストールしていく。
sudo apt-get install build-essential git xmltoman
下記、Yを実行。
sudo apt-get install autoconf automake libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev
下記、Yを実行。
sudo apt-get install avahi-daemon libavahi-client-dev
下記、Yを実行。
sudo apt-get install libssl-dev
下記、Yを実行。
sudo apt-get install libmbedtls-dev
→上記の通りlibmbedtls-devが使えなさそうなので、Readmeどおりに代替としてPolarSSLをインストールしてみる。
sudo apt-get install libpolarssl-dev
下記、Yを実行。
sudo apt-get install libsoxr-dev
下記、Yを実行。
完了したら手順どおりShairport Syncをダウンロードする。
git clone https://github.com/mikebrady/shairport-sync.git
次に
cd shairport-sync
このディレクトリから
autoreconf -i -f
を実行する。
(このまま時間がかかるので反応するまっでひたすら待つ)
下記画面に戻るまで待つ。
続いて、オプションファイルを選択する。
ここでは推奨どおりに選択した。
./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd
を実行する。
そして、下記コマンドでビルドする。
make
ここで、セキュリティーの影響でグループとユーザーを設定する必要がある。
getent group shairport-sync &>/dev/null || sudo groupadd -r shairport-sync >/dev/null
getent passwd shairport-sync &> /dev/null || sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync >/dev/null
下記を実行してインストールする。
sudo make install
下記コマンドでRaspberry Pi起動時にShairport-Syncを起動するよう設定する
sudo systemctl enable shairport-sync
下記コマンドから実際に起動してみる(次回から起動時に自動実行される)。
sudo systemctl start shairport-sync.service
ここからは実際に音出しとなる。
Raspberry Piを接続している自宅wifiにPCをつなぐ。
iTunesを起動して、Airplayボタンを押してみると
RaspberryPi
がデバイスとして表示される。
(Raspberry Piも同じ自宅wifiに接続)
RaspberryPiを選択して音源を再生すると無事にUSB DACから音が再生された。
次に自宅wifiに接続しているiPhoneから下記3つのアプリでデバイス選択して音楽を再生したところ、無事に再生できた。
・Music (m4aファイルとmp3ファイルで確認)
Music app
・ONKYO HF Player
・KORG iAudioGate
この2つのアプリではハイレゾ音源の再生も確認できた。
(flacファイル、m4aファイル、wavファイルで確認)
ONKYO HF PlayerとKORG iAudioGate
Raspberry Pi ZeroとRaspberry Pi Zero w
Raspberry Pi 3
内蔵無線LANが使用できるので電源CableとUSB DACだけで動作できる。
その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ