フォーラムを開設しました!Raspberry Pi の話題はこちらで!

AirPlayを設定する(Raspberry Pi で作るミュージックシステム)

AirPlayを設定する(Raspberry Pi で作るミュージックシステム)

AmazonPrimeMusicをブラウザから再生するために5インチモニターをセットしたRaspberry Pi 3BのミュージックシステムにスマホからAirPlayするためShairportSyncをインストールします。

作業は全てSSHで他のマシンから可能です。

Macのターミナルなどから接続します。(WindowsからはPuTTYからとか)

piはRaspbianのユーザー名、@以下はそのローカルIPアドレスです。

ShairportSyncのインストール

GitHubを参考にインストールしていきます。ソースコードをダウンロードしてmakeしインストールします。つまりアプリケーションのようなパッケージではありません。ちょっと分かりにくいですが、例えるなら、プラモデルと同じで、部品をダウンロードして部品を組み上げ、そして完成させるという形です。

https://github.com/mikebrady/shairport-sync

事前準備としてライブラリなど必要な物をインストール

以下引用のように必要な物を先にインストールしていきます。この際、既にインストールされている以外をインストールになります。先程のプラモデルの例で言うと、事前にニッパーや接着剤などを容易するようなイメージです。

Debian, Ubuntu and Raspbian users can get the basics with:

# apt-get install build-essential git xmltoman – these may already be installed.
# apt-get install autoconf automake libtool libdaemon-dev libpopt-dev libconfig-dev
# apt-get install libasound2-dev for the ALSA libraries
# apt-get install libpulse-dev for the PulseAudio libraries
# apt-get install avahi-daemon libavahi-client-dev if you want to use Avahi (recommended).
# apt-get install libssl-dev if you want to use OpenSSL and libcrypto, or use mbed TLS otherwise.
# apt-get install libmbedtls-dev if you want to use mbed TLS, or use OpenSSL/libcrypto otherwise. You can still use PolarSSL with apt-get install libpolarssl-dev if you want to use PolarSSL, but it is deprecated as it’s not longer being supported.
# apt-get install libsoxr-dev if you want support for libsoxr-based resampling. This library is in many recent distributions; if not, instructions for how to build it from source for Rasbpian/Debian Wheezy are available at LIBSOXR.md.
# apt-get install libsndfile1-dev if you want to use the convolution filter.

 

ターミナルの表示

アップグレード: 1 個、新規インストール: 49 個、削除: 0 個、保留: 55 個。
8,918 kB のアーカイブを取得する必要があります。
この操作後に追加で 24.0 MB のディスク容量が消費されます。

 

以下のコマンドで必要なものだけインストールされますのでしばし待ちます。ひとつずつ実行しても良いですが、まとめて指定できます。

ソースコードをダウンロード&ビルド&インストール

GitHubからShairportSyncのソースコードを以下のコマンドでダウンロードします。

git clone https://github.com/mikebrady/shairport-sync.git

shairport-sync のディレクトリへ移動します。

make前にmakeファイルを作成します。

autoreconfしてから./configureです。この辺は難しく考えずにそのままコピペで実行してください。

そしてmakeコマンドでビルドします。これでアプリケーションになります。

 

インストール前にshairport-syncのユーザーとグループを追加します。ユーザーはaudioグループにも追加します。サービスでデバイスを制御する場合、制御したいグループに追加しないとなりませんね。

インストールします。

サービスに追加する設定

自動的に起動させるためサービスに設定します。これがないとコマンドでいちいち起動しないとなりませんね。サービスとして裏で常に起動させるためです。

サービスの起動

sudo systemctl start shairport-sync.service

これでサービスとしてAirPlayが利用できます。但し、以下の設定を変えてより良くします。

Shairport-Syncの設定

音量を100%に設定

設定変更

Shairport-Syncの設定ファイル(.conf)を編集します。必要な箇所を変更します。

GitHubの例のように必要な箇所を探します。

変更するのは、name、password、interpolation(補間という英単語)、ignore_volume_controlだけにしました。

interpolationはデフォルトでは’basic’なのを先程事前準備でインストールしたsoxrというライブラをを使うと音が良くなるということでした。CPUには高負荷になりますが、音が大分違いました!オススメです。
感覚としてはbasicでは貧弱で、soxrでは普通に聴いていた音質という感想です。

変更する際、行頭のコメントアウトを削除します。
例を載せます。以下の赤下線が変更した箇所になります。

.confファイルの先頭からすぐの箇所です。他にまだ設定出来る箇所は続きますがこの4つ程度で充分でした。

なお、好みですけど、ignore_volume_control = “yes”;は、デフォルトではNOで、スマホの音量と同期させるというようなもので、スマホの音量の上げ下げでも音量を変えられます。スピーカーなどに繋いだ場合は、そのスピーカー側で音量を変更したいのと、スマホの音量が最大でもあまり大きな音ではないため設定しました。
逆に言うとスマホでは音量が制御できなくなります。嫌な人はNOのままで結構です。

同じ意味でパスワードを設定したくないならコメントアウトをすればOKです。誰でも繋がりますのでセキュリティ上、設定しました。なんとなく・・・いやでしょ?? 家庭内LANに自分しか居ないなら構わないと思いますが同居している人もスピーカーに飛ばせるのは・・・ねぇ?w

再起動

システムを再起動してみましょう。問題なく出力先が選べて再生できました?

shairportがスマホで表示

サービスに登録してあるので再起動してもShairportSyncは実行します。

終わってみれば非常に簡単ですよ。
これで先日からのミュージックシステムにAirPlayも可能になりました。
次回はMPDもインストールしてローカルにあるmp3を再生できるようにしてみたいと思います。

追記:3.5㎜ジャックで再生させる場合、以下のコマンドで出力先をアナログ出力へ変更

 

Amazonプライム会員の詳細はこちら

フォーラムでお待ちしています!

CTA-IMAGE 記事を読んでご指摘をはじめ、質問などございましたらフォーラムにご記入ください。
話題は何でも構いません。Raspberry Pi の情報交換ができたら私も勉強になります!よろしくお願いいたします。

Raspberry Piカテゴリの最新記事