Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« Pi 3をWifi AccessPoint化(Raspbian stretch Lite 2018) | トップページ | アナログオーディオフェア2018は今週末 »

2018年6月 1日 (金)

shairport-syncをRaspbianにインストールしてAirPlayレシーバーに

ちまたでは、AirPlay 2 に注目が集まっていますね。

Airplay2

AirPlayはApple社の独自規格で、WifiやLANを通じて音楽や動画をストリーミング再生するものです。

iPhone、iPadから、Wifi経由でリモートスピーカーにて音楽再生したり、AppleTVを経由してテレビ画面に映像を映したりします。音楽再生の方はAirPlay 2になってマルチルーム再生に対応しました。

 

shairport-sync というソフトウェアはAirPlayに対応したLinux用のレシーバーソフトです。

外国のマニアの方がAirPlay通信を解析して独自に作って公開したのがshairportで、shairport-syncは発展版です。AirPlay 2(マルチルーム)に対応できているのかどうかは、やってみてのお楽しみ。

 

今日は、RaspberryPi 標準のRaspbianにインストールする方法をご紹介いたします。

では早速はじめましょう。

 

必要なライブラリ導入

sudo apt-get update 

sudo apt-get install build-essential git autoconf automake libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev libavahi-client-dev libssl-dev libpolarssl-dev libsoxr-dev mpc

インストールしますか? と問い合わせがでます。

  y  と答えてライブラリなどインストールされるまでしばらく待ちます。 

 

shairport-syncのインストール

shairport-syncはソースコードをダウンロードしてコンパイルします。

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

続いてコンパイルしていきます。

cd shairport-sync

autoreconf -f -i

./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd --sysconfdir=/etc

make

sudo make install

これでインストールが完了しました。

 

shairport-syncの設定

続いて設定です。

sudo nano /etc/shairport-sync.conf    でファイルを開いて下記の項目を書き換えます。

general =
{
    name = "RPi-Play";
    interpolation = "soxr";
    output_backend = "alsa";
    log_verbosity = 0;
};

sessioncontrol =
{
  run_this_before_play_begins = "/usr/bin/mpc stop";
  allow_session_interruption = "yes";
};

alsa =
{
  output_device = "hw:0,0";
  mixer_device = "hw:0";
  output_format = "S32";
  output_rate=44100;
  period_size=4410;
  buffer_size=22050;
};

# ここまでが Hifiberry-DAC用の設定 #

# Sabreberry32の場合は alsa セクション を変えます #

alsa =
{
  output_device = "hw:0,0";
  mixer_device = "hw:0";
  mixer_control_name = "Digital";
  output_format = "S32";
  output_rate=44100;
  period_size=4410;
  buffer_size=22050;
};

 

ファイルを保存して閉じます。 ctrl + x のあと y エンター。

上は、ALSAデバイスが1個目の場合の例です。
aplay -l コマンドで出力したいALSAデバイスが何番目なのかを確認しておくと良いでしょう。

 

shairport-syncを自動起動

最後に自動起動するように設定します。

sudo systemctl enable shairport-sync

今、実行したいときは以下のコマンドです。

sudo systemctl start shairport-sync

以上で完了です。

 

バージョンは以下のようになっていました。 2018年6月1日現在

$ shairport-sync -V

3.2RC10-OpenSSL-Avahi-ALSA-soxr-metadata-sysconfdir:/etc

 

 

再生してみる

2つのラスベリーパイにshairport-syncをインストールして試してみます。

Airplay2a_2

Windows版のiTunes からはこのように見えます。

マルチルームに対応できていますね。個別に音量調整も可能です。

 

でも、ipad(iOS 11.4)からはデバイスは見えるものの。。。

Airplay2b

再生できるのはひとつのデバイスに限られていました。なぜでしょうか??

ここによると、新しい製品(AirPlay2 対応製品)を識別しているように見えますね。つまりiTunesからはマルチルーム再生できるけど iOSからは制限をかけているっぽいです。

shairport-syncのバージョンアップに期待しましょう。

 

ちなみにipadでは spotify を再生してもAirPlayすることができるので、spotify Connect 対応製品じゃなくてもshairport-syncを入れればRaspberryPiをネットワークスピーカー的に使うことができます。(フリー版のspotifyで試しました)

 

 

 

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 

« Pi 3をWifi AccessPoint化(Raspbian stretch Lite 2018) | トップページ | アナログオーディオフェア2018は今週末 »

Raspberry Pi」カテゴリの記事

コメント

たかじんさん、こんにちは。
AP版でない方のZ-MPDに適用してみました。iPadでSpotifyを聞いたり、YouTubeを見たりする時に、ラズパイオーディオで高音質に聞けるのが良いですね。今までVolumio2でAirPlay接続をしていましたが、Z-MPDの方が音が良いです。

silverbbsさん

airplayはalacでデータを転送しているとの事で、音質の劣化は基本的にはないですしね。

volumio2は、高音質というより、色んな人が色んな使いかたをできるように、という方向に向かってしまいましたね。
特に何もしないRaspbianにMPDを入れただけでもvolumio2よりは良い音がします。

こんにちは、オーシャンです
spotify等を再生して楽しませて頂いてます

ところで、ご存知かと思いますがパパリウスさんが数日前に復活されてVer..0.5.1を公開されました
早速試したところ、SB32のドライバがスレーブしか受付けないのですが、これは過去のたかじんさんの説明の通りなので、しょうがないかなと思っていました
しかし、Z-MPDAP版+shairportは、マスターで動いているようなのですが、何か裏技が有るのでしょうか?

オーシャンさん

まだ 0.5.1を試しておりませんが、Z-MPDでは特に技を使っているわけではありません。

従来のshairportとshairport-syncの違いはsoxリサンプラーの有無が大きいです。

S-MPDは、音質が変わってしまうsoxリサンプラーを使わないという明確な方針があったと思うので、shairport-syncもsoxをOFFにしているかもしれませんね。

soxは、私も可能であれば使いたくないソフトです。中高域の透明感とか音の抜けが悪くなり、録音の差がマスクされる(どれも同じ音の傾向を持つ)ように感じます。

 こんにちは
早朝にZ-MPD をインストールして、夕方にはここまでたどり着けました。単純にterra-termつないでコピペしただけで、音が出ました。驚異ですw サーバーにも接続できています。もの凄く使い勝手がよく、音の良いシステムになりました。感謝します。

ひろせさん

良かったです。 Teratermコピペ。 これさえ出きれば再現可能です。

こんにちは
先日『Active Booster 基板 頒布開始しました』の記事へのコメントにて
チラと「Raspbianにshairport-syncをインストールしたけど動作してく
れない」旨を書きました。
その後、Z-MPD AP版に試したところ、こちらは問題無く動作する事が判
明しました。

なぜRaspbianだとうまくいかないのか、stretchではなくjessieにしてみ
ても、相変わらずios、MacOSともAirPlayのリストには何も表示されず
・・・。

そこで今度はshairport-sync.confの内容を最初の1行name="Rpi-Play"
から順に、1行書いては保存してreboot・・・という地道な事をしてみた
ところ、まずはAirPlayリストに「Rpi-Play」が表示され、選択できるよ
うになりました。
同時にHDMIからは音が出力されるようになり、そのまま地道な作業を続
けてみるとalsaセクションのmixer_control_name="Digital"を書いて
rebootした段階でAirPlayリストから消え、HDMIからの音も消える事が
わかりました。

結局mixer_control_name="Digital"の一行さえ入れなければAirPlayリス
トに表示され選択もできるけれど、音声はHDMIからのみ・・・というと
ころまで判ったところで途方に暮れております。
ちなみに"Digital"ではなく"PCM"だとAirPlayリストには表示されますが
、音声はやはりHDMIからのみです。
何か解決のヒントを頂けないでしょうか。

ラズパイの環境は3B & SabreBerry32にstretchです。
よろしくお願いします。

zionさん

頂いたコメントからは、HDMIが有効になっている可能性がありますね。
sudo raspi-config で設定するか/boot/config.txtの編集が必要そうです。

http://www.raspberrypi.org/documentation/configuration/audio-config.md

出力先は、hifiberry-dacでしょうか? sabreberry32でしょうか?

いづれも/boot/config.txtにてドライバを指定してあげる必要があります。
また、オンボードの3.5mmジャックをコメントアウトしておいた方が混乱は少ないと思います。
# dtparam=audio=on

たかじんさん、こんにちは
ありがとうございます!
突破口が見えた気がします。
今後はもっとラズパイの方も勉強しないとだめですね。
お手数をおかけしました。m(_ _)m

zion さん

意外と、ALSAの指定はややこしいですよね。.asoundrc でdefault出力を指定しないといけない場合もありますし。
mpd.confの場合は、強制的に出力先を指定できますが。。


コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: shairport-syncをRaspbianにインストールしてAirPlayレシーバーに:

« Pi 3をWifi AccessPoint化(Raspbian stretch Lite 2018) | トップページ | アナログオーディオフェア2018は今週末 »

サイト内検索(new)

2025年2月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28