I2SによるAudio出力 - その5 [Raspberry Pi]
I2S入力を受けるD/Aコンバータを使ってRaspberry Piから古いアクティブスピーカをAirPlay出力に対応させる細工をやってる。前回はRaspbian用のI2Sドライバをインストールして動作確認した。
今回はAirPlay互換サーバであるshairport-syncについて....
僕にとって簡単なのはAirPlayスピーカとして動いてくれること。そうするとforked-daapd(この話はまた別途やるつもり)から直接音が流せる。
AirPlay互換のサーバはいろいろあるらしいが、とりあえずshairport-syncを使ってみることにした。
名前からわかるように、もとはshairportというプロジェクトからforkしたものらしい。本家は3年前で止まっている。shairport-syncも現状ではすごく活発というわけではないようである。
shairport-syncを使うには
僕のRaspberry PiにはPulseAudioは入っていない。でもALSAでちゃんと動くと書いてあるのでよしとする。Apple Loslessなんか贅沢なものは使わないしそんなデータはないのでlibalacは入れない。
ALSAのために
だけ追加した。他で足りないのはたまたまなかった(netatalkを入れていたおかげでいろんなのがすでに入っている)のでそのまま
とすると無事configureが出来上がった。
とするといっぱいスイッチがある。デフォルトが何か書いてないのでとりあえず何かわかっていて必要なものを指定する。
しかし、without指定してもチェックで、ライブラリがないと言われる(withoutキーワードは機能しないらしい)。よくわからないので、もう動かないのははずして
でやるとMakefileができた。何か足りないとかあるかもしれないけどそのときはやりなおそう。
でできてしまった。
systemctlで起動してみる。
deadとあるのでなんだか死んでるらしい。ちゃんとconfigに記述しないといけないんだろう。
を編集する。
とりあえず
で、どうやら動いたらしい(すごい行き当たりばったり。良い子の皆さんは真似しないように)。
僕のMBPの環境設定のサウンドを見ると でちゃんと見えている。iTunesからも となって出力できるようになっている。
もちろんiPodからも見える。すばらしい。
今回はAirPlay互換サーバであるshairport-syncについて....
4.2 shairport-sync
これでRaspbianからI2Sをドライブする方法はわかった。しかしこれだけでは不便。僕にとって簡単なのはAirPlayスピーカとして動いてくれること。そうするとforked-daapd(この話はまた別途やるつもり)から直接音が流せる。
AirPlay互換のサーバはいろいろあるらしいが、とりあえずshairport-syncを使ってみることにした。
名前からわかるように、もとはshairportというプロジェクトからforkしたものらしい。本家は3年前で止まっている。shairport-syncも現状ではすごく活発というわけではないようである。
shairport-syncを使うには
- OpenSSL or mbed TLS (PolarSSL is supported but deprecated)
- Avahi
- ALSA and/or PulseAudio
- libdaemon
- autoconf
- automake
- libtool
- libpopt
- libconfig
僕のRaspberry PiにはPulseAudioは入っていない。でもALSAでちゃんと動くと書いてあるのでよしとする。Apple Loslessなんか贅沢なものは使わないしそんなデータはないのでlibalacは入れない。
ALSAのために
$ apt install libasound2-dev
$ git clone https://github.com/mikebrady/shairport-sync.git $ cd shairport-sync $ autoreconf -i -f
$ ./configure --help
$ ./configure --without-apple-alac --with-alsa --with-avahi --with-ssl=openssl --with-systemd --without-pa
$ ./configure --with-alsa --with-avahi --with-ssl=openssl --with-systemd
$ make $ sudo make install
systemctlで起動してみる。
$ sudo systemctl enable shiarport-sync $ sudo systemctl status shairport-sync ● shairport-sync.service - Shairport Sync - AirPlay Audio Receiver Loaded: loaded (/lib/systemd/system/shairport-sync.service; enabled; vendor p Active: inactive (dead)
/usr/local/etc/shairport-sync.conf
general = { name = "raspberry speaker"; output_backend = "alsa"; . . } alsa= { output_device = "hw:1,0";とだけしてみた。
$ sudo systemctl restart shairport-sync $ sudo systemctl status shairport-sync ● shairport-sync.service - Shairport Sync - AirPlay Audio Receiver Loaded: loaded (/lib/systemd/system/shairport-sync.service; enabled; vendor p Active: active (running) since Thu 2017-10-19 16:37:24 JST; 7min ago Main PID: 15596 (shairport-sync) CGroup: /system.slice/shairport-sync.service └─15596 /usr/local/bin/shairport-sync Oct 19 16:37:24 vega systemd[1]: Started Shairport Sync - AirPlay Audio Receiver Oct 19 16:37:24 vega shairport-sync[15596]: Successful Startup
僕のMBPの環境設定のサウンドを見ると でちゃんと見えている。iTunesからも となって出力できるようになっている。
もちろんiPodからも見える。すばらしい。
2017-11-19 21:53
nice!(0)
コメント(0)
コメント 0