パパリウス
パパリウス

マイルーム

オーディオルーム
オーディオルーム
借家(マンション) / 書斎兼用 / オーディオルーム / ~6畳 / 防音なし / スクリーンなし / ~2ch
<ネットワークトランスポート (I2S)> Raspberry Pi 3 ┣OS:symphonic-mpd ┗電源:iFi-Audio iPower (5V) <DAC> …
所有製品

レビュー/コメント

レビュー/コメントはありません

カレンダー

          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 29 30
31            

最新のレス

日記
製品レビュー/コメント

製品レビュー/コメントへのレスはありません

お気に入り製品

お気に入り製品はありません

日記

symphonic-mpd v0.4.2公開

このエントリーをはてなブックマークに追加
2017年12月27日

symphonic-mpd v0.4.2 を公開しました。

http://mpd.sytes.net/ja
※更新履歴はDOWNLOADページを参照ください。

<主な変更点>
・symphonic-mpdのセパレート構成に必要なファイルを配信しました。
セパレート構成はテスト中の機能であることをご理解の上でご利用くださいませ。

<セパレート構成テスト参加者のみなさまへ>

ジャイアンさんが解説記事を書いてくださっています。ご一読ください。

今さらのPPAP
セパレート構成のコンセプトと、フロント-バックを繋ぐ技術(piped pcm audio play)を解説された記事です。

PPAPプロジェクト参加者のためのLinux超初心者講座
12/30に公開したテスト支援ツールの取得、解凍、配置までの手順を画像入りで解説された記事です。

情報共有のためにWikiを用意しました。
まずは、前スレッドに記載した情報を移していきたいと思います。
https://github.com/papalius/symphonic-mpd/wiki/セパレート構成まとめWiki


編集にはgithubのアカウント作成が必要になります。お手すきの際にご準備いただけると幸いです。



pi3.volumio2---pi3.smpdの構成で鳴らしています。
smpdのスレッドにvolumio2の画像を貼る日が来ようとは。。。(笑


<テスト支援用ツール>
http://mpd.sytes.net/release/experimental/ppap_20171230.tar.gz

同梱物
+ バックエンド用core_start.sh (v0.4.2の/home/pi/configs/core_start.shを上書き)
+ バックエンド用ppap_setting.sh(チューニングパラメータ一括設定シェルです)
+ フロント用mpd.conf
+ フロント用asound.conf (/etc/に配置してください)


lightMPDやvolumio、moodeなど、他のディストリビューションとの相互接続はsymphonic-mpdコミュニティが独断で試行しているものです。 各ディストリビューションの開発元/頒布元に設定手順を問い合わせるなど、ご迷惑となる行為は厳に慎んでください。

次回の日記→

←前回の日記

レス一覧

  1. 前スレッドの最後に貼ったものですが、こちらで視聴中のバックエンドの設定はこちらです。

    (1)/lib/systemd/system/core.service

    ExecStart=/usr/local/bin/ncat --recv-only -m 1 --sctp -kl 4444 -e "/usr/local/bin/aplay-1.1.5 --test-nowait -M --period-size=256 --buffer-size=136710 -t raw -f cd"

    →aplayのperiod-sizeとbuffer-sizeはsmpdのデフォルトに近い値にしています。
    ポイントは「--test-nowait」です。ちょっと試してみてください。

    ※編集後に
    sync
    sudo systemctl daemon-reload
    sudo systemctl restart core
    を実行してください。

    設定が反映されているかどうかは、
    sudo systemctl status core
    を実行し、表示されたコマンドラインを確認してください。

    (2)/home/pi/configs/core_start.sh

    echo 1537|sudo tee /proc/asound/card0/pcm0p/sub0/prealloc
    echo 8320 | sudo tee /proc/1/timerslack_ns

    →preallocとtimer slackはsmpdのデフォルトにしています。

    ※編集後に
    sync
    sudo systemctl restart core
    を実行してください。

    プロセス停止が遅れてサウンドデバイスをつかんだ状態で変更しようとてしまい、preallocが反映されてないことがあるようです。
    おかしいなと思ったらもう一度restartしてください。

    preallocは、
    /home/pi/util-stat.sh
    で確認できます。

    aplayのtimer slackは、
    sudo cat /proc/$(pidof aplay-1.1.5)/timerslack_ns
    で確認できます。

    byパパリウス at2017-12-27 22:24

  2. こちらでは「はじめまして」になる、donuts.shop73です。

    パパリウスさんからの告知から少し間が空いてしまいましたが、lightMPDをベースにしたセパレート構成のバックエンドを公開します。USB-DAC専用ですのでここにお集まりの方々には必要のない物かもしれませんが、ご容赦ください。ただ、カーネルを差し替えることでI2Sでも動作するとは思いますので腕に自信のある方は挑戦してみてください。私の方でもI2S版を用意する予定が無くはないのですがいかんせんRaspberryPiでのI2Sは初ですので時間が掛かるものと思われます。

    【格納場所】
    https://drive.google.com/file/d/1R5nslShugrrm8YZDOM1YB889DsikjRN4/view?usp=sharing
    【ファイル名】
    rpi2-smpdplayer-20171228.zip
    【対応機種】
    Raspberry Pi 2
    USB-DAC専用

    勝手にsmpdplayerと称しておりますが深い意味はございません。

    【使い方】
    手抜きで申し訳ありませんが、lightMPDの掲示板「Raspberry Pi 2 用の USB-DAC 専用 upnpplayer を公開しました。」をご参照ください。所々違うヶ所がございますが大筋は同じです。

    【注意点】
    1. ネットワーク構成がlightMPDのupnpplayerに合わせてあります。ハブを介して接続される場合などは変更が必要です。confフォルダ配下のinterfacesファイルを修正しsetupし直してください。
    2. ncat&aplayの起動と停止は/etc/init.d/S96smpdplayerを使います。引数にstartあるいはstopを指定し実行してください。
    3. ncat&aplayの設定は/var/conf/smpdplayer.confで行っています。設定変更後2.の手順でncat&aplayを再起動してください。
    4. preallocは変更不可です。カーネルでは1537を設定しています。
    5. USBポートはhub-ctrlによって制御しています。デフォルトでは右下のポート5のみ有効にしています。/etc/init.d/S99rc.localで設定していますので環境に合わせて変更してください。私はここに外部供給電源をかませてUSB-DACを接続しています。
    6. LEDはデフォルトでは正常起動時にすべて消えます。

    個人の環境に合わせて変更可能なようにはしているつもりですので、必要な物があればご自身での対応をお願いします。

    bydonuts.shop73 at2017-12-28 01:51

  3. パパリウスさん

    早速パパリウスさんの設定を実施してみました。
    /lib/systemd/system/core.service を編集後、手順通りに
    sync、daemon-reload、restart coreを実施したところ
    restart実行時にfailedとなってしまいました。
    -----------------
    pi@smpd:~ $ sudo systemctl restart core.service
    Job for core.service failed. See 'systemctl status core.service' and 'journalctl -xn' for details.
    -----------------

    status
    --------------
    pi@smpd:~ $ sudo systemctl status core
    ● core.service - symphonic-mpd core service
    Loaded: loaded (/lib/systemd/system/core.service; enabled)
    Active: failed (Result: exit-code) since Tue 2017-12-26 03:55:25 JST; 1min 16s ago
    Process: 2396 ExecStartPre=/home/pi/configs/core_start.sh pre (code=exited, status=32)
    Main PID: 1476 (code=killed, signal=TERM)

    Dec 26 03:55:25 smpd sudo[2464]: mpd : TTY=unknown ; PWD=/ ; USER=root ; CO...pd
    Dec 26 03:55:25 smpd sudo[2464]: pam_unix(sudo:session): session opened for...0)
    Dec 26 03:55:25 smpd sudo[2464]: pam_unix(sudo:session): session closed for...ot
    Dec 26 03:55:25 smpd sudo[2472]: mpd : TTY=unknown ; PWD=/ ; USER=root ; CO...AS
    Dec 26 03:55:25 smpd sudo[2472]: pam_unix(sudo:session): session opened for...0)
    Dec 26 03:55:25 smpd core_start.sh[2396]: umount: /var/lib/mpd/music/NAS: no...d
    Dec 26 03:55:25 smpd sudo[2472]: pam_unix(sudo:session): session closed for...ot
    Dec 26 03:55:25 smpd systemd[1]: core.service: control process exited, code...32
    Dec 26 03:55:25 smpd systemd[1]: Failed to start symphonic-mpd core service.
    Dec 26 03:55:25 smpd systemd[1]: Unit core.service entered failed state.
    Hint: Some lines were ellipsized, use -l to show in full.
    -----------------------------

    rebootすると設定した値で起動はしているのはstatusコマンドで確認済みです。

    bystressd0301 at2017-12-28 02:18

  4. status コマンドが途中で途切れているようなので、貼り直します。

    pi@smpd:~ $ sudo systemctl status core
    ● core.service - symphonic-mpd core service
    Loaded: loaded (/lib/systemd/system/core.service; enabled)
    Active: failed (Result: exit-code) since Tue 2017-12-26 04:05:21 JST; 4s ago
    Process: 1582 ExecStopPost=/home/pi/configs/core_stop.sh (code=exited, status=0/SUCCESS)
    Process: 1814 ExecStartPre=/home/pi/configs/core_start.sh pre (code=exited, status=32)
    Main PID: 1475 (code=killed, signal=TERM)

    Dec 26 04:05:21 smpd sudo[1898]: mpd : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/systemctl stop ympd
    Dec 26 04:05:21 smpd sudo[1898]: pam_unix(sudo:session): session opened for user root by (uid=0)
    Dec 26 04:05:21 smpd sudo[1898]: pam_unix(sudo:session): session closed for user root
    Dec 26 04:05:21 smpd sudo[1907]: mpd : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/umount /var/lib/mpd/music/NAS
    Dec 26 04:05:21 smpd sudo[1907]: pam_unix(sudo:session): session opened for user root by (uid=0)
    Dec 26 04:05:21 smpd core_start.sh[1814]: umount: /var/lib/mpd/music/NAS: not mounted
    Dec 26 04:05:21 smpd sudo[1907]: pam_unix(sudo:session): session closed for user root
    Dec 26 04:05:21 smpd systemd[1]: core.service: control process exited, code=exited status=32
    Dec 26 04:05:21 smpd systemd[1]: Failed to start symphonic-mpd core service.
    Dec 26 04:05:21 smpd systemd[1]: Unit core.service entered failed state.

    見にくくて申し訳ないです。。。

    bystressd0301 at2017-12-28 02:27

  5. パパリウスさん
    フロントエンド、バックエンドともラズパイ3を使っております。
    バックエンドの設定を変更しました。上手く表現できないのですが、キレのある音に変化した感じがして帰宅してから曲を止めるタイミングを失ってます。

    一点質問なのですが、
    バックエンドの電源オフの方法で悩んでおります。
    というのも、私はルータ配下(192.168.3.x)にPC、NASとルータ2がありルータ2のLAN側(192.168.1.x)にラズパイを2台(フロント、エンド)を置き、ルータ2の設定で必要なポートを開放して使用しています。webやsshでログインする際はルータ2のWAN側IPアドレスを指定して利用います。

    電源オフするにあたり、ブラウザでもsshでもポート番号が重複してしまいます。
    現在はフロント側のポート22を開放しています。
    /etc/ssh/sshd_config
    でバックのポート番号を変更し、ルータ2でポート開放したところ、タイムアウトが頻発してしまい曲が途切れる状態です。

    私の環境を変更するのが手っ取り早いのは重々承知しております。
    しかしながら、ネットワークを分離することで音が良くなってる気がしており、なかなかPCと同じネットワーク構成にすることができません。
    なにか解決方法がございましたらご教示下さい。

    bygacha202 at2017-12-28 03:10

  6. donuts.shop73さん

    lightMPDバックエンドの公開、誠にありがとうございます!
    チューニング可能なように設定ファイル等の整備までしていただいたようでありがとうございます。
    先日お話いただいた内容だと、起動プロセス数が「約20」だとか、、、
    psやtopでみたときのタスク数が約20ということですよね・・・???
    symphonic-mpdの総タスク数は約140です。
    なんかもう、別次元過ぎてびっくりを通り越しております(笑
    テスト参加者の皆様も、USB DAC環境をお持ちの方はぜひ試されてください。


    stressd0301さん

    ご報告ありがとうございます。
    設定変更を一括で行うようなスクリプトを用意し、チューニング時のトラブルを減らして省力化できるようにしたいと思います!


    gacha202さん

    バックエンドの操作は様々な方式が取れると思いますので、ちょっとアイデアを出してみます。お待ちくださいませ。

    byパパリウス at2017-12-28 07:44

  7. パパリウスさん

    rpiB(初代です)のバックエンド用のシステムを作りました。
    内容は、

    kernel 4.14.7 voluntary kernel preemption(desktop)
    電源ぶち切りできるようメモリ上ですべて動くシステム
    ncat は tcpでやりとり
    period-size=64
    buffersize=136710
    シリアルコンソールでしか中身を覗けない。
    hifiberry-dacのみ
    など以前設定スレで書かれていたものは全く変更しておりません。
    ボードを変えることによる違いを把握したいためです。

    先入観をあまり与えたくないですので多くは語りませんが、rpiB
    大事にもっていてよかったと思いました。
    シングルコアですから、tasksetなど気にする必要ありませんしね。

    あと、今までずっとglibcでつくってきたのですが今回初めてuclibc版もつくってみました。rootfs.cpio.gzのサイズ比で1MB強ほどサイズが小さくなりました。(噂通り)
    音もなにげに。。。。

    お先に別世界にいかせていただきます。笑

    bytakobozu at2017-12-28 13:04

  8. パパリウス様

    お世話になっております。
    基本設定をご提示いただいたおかげで、随分楽になりました。

    現在、arm_freq1400前後で色々試しています。
    全くの感覚的なものですが、--test-nowaitとfifo優先度Upは相性が良いような印象を受けました。preallocとtimerslackを少し変えて、CPU使用率4%以内で安定稼働中です。

    セパレート構成で最も好印象だった、懐の広さを活かせるようトライしていますが、楽しいですね。

    byW.Peach at2017-12-28 13:53

  9. W.Peachさん

    早速当方のmsberrydacでも同様にクロックを下げての調整を設定してみました。
    懐の広さと言っている意味がわかった気がします。。。素晴らしいです。

    まさかクロックを上げるのではなく、下げて調整するというチューニングに脱帽です。

    bystressd0301 at2017-12-28 17:03

  10. W.Peachさん

    さっそく1440で走らせていたバックエンド側だけ、ご報告の内容で設定してみました。
    フロントエンド側はいじっておらず、arm_freq=1480のsymphonic-mpdです。

    topで確認すると、aplayの%CPUが2.2〜2.6で、Cpu3は2.0〜3.0で推移します。両方ともほぼ2%台ですね。
    私の環境では、フワッとほぐれたような鳴り方になりますね。聴いていて、肩の力が抜けるような音です。私には、もう少しまとまり感が欲しいかなと感じる音でもあります。

    config.txtの設定だけ、デフォルト値に戻してみました。
    CPU使用率に変化はありません。音はかなり変わりました。音の広がり感はそのままに、スピード感とかキレといった感じが加わったような鳴り方です。パパリウスさんが示してくださったパラメーターで私にはかなり良かったのですが、少し絞り出すような鳴り方が残っているなと感じていました。それがかな〜り払拭されたような感じです。さらに私好みの音に近づいたか、もしくはこの辺に着地点があるのかもと感じてます。

    使用I2SデバイスはHiFiBerry Digi+ Pro、DACはHP-A8(AK4399)でアップサンプリングかけて鳴らしてます。

    それにしても、いつもビックリさせられる設定をありがとうございます。私はこの手の試行錯誤が苦手で苦手で。感謝に堪えません。

    byジャイアン at2017-12-28 18:17

  11. stressd0301 様

    はじめまして。設定をお試しいただきありがとうございます!
    同じmsberryDACですので、おそらく同じような鳴らし方(空間表現重視)だと思います。ここからtimerslackを8000くらいに落とすと、ドライブ感が増しますので、出口や音楽のジャンルに合わせてお試しいただけたらと存じます。
    オーバークロックは、やはり諸刃の剣ですし、シビアに詰めていくと電源等周囲への要求も厳しくなってくると思いますので、できれば1300台で落とし込められないかなと考えているところです。現設定でもCPU温度40度台で安定しているので、しばらくは大丈夫かもしれませんが・・・。

    ジャイアン様
    設定をお試しいただきありがとうございます!
    クロックを上げると、やはり引き締まりますか。当方、1440落第組でして、キレやスピード感はtimerslackで調整しております。
    ジャイアンさんの仰った「肩の力が抜けるような」は、私がセパレート構成で最も好きな特徴でして、その傾向が出ているようで、ひとまず安心しました。まだ設定が大振りなので、もっと詰めていかないといけないですね。
    他の方からは、元気一杯系のチューニングも出てくるでしょうし、今後の展開が楽しみです。

    byW.Peach at2017-12-28 18:58

  12. W.Peachさん

    挨拶も無いまま失礼しました。。。ついつい興奮してしまい。
    はじめまして、stressd0301と申します。

    いつもW.Peachさんの設定をコソコソと使わせていただいております。
    同じmsberrydacなので、いつも参考にしております。
    なかなか自分自身で設定を詰めていくことが苦手なため、本当に助かっております。

    W.Peachさんの設定をベースとして自分好みのチューニングを探ってみようと思います。

    bystressd0301 at2017-12-28 19:21

  13. パパリウス様

    謝ってレスの削除を押してしまいました。
    貼りなおします。

    クロック下げのチューニングは需要がないかもしれませんが、一応現状のパラメータを記しておきます。気が向いたらお試しくださいませ(笑)
    arm_freq=1398
    core_freq=233
    sdram_freq=466
    over_voltage=8
    over_voltage_sdram_p=5
    over_voltage_sdram_i=1
    over_voltage_sdram_c=1
    sdram_schmoo=0x02000020
    ncatはデフォルトのまま(sctp)
    〈リア〉
    arm_freq=1410
    core_freq=235
    sdram_freq=470
    over_voltage=8
    over_voltage_sdram_p=6
    over_voltage_sdram_i=1
    over_voltage_scram_c=1
    sdram_schmoo=0x02000020
    prealloc=1280
    timerslack_ns=8250
    CPUSchedulingPriority=99
    period-size=384
    buffer-size=136710
    --test-nowaitは追加
    CPU使用率:3~4%(ほぼ3%台)

    byW.Peach at2017-12-28 19:33

  14. stressd0301様

    同じDACを使用している方に設定を使っていただけるのは嬉しいですね!
    恐らく、設定値に関しては、まだまだ先が長いと思われますので、stressd0301さんの方で良い設定値が出たら、是非参考にさせていただけたらと存じます。

    byW.Peach at2017-12-28 19:42

  15. バックエンドのパラメータ設定を行うスクリプトを下記URLにアップしました。

    http://mpd.sytes.net/release/experimental/util_backend.tar.gz

    使い方は同梱しているREADMEを参照ください。

    byパパリウス at2017-12-28 20:17

  16. gacha202さん

    バックエンドのシャットダウンですが、一番素朴な案は、フロントにsshした後、フロントからバックの実IPに対してsshする方法です。

    sshのキーを生成してフロント・バックに置けば、パスワード無しでsshログインができますので、バックエンドのシャットダウンを行うシェルを書くことができます。それをフロント側で実行すると、手間が省けるでしょう。
    ここまでくれば、フロントにプラグインとして設定してWeb UIからそのシェルを叩くこともできます。
    お急ぎでなければ、こちらで用意することもできますのでお声掛けくださいませ。


    takobozuさん

    これからは程度の良いPiBを探し求める時代が来るかもしれませんね(笑
    バックエンドは正に「LAN-I2Sインターフェース」ですね。
    単機能にフォーカスすることでシンプル化・最適化の幅が物凄く広がるものと思います。CPUパワーを抑え、電圧変動・高周波ノイズに配慮する構成がバックエンドの正解かもしれませんね。
    よろしければ、Wikiへの追記をお願いいたします(笑


    W.Peachさん

    チューニング事例、ありがとうございます!
    さきほどアップしたパラメータ設定スクリプトにはW.Peachさんの設定をプリセットさせていただきました。
    フロントは遅延に対する要求レベルが下がりますので、arm_freq=1440にこだわる必要性は薄れましたね。1200〜1400で余裕を持たせても全く問題ないと思います。
    今、アップサンプリングのライブラリ(libsoxr)を準備中です。smpdに同梱されているものは最適化をしておりませんので、チューニングに向けて最適化版を配布したいと思っております。
    フロント側で最高品質でアップサンプリングさせようとすると、かなりCPU使用率が上がるのではないかと思っていますので、arm_freqに余裕を持たせておくチューニングが必要とされるかもしれません(笑
    バックエンドについては、アンダークロックも試すべきかと思っています。下限はarm_freq=600ぐらいでしょうか。低遅延とノイズのトレードオフを判断していかなければなりません。
    smpdはマルチコア・オーバークロックを前提に低遅延を優先する方向で振り切っていますので、アンダークロックの可能性を探るには適切ではないかもしれませんね。
    takobozuさんやdonutsさんのイメージを起点にしてノウハウを溜める方が近道かもしれないです。

    byパパリウス at2017-12-28 21:08

  17. stressd0301さん

    フロントでUSB/Wifiを有効化されているとのことですので、電源の要求はやや高いものと思います。arm_freqは少し抑えめの方がよいかもしれませんね。
    チューニングの真価は、長時間聞いて初めて体が答えを出すものですので、ぜひ忌憚のない意見でフィードバックいただければと思います!


    ジャイアンさん

    当初の予想では、バックエンドだけストイックに詰めていけばいいかと目論んでいたのですが、、、
    皆さんのお話を眺めていると、案外、フロントも重要そうですね。
    フロントとバックエンドの接続(piped pcm audio playと呼ばせていただきます)ですが、サンプルレート・ビット深度・チャネル数の切り替えと、停止操作や曲送りに対する遅延が解決すべきポイントかと思っています。
    他にもお気付きの点がありましたら、なんでも問題提起していただけると助かります。
    私は結構、何も操作せずにランダムリピートでかけっぱなしなもので、問題に気付かないことがよくありますので(笑


    >みなさま

    小さなことからWikiの編集をお試しいただけると幸いです!
    大切なことなのでもう一度いいますが、
    「Wiki編集をお手伝いいただけると幸いでございます!!!!!」

    byパパリウス at2017-12-28 21:10

  18. <テスト参加者の皆様>

    コメントを書き込まれる際に、試聴している環境を添えていただけると助かります。

    書式は全て小文字で
    ハード.ソフト---ハード.ソフト.DAC

    例)
    pi2.moode---pi3.smpd.msberry
    pi3.volumio2---pi3.smpd.sb32
    pi2.smpd---pi2.smpd.tb2
    こんな感じでお願いします。
    文脈によってはDACを省略してもらっても問題ありません。


    msberrydacをお使いの方は、ぜひW.Peachさんのチューニング設定をお試しください!

    私の試聴環境は
    pi3.volumio2---pi3.smpd.es9018s
    pi3.smpd---pi3.smpd.es9018s
    という記載になりますが、ES9018Sデュアルの据え置きDACでチューニングしておりますので、ESS系(Sabreberry32やES9028使用DACなど)と相性がいいかもしれません。
    ハード・DAC構成が近いものをご参考になさってみてください。

    byパパリウス at2017-12-28 21:46

  19. パパリウスさん

    Wikiに書くべきか、それともコチラがいいのか迷ったのですが、コチラで投下されたスクリプトに関しての問題なので、文脈上、分かりやすさを考えてコチラに投稿いたします。

    ファイルを所定の位置にコピーし、sudo ./ppap_setting.shを実行すると、core_start.shは編集されますが、symphonic-mpd core serviceのリスタートに失敗するようです。
    具体的にはこの部分のようです。

    pi@smpd:~ $ sudo systemctl start core
    Job for core.service failed. See 'systemctl status core.service' and 'journalctl -xn' for details.
    pi@smpd:~ $ systemctl status core.service
    ● core.service - symphonic-mpd core service
    Loaded: loaded (/lib/systemd/system/core.service; enabled)
    Active: failed (Result: exit-code) since Thu 2017-12-28 21:05:43 JST; 1min 22s ago
    Process: 2090 ExecStartPre=/home/pi/configs/core_start.sh pre (code=exited, status=32)
    Main PID: 1342 (code=killed, signal=TERM)

    他、リブート後に再度sshログインすると、“backend instance”の表示がログインする度に増えているようです。現在は10行に渡っています。

    byジャイアン at2017-12-28 21:52

  20. ジャイアンさん、ご報告ありがとうございます。

    backend instanceの表示は、サービス起動時に追加し、サービス停止時に消しています。
    サービス起動に失敗すると、消すタイミングがなくなってしまうため、どんどん増えていくことになります。

    sudo sed -i -e '$d' /etc/motd
    を実行いただくと、backend instanceを1行分削除できますので、必要な回数だけ叩いて直していただけたらと思います。

    サービスがうまく起動してない理由は、こちらでは再現しないので特定できておりません。

    /home/pi/configs/core_start.sh

    sudo systemctl stop xxx

    sudo umount xxxx
    の行を一つずつコメントアウトしていって、引っかかっている行を特定いただけると助かります。

    byパパリウス at2017-12-28 22:03

  21. パパリウスさん

    早速の助言をありがとうございます。
    指示の通り検証した結果、sudo umount /var/lib/mpd/music/NASでコケてることがわかりました。またNASかぁ...ココで出てくるかぁ...という気分です

    byジャイアン at2017-12-28 22:17

  22. <チューニング指針>

    aplayのパラメータ
    -N
    --test-nowait
    の組み合わせを試してみてください。

    ※-Mと混同しないようご注意ください。-MはMemory Mapped I/Oを指定するオプションですので、有効にしたままとしてください。

    -N あり --test-nowaitあり
    -N あり --test-nowaitなし
    -N なし --test-nowaitあり
    -N なし --test-nowaitなし
    の4パターンとなります。

    -N は「ノンブロッキング動作」を指定するオプションです。このオプションがない場合のデフォルトの動作は「ブロッキング動作」で、PCM書き込みなど、ALSA経由でサウンドデバイスを操作しようとした時に、なんらかの理由で操作できない状態だった場合は、操作可能になるまで処理を待ちます。
    -Nを付けてノンブロッキングを指定したときは、デバイスを操作できなければスキップして次の処理に進む、、、という動きになります。

    ※コメント投稿時に文字数オーバーに引っかかってしまいましたので、コメントを分けます。

    byパパリウス at2017-12-28 22:31

  23. --test-nowaitは、alsaのリングバッファをテストする目的で設けられたオプションだと思いますが、面白いオプションなので評価したいと思っています。

    このオプションを指定しない場合のデフォルトの動作は、PCMデータをサウンドデバイスに書き込みに行くとき、なんらかの理由で書き込みできない状態だった場合はカーネルに監視を依頼してそのスレッドはスリープし、書き込み可能になったらカーネルに起こしてもらうというオプションです。

    逆に--test-nowaitオプションを指定すると、PCMデータの書き込みができないときは書き込みをスキップして次の処理に進み、ループしてきてまた書き込みを試す、、、という動作になります。

    これは所謂「ビジーループ」というものでCPUが100%に張り付く原因になりますが、スリープせずにデバイスの状態を繰り返しチェックするため、書き込み可能になった時に最速で書き込みを再開できるという意味で、もっとも低レイテンシーな動作になる可能性があります。

    通常、同一コアで別のスレッドも動いているはずなので、ビジーループするスレッドがあると他のスレッドの処理を邪魔して、正常動作しなくなるのが常ですが、バックエンドのCPU3はncatとaplayが動いているだけなので、ビジーループしても影響が小さい可能性があります。

    -Nのノンブロッキング動作と--test-nowaitのビジーループが合わさった時、ぐるぐるループしてCPU使用率が跳ね上がる様が確認できると思います。

    このオプションの組み合わせ(全4パターン)はぜひ試されてください。
    私も時間を作って試聴してみたいと思っています。


    >ジャイアンさん
    原因を特定いただきありがとうございます!
    まぁ、あまり深追いせずに、
    umountの行はコメントアウトした状態でお使いいただければと思います!

    byパパリウス at2017-12-28 22:34

  24. パパリウス様

    バックエンドはsymphonic-mpd固定(設定も同一)、フロント側をmoodeとsymphonic-mpdの2つで切替比較すると、明らかに後者のほうが音がよいようです。
    となると、symphonic-mpdは最終的にはフロント/バックエンド両方用のパッケージの用意が必要なのかも・・・。フロント用にはUSB解禁等を含めて。

    bytakoyaki at2017-12-28 22:57

  25. takoyakiさん

    ご報告ありがとうございます。
    多数のスレッドが動くフロント側は、RTカーネルが望ましいということでしょうね。自然な結論だと思います。
    あわよくばノーマルカーネルでも音質低下を招かないのでは、、、と期待していましたが、一つ一つ仮説を検証していき、可能性を探っていきたいと思います。

    takoyakiさんはフロント-バックを直結でしたよね?
    ネットワークのチューニングもお試しください。
    MTUとtxqueuelenのチューニングで帯域が改善する可能性があります。

    sudo ifconfig eth0 txqueuelen 2000
    →Raspbianのデフォルトは1000、smpdでは2000にしています。
    10000ぐらいまであげても問題ありません。

    sudo ifconfig eth0 mtu 9676
    →Linuxのデフォルトは1500です。
    1500オーバーはジャンボフレームと呼ばれるもので、経路上のルータが対応していない場合は1500以上にあげることができません。
    直結ならルータを気にする必要がありませんので、フロント・バックの双方でeth0のMTUを変更してみることをおススメします。
    ただ、ラズパイがジャンボフレームに対応しているかはよく知らないので、もしかしたら通信不可になるかもですw

    byパパリウス at2017-12-28 23:54

  26. パパリウス様

    パラメータ設定のスクリプト、ありがとうございます。しかし、例の如く設定で躓いたため、イメージの焼き直しになりました。もう一回やってダメなら諦めます。とりあえず、設定は変えられますしね。
    どうにも、こういう作業は苦手で、一向に慣れませんね。
    wikiの編集も、github入門のページを読んだだけでお腹いっぱいになってしまったので、ちょっと時間がかかりそうです。

    さらに新しい指針も出てきて、ビジー状態です(笑)

    byW.Peach at2017-12-29 04:43

  27. W.Peachさん

    焼き直しということは、起動しなくなったか、音が出なくなったということでしょうか。
    パラメータ設定スクリプトがやっているのはcore_start.shとcore.serviceの書き換えとサービス再起動のみですので、この2ファイルを元に戻せば必ず元の状態に戻ります。
    この2ファイルをアップしますので、何かトラブったときはそのファイルで上書きしていただければと思います。
    本日、仕事納めですので、帰宅しましたら準備しますね。

    wikiの記法はmarkdownという記法を採用しています。
    とてもシンプルな記法なので、細かいことは気にせず、ただのテキストとして記載していただければと思います。
    体裁を整えたりというのは、おいおい時間を見つけて整理していけばいいと思っていますので。

    byパパリウス at2017-12-29 07:33

  28. パパリウス様

    毎度毎度申し訳ございません。余計な事でブレーキをかけてしまい心苦しいです。
    焼き直しは、音は出ていたのですが、エラーが出たまま解決出来ない状態で稼働させるのが気持ち悪く、行なった次第です。

    byW.Peach at2017-12-29 09:37

  29. パパリウスさん

    wikiへの度々のお誘いありがとうございます。
    枯葉も山のなんとやら、と申しますのでなんとか書かせていただきたいと思います。大したことは書けませんが。


    寒い日が続きますので体調管理にはくれぐれもご留意ください。

    bytakobozu at2017-12-29 12:32

  30. パパリウスさん

    フロントエンドからバックエンドにアクセス出来ました。
    アドバイスを元に調べてみたらSSHもtelnetと同じで踏み台にすることができるのですね。
    自分の不勉強を恥じております。
    お忙しい中お時間割いてしまい申し訳ありませんでした。

    bygacha202 at2017-12-29 13:45

  31. パパリウス様

    お世話になっております。
    スクリプトの設定に再挑戦しました。
    Linuxからダウンロードしたり展開したりのスキルがないので、PCのテキストエディタで開き、内容をコピーし、sudo nano /home/pi/configs/core_start.shを書き換え。
    pi@smpd:~ $ cp ./core_start.sh /home/pi/configs/
    cp: cannot stat ‘./core_start.sh’: No such file or directory

    同様に、sudo nano /ppap_setting.shを開き、コピペし、保存。
    pi@smpd:~ $ sudo ./ppap_setting.sh
    sudo: ./ppap_setting.sh: command not found
    私のスキルでは、何が起こっているのかさっぱりわかりません。
    使いこなせず申し訳ございません。

    byW.Peach at2017-12-29 17:08

  32. 習うよりも馴れろ!で、Wikiに私の名前で代理投稿していただいていた音質評価の内容を、追加編集してみました。Macからだと改行が反映されないようで、少し読みにくいかもです。こんな感じでイイですか?

    byジャイアン at2017-12-29 18:02

  33. ジャイアン様
    ありがとうございます!
    Linuxのコマンドに触れて数ヶ月なので、まだまだこれから、という事で・・・
    wiki拝見しました。とても見やすかったです。私も書き込まなければ・・・


    stressd0301様
    昨日の設定で響きすぎると思われるようでしたら、
    prealloc=1296
    slack=8260
    を試していただければと存じます。少しデッドに振っています。ちなみにslackを8270にすると、もっとデッドに振れますが、見通しも悪くなってくると思います。低音のキレも8260と8270では結構変わってきます。

    byW.Peach at2017-12-29 19:56

  34. 皆さんはじめましてalpacaです。
    フロント・バック構成を早く試したくて、眠っていたintel NUC DN2820にvolumio2を入れてみました。
    構成は
    x86.volumio2---rpi3.smpd.sb32
    です。
    フロントは多少パワーがあるので、pipeのformatを192000:32:2に固定して、バックのaplayは-f S32_LE -r192000 -c2で受けてます。
    ビットパーフェクトの観点からは邪道かも知れませんが、サンプリングレートの違うFLACが混雑している私の環境にとって操作性も良く、想像以上に心地よい音が出ていますので、古いノートパソコン等をお持ちの方はお試しください。

    byalpaca at2017-12-29 21:54

  35. W.Peachさん

    ありがとうございます
    早速設定試してみたいと思います!!

    それとバックエンドの設定スクリプトですが、wikiへ事前準備部分を追記したものを
    アップしましたので、そちらを参考にやってみていただければと思います。

    ジャイアンさん
    wikiの更新ありがとうございます。
    とても見やすく、分かりやすいです。。。さすがです。
    私の方もちょっとずつ更新をしてみようかと思います。

    bystressd0301 at2017-12-29 23:54

  36. みなさま、さまざまなコメントをどうもありがとうございます。
    wikiにノウハウを整理いただいたり、x86機からの接続をご報告いただいたりと、皆様のおかげで前進していることを実感しております。
    今すぐお一人お一人にコメントを返したいのですが、まもなく右脳も左脳も活動限界を迎えそうです(笑
    目覚めましたら、スッキリした頭でご返信いたしますのでご容赦くださいませ!!!zzZZZ

    byパパリウス at2017-12-30 00:20

  37. stressd0301 様

    wikiありがとうございます!!
    参考にしながら、行いました。途中まではwikiと同じように進むのですが、
    pi@smpd:~ $ cp ./core_start.sh /home/pi/configs/
    cp: cannot stat ‘./core_start.sh’: No such file or directory
    ここで躓きます。一体何が起こっているのやら・・・?

    byW.Peach at2017-12-30 00:57

  38. W.Peachさん

    申し訳ないです、手順⑤がいらなかったようです。。。
    wikiは編集してますので、試してください。

    エラー内容は 「./」 現在のディレクトリ に core_start.sh が無いですといったメッセージです。

    私が追記した最後にhomeディレクトリへ戻る手順を記載していたためエラーとなっていたようです。 

    bystressd0301 at2017-12-30 01:15

  39. stressd0301様

    おかげさまで、設定完了できました。一連の流れ、自力ではたどり着けませんでした。本当に感謝に堪えません。ありがとうございました!!

    パパリウス様
    ppapの方は、ジャイアンさんと同じエラーが出て、やはりsudo umount /var/lib/mpd/music/NASが引っかかっておりました。ちなみに、当方のNASはバージョン1.0です。

    byW.Peach at2017-12-30 03:55

  40. パパリウス様

    ネットワークチューニングの件、試してみました。txqueuelenは少し効果があるかないか、微妙すぎて効果がよくわかりませんでした。
    またジャンボフレームの件は、設定は可能なのですがそのポートでの通信ができなくなりました。いろいろ調べたところ通常GbE以降で使える技術のようで、100/10なラズパイのNICでは使えないらしいです。
    フロントがPCな場合などは使えると思いますが、結局SW-HUBでフレーム分解されてしまうはずなので、効果があるかは・・・。

    bytakoyaki at2017-12-30 10:14

  41. takobozuさん

    RPiB向けのイメージ作成手順をWikiに記載いただきありがとうございます。
    ソフトの方は4.14系カーネルを-O3オプション付きで載せるということで、往年の名機が輝きますね。搭載メモリが少ないこともあり、uclibcでのメモリ削減などの細やかな配慮が音質にも効いてきそうですね。
    情報提供、誠にありがとうございました!

    テスト参加者の皆様の中に、RPiBをお持ちの方はいらっしゃいますでしょうか?ご要望があれば、SDイメージを公開してくださるかもしれませんよ(笑


    gacha202さん

    sshでのバックエンド操作が上手くいったようでよかったです。
    今後、バックエンドをフロントからシェルで操作したい場面も増えてきそうですので、公開鍵・秘密鍵を配置しておくことを検討したいと思います。


    ジャイアンさん

    Wikiの編集、ありがとうございます。音質評価欄も読み応えがありますね。twitterぐらいの気軽さで追記していただければと思います。
    -Nオプションと--test-nowaitオプションのレポートもありがとうございます!--test-nowaitオプションのみで決まりですかね(笑


    W.Peachさん

    msberry向けのチューニングはW.Peachさんのパラメータを信じていれば幸せになれそうですね!(笑
    スクリプト類は手直ししながら便利にしていきますね。
    不具合も随時盛り込まれると思いますので、おかしいと思ったら焼き直す前にまずはご一報を!(笑

    byパパリウス at2017-12-30 11:26

  42. alpacaさん

    intel NUC DN2820との接続報告をいただきありがとうございます!
    この展開は予想していなかったので大変に驚きました。
    使用されているOSはdebian系のLinuxでしょうか?
    CPUは2コア(+ハイパースレッド)の2.4GHzで、OSからは4コアとして認識されるんでしょうか。
    このパワーは夢が広がりますね。
    いま、soxに限定せず、さまざまなアップサンプリング用のライブラリを物色しているところです。chordがFPGAで実装しているようなtapsのFIRフィルタでリサンプリングできるライブラリがないかな〜なんて、、、(笑


    stressd0301さん

    設定スクリプトのページを作成いただきありがとうございます!
    こういったサポートは本当にありがたいです。
    丁寧でわかりやすく記載いただいているので、セパレート構成に取り組む方の助けになりますね。

    takoyakiさん

    ネットワークチューニングの件、ご報告ありがとうございます。
    ジャンボフレーム未対応は残念ですが、実機確認していただけたおかげでとてもスッキリ致しました。感謝いたします。
    直結の場合はtxqueuelenを気にする必要はなさそうですね。
    貴重なご報告をありがとうございました!

    byパパリウス at2017-12-30 11:50

  43. パパリウスさん
    はじめまして。
    私はSymphonicMPDを使っていましたが、Volumioでタッチパネルを使った時の操作が楽だったので、Volumioを使っています。
    元々はRPi3でVolumioを使っていましたが、もっさりしていたのでTinkerBoardで使っています。

    (フロントエンド)TinkerBoardでVolumio(AP化,タッチパネル使用)
    (バックエンド)RPi3でSymphonicMPD(DAC:Sabreberry32)
    というセパレート環境を考えています。方法を教えて下さい。
    WiFiルーターを使わずにTinkerとRPi3を直接LANで繋ごうと考えています。Tinkerの内蔵WiFiを使ってAP化したいです

    byyosemite at2017-12-30 12:02

  44. パパリウスさん
    x86用のvolumio2は、devianベースでUSBメモリ起動です。
    procinfoを見ると、プロセッサが2つ見えます。
    celeron N2820はハイパースレッディング未対応なので、今どきのPCをフロントにすると、バックに送り出すraw PCMデータの質が向上するかも知れませんね。
    障子を貼り替えたら、メインPCでvolumio2を起動し、試してみます。
    いろいろなリサンプラーも試してみたいですね。楽しみです。

    byalpaca at2017-12-30 13:49

  45. パパリウスさん、こんにちは
     ロバの耳は一人取り残されております(笑)terra berry 2 をアップデートし、aviot case 01 で組み直してやっと0.42 で音出し、音量調節までこぎ着けました。モードの切り替えも正常に動いているようで、表示用のLEDも正常点灯します。
     セパレートの夢はお正月でしょうか。SabreBerry32 もリニューアルして、セパレートはこちらで遊んでみようと思っています。こちらもハードの組み込みがやっと終了で、スタンバイ完了です。
     ところで、terra berry2 の方ですが、やはり?dsf dsd ともホワイトノイズが乗ります。0.4からログを読み返したのですが、解決策が見いだせません。ここ読めとかありましたらご教示ください。

    byロバの耳 at2017-12-30 15:00

  46. yosemiteさん

    掲示板やwikiの手順はご確認済みでしょうか?
    具体的にどの部分で躓いているのか教えてくださいませ。

    セパレート構成はとてもシンプルな仕組みで実装していますので、Tinkerでも間違いなく音出しまでできると思いますが、私はTinkerを持っていませんので、こちらでは動作確認済みの手順をご案内することはできません。
    yosemiteさんで試された手順や、エラーの内容などの情報をいただかないと、サポートのしようがありませんので、ご協力のほどよろしくおねがいいたします。


    alpacaさん

    トランスポート側でのアップサンプリングが音質向上につながるかどうかは、後段のDAC次第なのだろうと予想しています。
    何もデータを加工せずに渡した方が良いDACもあれば、前段でアップサンプリングした方がよいDACもあるでしょう。
    せっかく検証するのであれば、アップサンプリング部分も情報を集めてよりよい実装を探してみたいと思います。


    ロバの耳さん

    terra berry2のアップデートが無事に終わったようですね!
    くれないさんから新プラグインを受け取りました。
    なんとボリューム以外の設定(デジタルフィルタ等)も全て保存し、再起動時に復元してくれるようになっています。
    本日中に配信しますので、今しばらくお待ちくださいませ!

    セパレートはまだスタートしたばかりなので、混沌としています(笑
    お祭りだと思ってワイワイ参加されてください(笑

    dsf,dsdですが、テラテクノスのHPには
    「mpd.confのaudio_output{}にdop "yes"を設定してください」
    「 DXD音源を再生する場合はショートピン(SW1/SW2)の設定でPCMモードにするか、(smpdの)プラグイン設定でDACの設定をPCMin/PCMoutに設定してください。」
    という記述があります。
    私の方では動作確認できないため、テラテクノスにお問い合わせいただくのが早いかと思います。お力になれずすみません。

    byパパリウス at2017-12-30 15:27

  47. <セパレート構成テスト参加者のみなさま>

    テスト支援用のツールを更新しました。
    http://mpd.sytes.net/release/experimental/ppap_20171230.tar.gz

    変更点は解凍後にREADMEをご確認ください。
    READMEを見ながら、
    /etc/mpd.confの修正
    /home/pi/configs/mpdpre.shの修正
    /etc/asound.confの配置
    をしていただければと思います。


    これまでmpd.confのaudio_outputでpipe outputを指定しておりましたが、alsaの設定ファイル(/etc/asound.con)側でpipe outputを行う方式に変更しました。

    この結果、mpd起動時にoutputスレッドも立ち上がる動作となり、シングル構成時と同様に/home/pi/configs/mpdpre.shでoutputスレッドのリアルタイム優先度やCPU割付けができるようになりました。ついでにncatのスレッドもoutputスレッドと同じ優先度で動くようになっています。

    一点、問題がありまして、フロントのncatを呼び出しているshが、何かのタイミングでゾンビスレッドになって残ってしまうようになりました。再生には問題ないのですが、ゾンビが増え続けるのは嫌ですので、綺麗に動くように対策を進めたいと思います。

    byパパリウス at2017-12-30 15:40

  48.  こんにちは、パパリウスさん

     もの凄く素早いレスを有り難うございます。解決しました。馬鹿です。笑ってやってください。

    config.txt の設定を忘れていました。大馬鹿です。すれ汚し済みません

    byロバの耳 at2017-12-30 15:45

  49. ロバの耳さん

    解決したようで何よりです!
    私もしょっちゅうポカをやります。
    しばらく試して動かない時はぜひお問い合わせください!
    聞いた直後に自己解決することがよくありますので(笑

    byパパリウス at2017-12-30 15:55

  50. wikiの説明のおかげで、なんとか追従することができ、ありがたい限りです。
    解凍した中にあるutil_frontは、フロント側に入れれば良いのでしょうか。
    util_backendは、なんとか自力で上書きできました。

    ※sudo umount /var/lib/mpd/music/NASのコメントアウトは引き続き必要なようです

    byW.Peach at2017-12-30 18:03

  51. バックエンドの上書きができたと申しましたが、どうやら二つのディレクトリに併存しているようです。
    新しい方のppapは、sudo umount /var/lib/mpd/music/NASをコメントアウトしなくても大丈夫でした。

    再生や音質には影響なさそうなので、今回は焼き直さず放置します。

    byW.Peach at2017-12-30 18:22

  52.  こんにちは、パパリウスさん。

     セパレート構成ができたようです。フロント、バックともにsmpd、ボードはsabre32で音出しができました。エネルギーが解き放されたというかとても瑞々しさにあふれているというか素晴らしい音ですね。音が出たと言うだけではしゃいでいます。バックエンド側にはIPでアクセスできなくて正常ですよね。

    byロバの耳 at2017-12-30 21:25

  53. donuts.shop73さん

    イメージの公開ありがとうございます。例によりまして、initrd.romfsをこじ開けまして、ncatのdaemon化を勉強させていただきました。自分で色々やったのですがどうしてもdaemonになってくれなくて困ってました。頼れるのは良き師匠というわけです。ホント音も聴かずに申し訳ございません。
    ここのスレの内容と違うことなのですが、少しだけ。ご存知かもしれませんが、NanoPi-NEOのカーネルが4.14系にアップしてます。ごく最近知りました。

    パパリウスさん

    やっとパラメータいじりに着手し始めました。手始めはperiod-sizeです。これはいじりがいがありますね。表情がコロコロかわります。
    私は、シンバル、トライアングルがいかに美しく響くかで調整するんですが、どうもrpiBでは200前後が一番美しいようです。これはアンプやスピーカーにも左右されるので最適値はいくらじゃ?と問われても難しいところだとは思います。流石に、64はrpiBはcpu使用率がhtopで確認すると60%超えでして、高音がきつくかわいそうです。
    period-sizeは一度に書き込みできるサイズですよね。これが多すぎると遅延が起こる、少なすぎるとrpiに負担がかかる、みたいな感じですかね。(間違ってましたら容赦無いツッコミをお願いします)しばらくはこのパラメータに絞りまして色々な楽曲で試聴していきたいと思います。

    bytakobozu at2017-12-30 21:29

  54. <告知>
    symphonic-mpd v0.4.3 を公開しました。

    <変更点>
    Terra-BerryDAC2のプラグインに含まれるterradac_init.serviceの機能を拡充しました。ボリューム・デジタルフィルタ・サウンドモード・SRC/DACモードの各設定を保存し、ラズパイ起動時に自動設定します。



    <セパレート構成テスト参加者への補足事項>
    バックエンド側のアップデートを行う際は、
    sudo /home/pi/misc/inplace_update.sh
    を実行してください。Web UIから実行されるアップデート処理と同じ物です。

    もちろん、sudo systemctl stop coreでシングルモードに戻してからWeb UIでアップデートしていただいても問題ありません。

    byパパリウス at2017-12-30 21:44

  55. W.Peachさん

    古いツール一式の方は、ディレクトリごと削除していただいても問題ありません。

    util_frontの中身は、フロント向けのファイルです。
    フロントにもダウンロードしていただけばよいと思います。
    フロントのmpd.confの設定例と、フロントの/etc/に配置していただきたいasound.confを同梱しています。

    pipeの設定をasound.confに移した狙いは
    ・mpdのoutputスレッドの優先度設定/CPU割り当ての実現
    ・AirPlayのセパレート対応(まだ成功していませんが、、、)
    となります。

    まだまだpiped pcm audio playの実装方式は揺れ動くものと思いますが、実用化までは数ヶ月がかりで取り組む必要があるものと思っています。お好きなペースでお付き合いくださいませ!

    私個人は、セパレート構成による音質向上に満足しかけていますが、、、まだまだ向上の余地がたっぷり残っているように見えますので、正月休みで体力を蓄えつつ、前進していきたいと思います!


    takobozuさん

    period_size、buffer_size、preallocの組み合わせで、ALSAのリングバッファが構築されます。
    ポイントは

    ・バッファが十分であること
    音声の途切れなどが発生しない範囲で少ないバッファのほうが好ましいようですので、大きければ大きいほどよいというものではありません。smpdではかなり大きめに設定してあります。

    ・単位時間あたりのサイクル
    buffer_sizeに対してperiod_sizeが小さいほど細かいサイクルでバッファの読み書きを行うことになります。
    サイクルが細かすぎると、待ち時間が増えるためか、CPU負荷があがっていきます。
    CPU負荷が高くなるにつれ、音はギスギス、パキパキになる印象です。
    では、サイクルがゆっくり(CPU負荷が低い)のほうがいいかのかといえば、そうでもないようです。
    period_sizeをやや低めに設定し、若干の処理待ちが発生する程度の早いサイクルで読み書きさせるほうが、好ましいと感じています。
    smpdではCPU使用率が3〜5%程度になるようなperiod_sizeに落ち着きました。
    機種が変われば、この目安は変わるものと思いますが、period_sizeを調整する際はCPU使用率を観察しながら試聴すると変化を捉えやすいかと思います。

    byパパリウス at2017-12-30 22:03

  56. ロバの耳さん

    セパレート構成のテストに参加いただきありがとうございます!
    バックエンドの初期パラメータはかなり荒い設定ですので、パラメータ変更の操作に早めに慣れていただけると幸いです(笑

    ところで、IPアドレスでつながらないというのは、sshで繋がらないということでしょうか?

    バックエンドはavahiやWeb UIを落としてあり、smpd.localではアクセスできませんが、IPアドレスでのアクセスはできるはずです。(そうでなければ、フロントからバックエンドにつながらず、音もでないはず)

    byパパリウス at2017-12-30 22:15

  57. <セパレート構成テスト参加者のみなさんへ>

    v0.4.3へのアップデートで、
    /lib/systemd/system/core.service
    上書きしてしまったため、ncat・aplayのチューニングパラメータが元に戻ってしまっております。
    お手数ですが、パラメータ再設定をよろしくお願いいたします。
    ※次回からは上書きしないように対策したいと思います。

    byパパリウス at2017-12-30 23:32

  58. W.Peachさん

    遅くなりましたが、追加でいただいた設定を試させていただきました。
    たしかに高域の響きが抑えられ、その分低域のキレが豊かになり
    曲によっては最高の音を聴かせてくれますね。

    個人差になるかと思いますが、最初に記載頂いた設定を例えるならば、、、
    まさにライブ会場で生演奏を聞いている衝撃な音でした。
    追加で頂いた設定は、落ち着いた雰囲気のコンサートホールという印象です。
    なかなか説明するのは難しいですね。。。

    音楽の聴くジャンルにもよるかと思いますが、私個人としては最初に頂いた設定のほうが好きな音と感じました。
    ただ疲れている時などに聴いた場合、後者の音の方が聴き疲れせずに
    落ち着いて聴け、時間を忘れてしまいます。

    パパリウスさん
    アップデート、テスト支援用のツールの更新 とお疲れ様です。
    時間を見てwikiのアップデートもやっていきます。
    (音楽聴いてて寝落ちパターンが多いのですが。。。)

    bystressd0301 at2017-12-31 00:50

  59. パパリウスさん
    早速wikiへの掲載ありがとうございます。
    メインPC(i7-3770 4コア8スレッド)でvolumio2をフロントにしてみましたが、音質には差が感じられませんでした。
    元のNUCに戻し、サンプリングレートとビットの組み合わせをいくつか試してみました。
    私的ですが、sb32には192000:24:2が良い様です。
    試しにDSDを再生したところ、思わず笑ってしまいました。

    byalpaca at2017-12-31 01:54

  60. パパリウスさん
    takobouzさん

    アドバイスを頂きながらお礼も申し上げずに敵前逃亡して、しばらくの間サボって他の事をしておりました。申し訳ございませんでした。

    パパリウスさんの新プロジェクトが始まる直前に、たかじんさんが新兵器のALX03-MUSES03を発表され、どうしても気になって年内に完成をと決めておりました。何とか完成に漕ぎ着け、今はその音色にうっとりとしております。たかじんさんは例の如く、控えめにMUSES03の音を高く評価されておられますが、ALX03-MUSES03は「名機」になるのではないでしょうか。

    さて、こちらに戻ってみると、「smpd-upnpPlayerだ」と騒いでいる私の目の前を皆さんがパパリウスさんを先頭に「PCMネットワーク再生」に向かって凄い勢いで通り過ぎて行かれ、既にその姿も見えない状況になっております。漫画の砂埃を上げて集団が走りすぎる光景を思い浮かべ、不謹慎にも引き攣りながら笑うしかないと言った心境です。

    逃亡寸前はフロントのTinkerBoardにJMC+upmpdcli+polipo+mpd+ncatを突っ込み、バックエンドはPi3にsmpd0.4.2として音出しに挑戦しておりましたが、フロントmpdの「pipeが生成出来ないよ」エラーで見事に撃沈した状態でした。未だに、新smpdの音を聴けて居らず、化石化しております。

    先ずは、基本に立ち返り2台のPi3+smpd0.4.3で音出しから挑戦したいと思いますので、今後とも宜しくお願い致します。

    byとんぼのめがね at2017-12-31 09:49

  61. stressd0301さん

    サポートありがとうございます。
    私もセパレート構成は「初体験」ばかりで、目まぐるしくも楽しく開発を進めています。
    現時点のセパレート構成は、方式もチューニングも「荒削り」な筈ですが、出てくる音はシングル構成では体験できなかったものです。
    アーティストとマスタリングエンジニアの素晴らしい仕事に驚かされながら、感謝いっぱいに音楽を楽しんでいます。


    alpacaさん

    i7のPCからも音出しされましたか!
    相互接続性という意味では、とてもシンプルで強力な方式だと再認識できました。誠にありがとうございます!
    NUCとの音質差は感じられなかったということですが、どちらもフロントとしては十分なCPUパワーがあるということかもしれませんね。
    興味がございましたら、NUCやi7でレイテンシーを計測していただけると嬉しいです。(一番興味があるのは私自身だったりして。。。)
    お暇があるようでしたら、手順をご案内させていただきます。


    とんぼのめがねさん

    ALX03は完成度が高そうですね!
    時間をかけて開発されたようですが、たかじんさんのコメントからも自信のほどが伺えますよね(ニヤリ

    これまでの方法はmpdがpipe出力ありでビルドされてないとダメだったのですが、12/30にご案内した新方式だと、mpdはpipe不要になりました。

    フロントにあたるTinker側では、
    mpd.confは元のままで、audio_outputセクションのdevice指定の行だけコメントアウトしてください。

    そのあと、/etc/asound.confに
    pcm.!default{
    type file
    slave.pcm null
    file "|ncat --sctp 192.168.x.x 4444"
    format raw
    }
    を追記してください。
    (asound.confがなければ新規作成してください。192.168.x.xのところは環境に合わせてバックエンドにあたるラズパイのIPアドレスを指定してください)

    byパパリウス at2017-12-31 10:14

  62. とんぼのめがねさん
    私もTinker挫折組です。nmapを追加インストールしましたが、TinkerOS側でsctp未対応の様でした。
    Tinker版volumio2も動作不安定のため、仕方なくNUCを引っ張り出した次第です。

    パパリウスさん
    年末年始は時間ありますので、レイテンシ調査是非とも協力させて下さい。

    byalpaca at2017-12-31 12:08

  63. W.Peachさん、そして全国のAirPlay愛好者のみなさま(笑

    セパレート構成でAirPlayの音出しに成功しました!
    気持ちいぃーーー!!!!
    個人的には大変な事件ですw

    まだ手順が自動化できていませんので、整理した後にご案内するようにします。
    ここ数日、mpdオンリーの環境で欲求不満が溜まっておりましたが、晴れ晴れとした気分で新年を迎えることができそうです!

    byパパリウス at2017-12-31 13:59

  64. alpacaさん

    レイテンシの計測に使用いただくツール(cyclictest)の取得とビルドは下記の手順となります。
    計測対象であるフロント側で実行願います。

    wget https://github.com/jlelli/rt-tests/archive/master.zip
    unzip master.zip
    cd rt-tests-master
    make

    これでビルドまで完了します。
    もしビルド時にエラーがでるようでしたらお知らせください。

    音楽を再生しながら、makeしたディレクトリで下記を実行していただけませんでしょうか。

    time sudo ./cyclictest -l200000 -m -Sp99 -i100 -h30000 -N -q > /tmp/output

    データ取得にかかる時間は20秒、作成されるファイルは1MB程度です。

    大変お手数ですが、出力された
    /tmp/output
    ファイルをメールでお送りいただけないでしょうか。
    いただいたデータを元にこちらで画像ファイル化させていただきます。

    こちらのメールアドレスは別途メッセージでご連絡させていただきます。

    byパパリウス at2017-12-31 14:18

  65. パパリウスさん、こんにちは

    rpi2.volumio2---rpi3.smpd.tb2

    うまくいきました。

    iosからだとlumin も若干挙動不審ですが動くようです

    byロバの耳 at2017-12-31 15:59

  66. パパリウスさん、こんにちは

    続いて、TB2 で0.43に上げてみました。音量が100でもひじょうに小さいようです。

    /home/pi/plugins/tb2/volume.sh
    /home/pi/plugins/tb2/terradacinit.sh
    の中に"0|255"が無いようですが、、、

    byロバの耳 at2017-12-31 17:06

  67. ロバの耳さん、こんにちは。

    sabreberry32に続いて、Terra-Berry DAC2の接続報告もありがとうございます。
    フロントはvolumio2ですね!
    バックエンド側のバッファが大きめにとってあるため、再生停止や曲送りをしたときに3〜5秒程度のタイムラグが生じます。
    操作するアプリによっては挙動が不安定になるものと思います。
    うまく解消する方法があれば良いですが、現状ではまだ課題ですね。

    Terra-Berry DAC2のプラグインですが、音量調整の設定箇所が1箇所にまとめられました。

    /home/pi/plugins/tb2/tb2config.json
    というファイルに
    "volume": {
    "max": 255,
    "min": 0
    }
    というような箇所がありますので、ここで最大・最小を設定してください。
    デフォルトでは max 190、min 90に設定されています。
    音出し直後に爆音が出ないための、くれないさんの配慮ではないでしょうか(笑

    Terra-Berry DAC2プラグインの設定手順は下記にも記載しておりますのでご参照くださいませ。

    http://mpd.sytes.net/ja/support/faq/terra-berry-dac2

    byパパリウス at2017-12-31 17:14

  68.  パパリウスさん、こんにちは

     早速修正をしました。SB32の方がTB2よりもヘッドホンドライバを積んでいる分、音量が大きく取れるようです。どうも有り難うございました。

    byロバの耳 at2017-12-31 19:35

  69. パパリウス様、皆様 こんばんは。はじめまして
    おやじんといいます。
    年末バタぐるっていましたが、なかなか解決できず
    悶々とした正月になりそうです。
              (10.0.0.2)  (10.0.0.1)    (192.168.x.xxx)
    [smpd-back(raspi3)]eth0<--->eth0[smpd-front(raspi2)]wlan0
      dac:msberrydac   クロス接続

    これで音出しはできていますが
    raspi3でwifiを止めてありますので、raspi2のwlan0を
    eth1(usb-lan)に変えたいのですが、eth1で接続できず
    パラメータのチューニングまで行き着けいない状態です。
    見よう見まねでルーテイング設定などをいじってwlan0で
    接続してからeth1を接続すればeth1から操作できる段階で
    行き詰っています。
    今のraspi2のinterfacesは下のとおりです。
    間違っているところ或いは問題なく動いているinterfacesの
    内容をご教示いただければ、大変ありがたいです。
    よろしくお願いします。

    (raspi2のinterfaces)
    auto lo

    iface lo inet loopback

    auto eth0
    allow-hotplug eth0
    iface eth0 inet static
    address 10.0.0.1
    netmask 255.255.255.252
    post-up ip rule add from 10.0.0.0/30 table 100 prio 10000
    post-up ip route add 10.0.0.2 via 10.0.0.1 dev eth0 table 100
    post-down ip route del default table 100
    post-down ip rule del table 100 prio 10000

    auto eth1
    allow-hotplug eth1
    iface eth1 inet static
    address 192.168.x.yyy
    netmask 255.255.255.0
    post-up ip rule add from 192.168.x.0/24 table 200 prio 10001
    post-up ip route add 192.168.x.yyy via 192.168.x.1 dev eth1 table 200
    post-down ip route del default table 200
    post-down ip rule del table 200 prio 10001

    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet static
    address 192.168.x.xxx
    netmask 255.255.255.0
    gateway 192.168.x.1
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    wireless-txpower 5
    wireless-power off

    byおやじん at2017-12-31 19:51

  70. おやじんさん、こんにちは。

    USB-LANを追加してらっしゃるかたから情報があれば間違いないですね。

    取り急ぎ、ルーティングの確認をしてみましょうか。
    route でルーティングテーブルを確認させてください。
    eth0のgatewayは192.168.x.1を向いているでしょうか?

    eth1を指定してpingやtracerouteを実行した時、ルータの先のネットワークに到達しますでしょうか?

    byパパリウス at2017-12-31 20:50

  71. パパリウス様

    お世話になります。
    ようやく一段落して覗いてみると、セパレート構成でのAirplay!!
    Spotifyをはじめ、色々なデバイスがシームレスに楽しめますね!また、Airplayの、シングル、セパレートの比較も楽しみです。
    ※私が開発系に全く通じていないので、大変さを慮れず申し訳ないです

    stressd0301様
    設定をお試しいただきありがとうございました。私も同じ印象です。追加設定の方は、長時間ヘッドフォンつけっぱなしにしていても疲れにくいですね。

    ジャイアン様
    ブログ拝見しました。
    おかげさまで、フロント側の設定もスムースに行えました。

    byW.Peach at2017-12-31 23:20

  72. パパリウス様、皆様 新年おめでとうございます。
    早速のご教示ありがとうございます。

    eth0にgateway 192.168.x.1を設定したら、post-up,post-downを
    コメントアウトしてもwlan0で音も出るようになりましたが、
    eth1は相変わらずです。

    wlan0だけ接続したときの route -n
    Destination Gateway  Genmask    Flags Metric Ref Use Iface
    0.0.0.0   192.168.2.1  0.0.0.0     UG  303  0  0  wlan0
    10.0.0.0   0.0.0.0   255.255.255.252 U    0  0  0  eth0
    169.254.0.0 0.0.0.0   255.255.0.0    U   202  0  0  eth0
    192.168.2.0 0.0.0.0   255.255.255.0  U   303  0  0 wlan0

    上にeth1を追加接続したときの route -n
    Destination Gateway Genmask   Flags Metric Ref Use Iface
    0.0.0.0    192.168.2.1 0.0.0.0    UG   0  0 0  eth1
    0.0.0.0    192.168.2.1 0.0.0.0    UG  204  0 0  eth1
    0.0.0.0    192.168.2.1 0.0.0.0    UG  303  0 0 wlan0
    10.0.0.0   0.0.0.0   255.255.255.252 U  0  0 0 eth0
    169.254.0.0 0.0.0.0   255.255.0.0   U  202  0 0 eth0
    192.168.2.0 0.0.0.0   255.255.255.0  U  204   0 0 eth1
    192.168.2.0 0.0.0.0   255.255.255.0  U  303  0 0 wlan0

    wlan0とeth1を一緒に接続したときとeth1だけ接続したときは
    いずれもpingも通らずssh接続もできません。

    byおやじん at2018-01-01 10:37

  73. みなさま、あけましておめでとうございます。
    本年もよろしくお願いいたします。

    W.Peachさん

    ただいまAirPlayの設定を整理しておりますので、今しばらくお待ちくださいませ。
    シングル構成との比較を楽しみにしていてください。


    おやじんさん

    「eth0のゲートウェイが192.168.x.1を向いているか」と指摘しまったのですが、正しくは「eth1」にゲートウェイが設定されている必要があると思います。
    最終的には以下のようなルーティングテーブルになる必要があるのではないかと思います。

    Destination Gateway Genmask Iface
    0.0.0.0 192.168.2.1 0.0.0.0 eth1 (ゲートウェイはeth1側)
    10.0.0.0 0.0.0.0 255.255.252 eth0 (バックのNWはeth0側)
    169.254.0.0 0.0.0.0 255.255.0.0 eth0
    192.168.2.0 0.0.0.0 255.255.255.0 eth1 (フロントのNWはeth1側)

    byパパリウス at2018-01-01 17:11

  74. パパリウスさん

    0.4.3にアップデートして以降、フロント側で

    resource temporarily unavailable

    とWebUIに表示が現れ、一切の操作を受け付けな状態が発生するようになりました。arm_freq=1480で走らせている機体です。
    私が確認できた発生のタイミングとしては、以下があります。

    1. キューの再生が全て終了後、いつの間にか(きっかけ不明)
    2. 再生中にポーズボタンをクリック。再生が終わる前に(ポーズボタンがプレイボタンに変わる前に)再度クリック
    3. フロントが起動してWebUIが完全に読み込まれる前に(スクリプトが完全に動作完了する前なのかな)、WebUI上で操作

    resource temporarily unavailableが表示されるようになると、WebUIからの一切操作できなくなります。リブートやシャットダウンも、一見、正常に行われたかに見えますが、実際にはリブートもシャットダウンもされません。ブラウザで再読込させても、再読込されません。sshログイン後のリブート・シャットダウンも働きません(sshログインはできます)。物理的に電源を落とす以外に、resource temporarily unavailable状態を抜ける方法がありません。0.4.2までは見られなかった挙動です。

    以上、不具合報告です。

    byジャイアン at2018-01-01 19:37

  75. ジャイアンさん、ご報告ありがとうございます。

    pipeの設定をasound.confに移したところ、pipeが切れるタイミングでmpdのoutputスレッドがCPU100%に張り付いてしまい、操作を受け付けなくなることがあるようです。
    ゾンビスレッドの発生も元をたどると同じ原因に行き着くのかもしれません。
    asound.confを使う方式は安定性に問題があるため廃止したいと思います。取り急ぎは従来の「mpd.confにpipeを設定」する方式に戻していただけたらと思います。

    <テスト参加者の皆さんへ>
    ・フロントの/etc/rc.localは、下記の2行をコメントアウトするようにしてください。(フロントにはサウンドカードが無いため、エラーになっています)
    #echo 1537|sudo tee /proc/asound/card0/pcm0p/sub0/prealloc
    #echo 0 |sudo tee /sys/devices/platform/soc/soc\:sound/*/pmdown_time

    ・近日中に、セパレート構成向けのアップデートを配信予定です。変更多数ですが、ご了承くださいませ。アップデートにはセパレート対応のAirPlay(shairport-sync)を含みます。

    <近況報告>
    ・バックエンドをシングルコア設定で試聴しております。
    ダッシュボード画面で皆さんお気付きかと思うのですが、RPi2とRPi3のCPU0は、なぜか他のコアよりレイテンシが1マイクロ秒程度良好です。
    以前からCPU0をうまく活用したいと思っていたのですが、セパレートのバックエンドで、いよいよこのCPU0が活躍することになるかもしれません。
    もうしばらく試聴してシングルコアの優位性が確認できたら、設定手順をご案内いたします。

    byパパリウス at2018-01-01 20:45

  76. パパリウスさん、早速の対応をありがとうございます。

    pipeを元の設定に戻すということであれば、“/home/pi/configs/mpdpre.sh”の

    while [ $(pstree -ps $(pidof mpd)|wc -l) != 4 ]

    の部分の設定値も

    while [ $(pstree -ps $(pidof mpd)|wc -l) != 3 ]

    に戻す必要もあるんだろーなーと、以前掲示された設定方法を見ながら、設定しました。

    アップデートの配信を楽しみにしております。
    お正月からあまり根を詰めすぎないよう、どうかお体だけはご自愛ください。

    byジャイアン at2018-01-01 22:16

  77. セパレート構成のバックエンド<I2S版>を公開します。
    RPiでは始めてI2S-DACをさわりましたので出来は???です。
    例によってlightMPDをベースにさせていただいてますが、私が勝手にやっていることですので、単に「lightMPDがSMPDセパレート構成に対応」などと書かれるとdigififanさんに迷惑をおかけしてしまうことになりますので、ご配慮願います。

    【格納場所】
    https://drive.google.com/file/d/12GoMqkb8MYrP9zeWLpp9VgfLM6Xuz-Dk/view?usp=sharing
    【ファイル名】
    rpi2-smpdplayer-i2s-20180102.zip
    【対応機種】
    Raspberry Pi 2
    【対応DAC】
    カーネル上では以下のドライバを有効にしています。
    ・HifiBerry DAC
    ・HifiBerry DAC+
    ・HifiBerry Digi
    ・the HifiBerry Amp
    ※「HifiBerry DAC」互換のDACで動作確認しています。
    【フロントエンドとバックエンドをハブを介して接続する手順】
    デフォルトではフロントエンドとバックエンドをLANで直結する設定にしています。ハブを介して接続する場合は以下の手順でお願いします。
    ※ハブを介する場合はUSB-LANアダプターは不要です。
    1.\config.txtを変更 (SD)
     使用するカーネルをzImage.setupに変更('#'の付け替え)
    2.\conf\upload.lstを変更 (SD)
     下記行の行頭の'#'を削除
     #interfaces = interfaces.hub
    3.\conf\interfaces.hubを変更 (SD)
     環境に合わせてx, y, zを変更
    4.Rpi2にSDをセットし起動
    5.Rpi2にtelnet接続(root/パスワードなし)
    6./var/bin/mkimage.sh実行 @Rpi2
    7./var/bin/mkinitrd.sh実行 @Rpi2
     SDの\conf配下にinitrd.romfs.gzを作成
    8.7.で作成したinitrd.romfs.gzを\bootへコピー (SD)
    9.1.の戻し (zImage.playerに変更) (SD)
    ※zImage.playerカーネルを使用しない場合は5~9は不要
    【カーネルの違い】
    zImage.setup:TTYとSDデバイスを有効(telnet接続、SD読み書き可)
    zImage.player:上記を無効(いずれも不可)

    bydonuts.shop73 at2018-01-02 04:28

  78. donuts.shop73様
    フロントにRPi2&Archphileを置いて、RPi2&Sabreberry+で音出しができました。
    Archphileのシルキーな音?が濃厚に聴こえてきます。
    しばらく聴き込んでみます。
    ありがとうございました。

    byShoe at2018-01-02 08:59

  79. おやじんさん

    lightMPDでは以下の設定となっています。
    まだ、解決できていないようでしたらお試しください。
    ※ルーティングは最下部のコマンド(iptables)で行っています。

    【フロントエンド: /etc/network/interfaces】
    auto lo
    iface lo inet loopback

    auto eth1
    iface eth1 inet static
    netmask 255.255.255.0
    address 192.168.x.yyy
    broadcast 192.168.x.255
    network 192.168.x.0
    gateway 192.168.x.1

    auto eth0
    iface eth0 inet static
    netmask 255.255.255.252
    address 10.0.0.1
    broadcast 10.0.0.3
    network 10.0.0.0

    【バックエンド: /etc/network/interfaces】
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    netmask 255.255.255.252
    address 10.0.0.2
    broadcast 10.0.0.3
    network 10.0.0.0
    gateway 10.0.0.1

    【フロントエンド: ルーティング設定コマンド】
    iptables -t nat -A POSTROUTING -o eth1 -s 10.0.0.0/255.255.255.252 -j MASQUERADE
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8022 -j DNAT --to 10.0.0.2:22

    1行目: バックエンドから外部へ接続する際の設定
    2行目: 外部からの「フロントエンド(eth1)のポート=8022」への接続を「バックエンド(eth0)のポート=22」へ転送
     ※lightMPDではtelnetですので22ではなく23としています。ssh(22)でも動作するかは未確認です。

    ※接続確認がとれましたら、/etc/rc.localに設定するとよいかと思います。

    bydonuts.shop73 at2018-01-02 10:19

  80. donuts.shop73さん

    I2S版を公開いただきありがとうございます!
    本家にご迷惑がかからないよう、スレッドの先頭とWikiのトップで注意喚起をするようにいたします。

    公開いただいた版を私もぜひ利用してみたいのですが、rpi-dacのドライバを使うためにカーネルの差し替えを試してみたいと思います。
    「ハブを介して接続する手順」に沿ってzImage.setupに切り替え、カーネルやカーネルモジュール類を差し替えるという手順でよろしかったでしょうか?注意点などありましたらご教示いただけると幸いです。

    ※rpi-dacでの再生に成功しましたら、Sabreberry32のドライバもビルドして動作確認してみたいと考えています。

    byパパリウス at2018-01-02 11:36

  81. パパリウスさん

    公開しているカーネルはモジュールを無効化しています。
    よって、initrd.romfs.gzの再作成は不要です。
    ただ、カーネルのconfigを取り出すためにはtelnetでの接続が必要ですので、zImage.setupへの切替をお願いします。
    ※独自のカーネルへ入れ替える場合はモジュール類の差し替えをお願いします。(モジュールを有効にしたことがないため動くかどうかは分かりませんが)

    【カーネルバージョン】
     4.14.9 + patch-4.14.8-rt9.patch.xz
     ※rtパッチを当てていますが、「Voluntary Kernel Preemption (Desktop)」を使用しています。
     ※rtパッチは2ファイルほどはじかれてしまいましたので手作業で当てました。

    【LANの消灯】
    パッチ当てが必要です。
    以下からダウンロードしカーネルソースに当ててください。

    【格納場所】
    https://drive.google.com/file/d/1yGjaGFi7YCzSN7jmLEEG3t8zTy_LTPoh/view?usp=sharing
    【ファイル名】
    disable-rpi2-network-leds-4.13.x.patch

    bydonuts.shop73 at2018-01-02 12:05

  82. donuts.shop73さん

    情報提供ありがとうございます!
    取り急ぎ、smpdで使っているソース(4.9.47)にdonutsさんのイメージから取得したconfigを当て、rpi-dacのドライバを追加してビルドしてみました。

    smpd(マルチコア)バックエンドの音質を数段凌駕していて、感動しました!
    特に違うのは低域の質です。
    これほど音程が明確で、定位・奥行きを自然に表現する低域は未体験でした。
    音色の違いではなく、明らかに質が向上していることが伺えます。
    もちろん、中高域も素晴らしく、非常に気持ちよく自然な音場が展開されます。
    拙宅のバックエンドはdonutsさんのイメージで固定されそうです(笑

    byパパリウス at2018-01-02 16:13

  83. donuts.shop73さん

    lightMPD(upnpgw)のUSB-DAC版でお世話になっております。
    今回こちらでは、I2S版を試させていただきました。USB-LANアダプター直結方式でDACはhifiberry-dac+で問題なく動作しました。
    構成はフロントpi3(sympd)、バックエンドpi2です。
    ちゃんと理解していないため最初は戸惑いましたが、interfacesファイルの内容により、フロントのipアドレスは10.0.0.1と想定し、更にasound.confにバックエンドipを設定し無事に繋がりました。
    出てきた音には今回も大変素晴らしく満足しています。やはり、シングル構成よりはこちらの方が優れているように思いますね。本当にありがとうございました。

    byえふ at2018-01-02 16:56

  84. セパレート構成のテストに参加されているみなさま、
    donuts.shop73さんが公開してくださったI2S版バックエンドをぜひ試されてください。

    個人的な感想で恐縮ですが、ラズパイオーディオの頂点と言える音質を実現されているのではないでしょうか。
    symphonic-mpdシングル構成では全く及ばない、レベルの違う音質を達成されています。
    腹の底に届くどっしりと重量を感じるキレの良い低域。パーカッションやドラムに体が揺さぶられます。
    中高域はあくまで自然で透明感があり、混濁することなく音の重なりを緻密に描写します。

    donuts.shop73さんのSDイメージで2018年のオーディオライフを華やかにスタートしましょう!

    byパパリウス at2018-01-02 18:11

  85. donuts.shop73さんのイメージをお使いになるにあたって、私がハマったポイントをお伝えします。

    ・microSDカードのドライブ名を空欄にしておくこと

    symphonic-mpdを焼いたmicroSDは、SDカードのドライブ名が「SMPD」になっています。fat32でフォーマット後にWindowsでSDカードのプロパティを開き、ドライブ名を空にしておいてください。これが残ったままだと、起動時にLEDが7回点灯を繰り返し、いつまでたっても起動しません。
    volumioを焼いたSDカードも、ドライブ名が「BOOT」になっているかと思いますので、同様にお願いします。

    byパパリウス at2018-01-02 19:02

  86. donuts.shop73さん

    公開いただいたI2S版のSDイメージにSabreberry32のドライバを組み込んでみたのですが、私からイメージを配布してもよろしいでしょうか?

    ご意向に沿う形をとりたいと思いますので、配布方法につきましてご相談させてください。
    年始のお忙しいところ恐縮ですが、どうぞよろしくお願いいたします。

    byパパリウス at2018-01-02 20:34

  87. パパリウスさん

    SDイメージの公開の件、ぜひともよろしくお願いいたします。
    Sabreberry32のドライバは諸事情により公開されていない件
    十分承知しております。私もどうした物かと思っていたところです。
    コメント下部に2つのカーネル(player,setup)の違いについて追記しています。ご配慮いただけると幸いです。

    SDカードのドライブ名の件、私の環境では設定されていても正常に起動します、不思議ですね。ちなみに、フォーマットには
    「HP USB Disk Storage Format Tool. V2.1.8」
    を使用しています。新しいバージョンの物も出ているようですが
    不満はないためこのバージョンを使い続けています。

    【playerとsetupの違い】
    カーネルを差し替える際の注意点をもう少し。
    (telnetで接続して取り出せるのはsetupのconfigだけですので)
    ※menuconfig上の設定位置は[/]キー押下で検索できます。

    1.起動時のplayerとsetupの判断は`uname -r`コマンドの結果に
     "setup"が含まれるかどうかで行っています。
     player用は下記設定としてください。
      CONFIG_LOCALVERSION="-player"
     
    2.player用は下記の機能を無効化してください、使用しません。
     # CONFIG_TTY is not set
     # CONFIG_MMC is not set
     # CONFIG_VFAT_FS is not set

    bydonuts.shop73 at2018-01-02 20:54

  88. donuts.shop73さん

    大変素晴らしい音質のSDイメージを公開してくださり、誠にありがとうございます。
    Sabreberry32のドライバ組み込み・配布ついてご了承いただきありがとうございます。
    たかじんさんにもお伺いを立てておりますので、お返事をいただいてから配布の準備を進めたいと思います。
    取り急ぎはsetupのカーネルだけ同梱して配布し、動作に問題がないかの確認を急ぎたいと思います。
    そのあと、player用のカーネルも整備してまいります。


    セパレート構成のコンセプトを考案したとき、donutsさんがupnpPlayerとして公開されていたような極限までスリム化されたイメージがこそが、バックエンドの究極の形であろうと思い描いておりました。
    あわよくばRTカーネルやマルチコアのオーバーヘッドすら排除したものを検証したいと思っておりましたが、これほど早く「完成形」の音を聴く機会を得るとは、願っても無い幸運でした。
    重ねて御礼申し上げます。

    セパレートの開発をスタートした直後、自分にはこのようなスリムなイメージを作るスキルがなかったため、lightMPDの掲示板に書き込んで、デジファイさんとdonutsさんに共同開発をお願いしようかと思っておりました(笑

    ラズパイを使ったネットワークトランスポートの音質はそろそろゴールと考えて良いのでしょうか?
    少なくとも、セパレートを考案する前に思い描いていた音質のレベルは凌駕してしまいました(笑

    byパパリウス at2018-01-02 21:40

  89. donuts.shop73さん
    パパリウスさん

    イメージの公開をありがとうございました!にしても、私がlightMPDを使う日が来ようとは...
    RPi3を使い(なのでconfig.txtをチョコチョコっといじりました)複数のHiFiBerry DAC互換機で音出ししました。(私の勘違いもあって、無用な悪戦苦闘が)。“overlays”の中にhifiberry-digi-pro.dtboが見えたので「鳴るのか?」と期待しましたが、こちらは動きませんでした。同じカードでsympchonic-mpdと聴き比べてみようと思っていたので、ちょっと残念。現在はTera-Berry DAC2を鳴らしています。残念な子も使ってみましたが、まるでできる子のような音をたてましたw

    もしかしたらこの手順で、Raspberry Pi2用のUSB-DAC専用upnpplayerもLAN越しに動かせるんじゃね?とトライしましたが、やはりできないのですねw

    telnet自体を使うのが初めてだったので、調べものと試行錯誤で右往左往してしまいましたが、設定さえできれば問題ナシ。バッファーサイズの影響か、lightMPDの方がポーズボタンをクリックしてから再生停止までが早いです。音質は、I2Sデバイスを変更したのでもっと聴き込んでからになりますが、すでに非常に良好な印象です。パパリウスさんが「腹の底に届くどっしりと重量を感じるキレの良い低域」と言われる意味、よぉ〜く分かります!こうなると、ますますハブを介さない音出しをしてみたくなりますね。

    byジャイアン at2018-01-03 01:22

  90. ジャイアンさん、パパリウスさん

    【USB-DAC版】
    「USB-HUB Control」を無効にしました。
    バスパワーのUSB-DACもデフォルト設定で使用可能です。
    LAN越しの接続、大丈夫だと思います。
    【格納場所】
    https://drive.google.com/file/d/1kb2aGuUjiUwMHA9tE0nhdsGJH0RUA5tc/view?usp=sharing
    【ファイル名】
    rpi2-smpdplayer-usb-20180103.zip

    【I2S版】
    Digi+に必要なドライバが漏れていましたので追加しました。
    Hifiberry Digi+、Digi+ Proともに大丈夫だと思います。
    ※RPi-DACも追加しています。
    【格納場所】
    https://drive.google.com/file/d/1A8CKG6pkJ2O1WqmqtMjylWpVWFhC1Pag/view?usp=sharing
    【ファイル名】
    rpi2-smpdplayer-i2s-20180103.zip

    bydonuts.shop73 at2018-01-03 10:43

  91. donuts.shop73さん お礼が遅くなりました。
    imgの書き込みからからやり直すことにしまして、
    wlan0の設定までできたところです。
    rc.localにDisable All USB Port (Without Ethernet)が
    ありましたので、これも関係あるかもと思いましてコメントアウト
    してみましたが、eth1は相変わらず接続できません。
    wlan0で聴くことはできますので、気分転換にdonuts.shop73さんの
    イメージに挑戦してみます。
    ありがとうございました。

    byおやじん at2018-01-03 10:51

  92. donuts.shop73様

    I2S版(rpi2-smpdplayer-i2s-20180102.zip)をPI3&msberrydac(hifinerrydac+pro互換)で音出しできました。(ちなみに上流はPI3のmoode 3.84 RTカーネル)
    取り急ぎご報告します。

    bytakoyaki at2018-01-03 13:02

  93. パパリウス様
     ご無沙汰しております。bunです
     HPの旧型x86 MicroServerN54Lで運用しているNAS(FreeNAS11.1)のjail(Linuxのコンテナ相当)環境下のFreeBSD11.0 にインストールしたmpdをフロントに、バックエンドをRPi3のsmpd0.4.3にしたセパレート構成で音が出ました。alpacaさんの設定を参考にさせて頂いて176.4KHz固定でCD、DSD音源を試聴中です。フロント/バックに負荷分散することで時々発生するDSDの音切れが解消されないかと期待して試しています。
     最初pkg(バイナリ配布パッケージ)で入れたmpdにはpipeプラグインが入っていなかったのでports(ソースから自動makeする仕組みです)でpipe,soxrオプションを追加してmakeしています。それからpkgでインストールしたncatはsctpが使えないのでTCPでつないでいます。延べ半日と結構手こずらせられましたので現状ではあまりお勧めでは無いです。
    変態環境でも動作したとのご報告でした。

    bybun at2018-01-03 15:31

  94. donuts.shop73さん パパリウスさん

    pi3.smpd---pi2.バックエンド<I2S版>.Terra-BerryDAC 2
    pi3.smpd---pi3.バックエンド<I2S版>.Terra-BerryDAC 2

    上記で無事音出し出来ました。
    奥行き、定位が凄いですね。
    どちらも凄いのですが、バックエンドはラズパイ2のほうが音の立ち上がりが速く自分好みですので、こちらを使っていこうと思っています。
    それにしても、年末からの流れは凄いですね。
    盆と正月が一気にきたみたいで音楽を満喫できました。
    お二人とも本当にありがとうございます。

    bygacha202 at2018-01-03 15:53

  95. donuts.shop73さん

    ドライバ追加版をアップしていただきありがとうございます。
    拙宅の環境で問題なくrpi-dacで音が'出ております。

    たかじんさんからもお返事をいただき、sabreberry32のドライバ組み込み・配布をご了承いただきました。
    donutsさんと同じカーネル(4.14.9)で作りたいのですが、準備に時間がかかりそうですので、取り急ぎ手元にある4.9.47で公開してから考えようかと思います。
    donutsさんが配布するバージョンと枝分かれしていろんなバージョンができてしまうのも避けたいなと思っています。


    takoyakiさん

    moodeとの接続報告をありがとうございます!
    ぜひゆっくり試聴してみてください。


    bunさん

    ご報告ありがとうございます!フロントは何でもありですね(笑
    音切れの件ですが、バックエンドのCPU使用率はどのぐらいでしょうか?
    最初にセパレートを公開した時(v0.4.2)、aplayのバッファ設定(period_size)が原因でかなりCPU使用率が上がる状態になっておりましたので、念のため見直していただけたらと思います。

    なお、次のバージョンアップでmpdはfifoプラグインを使う方式にする予定です。(AirPlayのセパレート対応との兼ね合いなのですが、、、)
    まだ接続方式周りは流動的ですのでご容赦くださいませ。


    gacha202さん

    Terra-BerryDAC2での音出し報告をありがとうございます。
    バックエンドのarm_freqは900前後がちょうど良さそうですね。
    ラズパイ2が適任かもしれません!

    byパパリウス at2018-01-03 16:25

  96. donuts.shop73さん

    素早い仕事に感謝です!

    front:RPi3 symphonic-mpd ---> back:RPi3-smpdplayer-i2s + HiFiBerry Digi+ Proで音出しできました。大変にありがとうございます!

    front:RPi3 symphonic-mpd ---> back:RPi2-smpdplayer-usb -> HP-A8は、動きませんでした。USB-DAC側はロックしてますので、RPi2-smpdplayer-usbはUSB-DACを認識しているもようです。しかしLANのアクセスランプを見ていると、どうもフロントから信号を送れない(バックエンド側が受け取れない)ようです。LANの設定は、先に接続に成功した内容と同じで、LANケーブルを差し替えただけです。
    RPi2とHP-A8の間にはiUSBPowerやGEMINI、iPurifierを挟み、RPi2のバスパワーは使わない状態です。これらを外して、RPi2とHP-A8を直結すると、DACからロックすらされません。

    byジャイアン at2018-01-03 16:43

  97. <smpdバックエンドをお使いの方に>

    smpdバックエンドで
    sudo nano /etc/modprobe.d/snd_timer.conf
    として設定ファイルを開き、下記のようにコメントアウトして再起動してください。

    #options snd_timer timer_tstamp_monotonic=0

    バックエンドではこの設定がない方が好ましいと感じました。


    <アンダークロックのススメ>
    RPi3をお使いの方もバックエンドのarm_freqはアンダークロックしてみることをお薦めします。

    donuts.shop73さんのイメージは下記の設定となっています。
    arm core sdram v p i c
    900|225|450|8|6|1|1

    RPi3もこの設定を参考にしてみてください。

    arm_freqをあげると、奥行きや定位が改善する一方で、背景が騒々しくなり、低域の沈み込み・低域のキレが悪くなります。

    バックエンドではarm_freqを抑え、奥行き・定位・背景の静けさ・低域のバランスを取るチューニングが好ましいように感じました。

    byパパリウス at2018-01-03 16:49

  98. パパリウスさん

    アララララ〜、本当ですねぇ〜!
    RPi3だからとarm_freq=1200にして鳴らしてたのですが、900に変えたら一気に音がほぐれたような変化を見せました。ココに来てアンダークロックが奏功するとは。ビックリです!

    byジャイアン at2018-01-03 17:38

  99. ジャイアンさん

    USB-DACはバスパワーを使わない構成とのこと了解しました。
    初回の注意点にのみ書いておりましたが、デフォルトの設定ではUSBポートは右下のポートのみが有効になっています。もしそれ以外に接続されている場合は接続を変更して試していただけますか。

    それと、2018-01-03 10:43に公開しましたUSB-DAC版ですが、一部のファイルが古いことが分かりました、申し訳ありません。これを使用した場合、電源の外部供給なしではUSB-DACが動作しません。URLはそのままにファイルを置き換えましたので、バスパワーでもためされる場合は、再ダウンロードをお願いします。

    ※USBポートの接続場所にこだわりがある場合は、/etc/init.d/S99rc.localの変更をお願いします。

    bydonuts.shop73 at2018-01-03 18:21

  100. <Sabreberry32でセパレート構成を構築されている方へ>

    donuts.shop73さんのイメージにSabreberry32のドライバを組み込んだものをアップいたしました。

    http://mpd.sytes.net/release/experimental/rpi2-smpdplayer-i2s-sb32.zip

    Digi+のドライバは組み込んでおりませんので、Sabreberry32用だと割り切ってお使いください。
    もし音が出なかった場合はご連絡ください。

    <補足>

    ・donutsさんのイメージとはカーネルのバージョンが異なることに加え、ビルドオプション・コンパイラ等の違いがあります。donutsさんが配布しているものの方が動作中のスレッド総数が少ないです。

    ・Sabreberry32対応のカーネルはzImage.sb32というファイルになります。config.txtでzImage.sb32が指定されていることを確認して起動してください。
    なお、このカーネルはzImage.setupのカーネルコンフィグをベースにしており、telnet等が起動するバージョンとなっています。telnet等も廃したzImage.player相当のカーネルは、別途準備させていただきます。


    ・config.txtでドライバを指定する際、マスターモードを使用するときは注意事項があります。

    マスターモードはS32_LEのみを受け付けるようです。
    このため、フロント側のmpdで32bitにリサンプルした上で、バックエンド側のaplayの引数で
    -f cd
    と記述している部分を
    -c 2 -f S32_LE -r 44100
    というように修正する必要があると思います。
    -c はチャネル数
    -f はフォーマット
    -r はサンプルレートです。

    スレーブモードの場合は、aplayの引数は初期設定のままで大丈夫ではないかと思いますので、最初に音出しされる際は、まずはスレーブモードで検証いただければと思います。

    byパパリウス at2018-01-03 18:54

  101. <セパレート構成でAirPlayをご利用になりたい方へ>

    セパレート対応のAirPlay(shairport-sync)をアップしました。
    http://mpd.sytes.net/release/experimental/airplay.tar.gz

    インストール手順はこちらです。

    フロントにsshでログインし、
    wget http://mpd.sytes.net/release/experimental/airplay.tar.gz
    tar xzf airplay.tar.gz
    cd airplay
    sudo systemctl stop shairport-sync
    sudo cp shairport-sync /usr/local/bin/
    cp pipe.sh /home/pi/configs/
    sudo cp pipe.service /lib/systemd/system/
    sudo systemctl daemon-reload

    これで配置が完了です。

    続いて設定変更が2箇所あります。
    nano /home/pi/configs/pipe.sh
    で設定ファイルを開き、
    backend=192.168.x.x
    の部分をバックエンドのIPアドレスに変更してください。

    続いて
    sudo nano /etc/shairport-sync
    でshairport-syncの設定ファイルを開き、
    output_backend = "pipe";
    に変更してください。
    また、最後の方に
    pipe = {
    // name = "/path/to/pipe";
    }
    という箇所がありますので、コメントを外して
    name = "/tmp/pipeout";
    に変更してください。

    以上で設定変更は完了です。

    最後にサービスを起動してください。
    sudo systemctl start pipe
    sudo systemctl start shairport-sync

    フロントについてはpipeサービスを自動起動しても問題ありませんので、
    sudo systemctl enable pipe
    で自動起動を有効にしてください。


    <補足>
    pipeサービスは、名前付きパイプ(/tmp/pipeout)に書かれたPCMをncatでバックエンドに送り込むサービスです。
    shairport-syncから名前付きパイプ(/tmp/pipeout)にPCMを書き込むようにしています。

    byパパリウス at2018-01-03 19:16

  102. 一点、忘れていました。

    セパレート対応のAirPlayをインストールされる方は、
    mpd.confのaudio_outputを

    audio_output {
    type "fifo"
    name "FIFO"
    path "/tmp/pipeout"
    }

    のように変更してください。

    byパパリウス at2018-01-03 20:13

  103. donuts.shop73さん

    丁寧な説明をありがとうございます。

    右下のPort 5だけが使えることは承知しておりました。実際にPort 5に接続させた時だけ、USB DACが192kHzでロックするのも確認しました。
    バスパワーは使用しませんが、念のために改めてファイルをダウンロードし、再度トライしましたが、やはり鳴りません。LANには設定通りにぶら下がっているのも確認しました。
    フロント側も、プレイボタンクリック後、ポーズボタンに変わりますが、しばらくするとプレイボタンに戻ります。フロント側LANのLEDを見ていても、最初こそ少し点滅するものの、データの送受信を示すような点滅には至りません。

    以上の挙動は、前回と同じです。もしかするとUSB DACとの相性のようなものがあるのかなと疑っております。

    近日中にUSB-LANアダプターを入手しますので、I2S版も含め、そちらで試したいと思っています。

    ところでLANを介さない場合は、フロント側には/conf/interfacesに記述されている“10.0.0.2”をデータ送出先として記述することで、バックエンド側をぶら下げることができると認識しているのですが、これで間違いないでしょうか?

    byジャイアン at2018-01-03 20:13

  104. パパリウス様
    早速rpi2-smpdplayer-i2s-sb32を試させて戴きましたが音が出ません。
    telnetで入ってtopを見ると
    /usr/bin/ncat --recv-only ・・・
    との表示があるだけで、
    /usr/bin/aplay -D hw:0,0 -・・・
    がありません。
    donuts.shop73さんの手順の通りにやれているとは思うのですが。。

    byShoe at2018-01-03 20:21

  105. donuts.shop73さん

    nzatoです

    front:RPi3 symphonic-mpd ---> back:RPi2-smpdplayer-i2s + HiFiBerry Digi+ Proで音出しできました。

    config.txtの中のI2SDACの設定で迷いました。

    synphonic-mpdのWeb I2S DAC対応表から引用することで、無事に、綺麗な音が出ました。

    config.txtの設定

    # I2S DAC
    #dtoverlay=hifiberry-dac
    dtoverlay=hifiberry-digi-pro

    bynzato at2018-01-03 20:56

  106. Shoeさん

    /usr/bin/aplay -D hw:0,0 -・・・
    は再生出来ている時にのみ表示されます。
    まずは以下2点の確認をお願いします。

    1.使用カーネルのバージョン確認
     「uname -r」コマンドを実行すると「4.9.47-rt37-setup」と表示されますか?
    2.デバイスの認識状況
     「aplay -l」コマンドを実行すると「Sabreberry32」の情報が表示されますか?

    bydonuts.shop73 at2018-01-03 20:59

  107. パパリウスさん

    チョット苦労しましたが、バックエンド側lightMPD I2S版にHiFiBerry Digi+ ProでAirPlay鳴りました。アァ、色々苦労した...

    Linux初心者の私は、2ヵ所で罠にはまりました。

    説明に...

    > sudo nano /etc/shairport-sync
    > でshairport-syncの設定ファイルを開き、

    とありますが、正しくは...

    sudo nano /etc/shairport-sync.conf

    ですね。ココはすぐに気づけました。


    > output_backend = "pipe";
    > に変更してください。

    とありますが、この行のコメントアウト「//」も削除する必要があるんですね。
    コメントアウトとえいば「#」だと思っている初心者には、罠でした。

    他の部分は説明の通りで、AirPlay再生可能になりました。


    しかし、音がイイですね!
    symphonic-mpd単機仕様よりも、よほど再生音品質は上だと思います。
    これがストリーミングの音だなんて...
    ありがとうございます!

    byジャイアン at2018-01-03 21:34

  108. ジャイアンさん

    【USB-DAC】
    状況、認識しました。
    1.フロント側の操作で「しばらくするとプレイボタンに戻ります。」とありますが、「しばらく」とはどの程度でしょうか。10秒程度ですとフロントエンドとバックエンドで通信が確立されない用に思われます(応答待ちでタイムアウト?)。1秒程度ですとお互いの設定に不一致があるように思われます(エラーが返っている?)。
    2.念のため「aplay -l」コマンドでデバイスの認識状況の確認をお願いします。
    3.「USB DACが192kHzでロック」とありますが、再生されていない時のデフォルト値でしょうか。再生が開始されるとそのフォーマットに応じた表示となるのが通常でしょうか。

    【USB-LANアダプター】
    「2018-01-02 10:19」のコメントにlightMPDのupnpgw構成での設定内容を載せています。SMPDのセパレート構成(直結)でもこの構成を利用させてもらうのがよいと考えていますので、その場合は「/conf/interfaces」を使うことになります。
    また、フロントエンドもこれに合わせる必要がありますので、SMPDをフロントエンドとした場合の設定方法についてはパパリウスさんと相談し進めていく事になるかと思います。何かしらの指針はあった方が良いと思いますので。

    bydonuts.shop73 at2018-01-03 21:52

  109. Shoeさん

    Sabreberry32をお試しいただきありがとうございます。
    音出しに至らずすみません。こちらで用意したファイルに何か問題があるものと思います。

    aplay -l でsabreberry32の情報が表示されるようでしたら、
    ドライバが正常に動作するか確認したいので、バックエンド側でwavを鳴らしていただければと思います。

    フロントがsmpdの場合でしたら、

    フロントで
    cd /home/pi/misc/
    ncat -l 4001 < R2D2_000.wav

    バックエンドで
    cd /tmp/
    ncat 192.168.x.x 4001 > out.wav
    Ctrl-C でncatを止め、
    aplay -D hw:0,0 out.wav
    で音がでるか確認してみてください。

    音が出なければドライバ周りの不備、
    音が出れば、フロント-バック間の通信の不備ということになるかと思います。


    nzatoさん

    Digi+Proでの動作報告をありがとうございます。
    お気付きの点がありましたらご連絡くださいませ。


    ジャイアンさん

    ご指摘ありがとうございます。
    やはり記述ミスがありましたね。フォローありがとうございます。


    donuts.shop73さん

    サポートいただきありがとうございます。
    sabreberry32版、私の方でなにかミスがありそうです(汗
    フロント-バックエンド直結時のネットワーク設定は、upnpgwの設定例を元にテンプレート化したほうがよさそうですね。検討したいと思います。

    byパパリウス at2018-01-03 22:07

  110. パパリウス様
    コメントありがとうございます。bunです
     DSD再生時の音切れ問題ですがconfig.txtがデフォルト設定でシングル構成のDSD再生時のCPUは10%強(稀に音切れ)、セパレート構成のバックエンドで7%程度でした。(数時間では音切れ観測できず)
    セパレート構成でもarm_freq/core_freqクロックダウンしてバックエンドのcpu負荷が10%程度に大きくなると音切れが稀に発生する様です。状況証拠しかありませんが最適クロックをデフォルト値近辺で探って行こうと思います

    bybun at2018-01-03 23:07

  111. donuts.shop73さん

    【USB-DAC】
    1. 10秒程度でプレイボタンに戻る感じでした。現在は、AirPlay再生設定の影響でしょうか、プレイボタンには戻らず、ずっとポーズボタンのままです。フロント側LANのLEDを見ても、等間隔で明滅を繰り返し(曲再生中のそれと比べて明らかにユックリです)ます。
    2. aplay: device_list:268: no soundcards found...です。
    lightMPD-I2Sを走らせているデバイスと繋がっている時も、同じリプライです。
    3. Raspberry Pi2/3からHP-A8が認識されたときに“192kHz”と表示されるのは、他のディストリビューションにも共通した現象です。実際に曲再生が始まれば、再生音源のサンプリング周波数の表示に変わりますが、今回のケースでは周波数表示に変化はありません。DACの挙動を見る限り、Raspberry Piから再生データが送られていないと考えられます。

    以上のような挙動を観察していて、どうもフロント側とコネクションが成立していないように感じてます。

    【USB-LANアダプター】
    よろしくお願いいたします。直結構成には、とても期待しています。


    パパリウスさん

    いずれもLinuxに習熟している人であれば、躓きようもないところなんだろうなと思っています。それが分かるようになっただけ、私も少しだけ理解が進んでいるようです。

    byジャイアン at2018-01-03 23:13

  112. パパリウスさん
    sabreberry32版自体には問題はありませんでした。
    苦労点をメモします。
    1.WindowsPCでSDカードのファイルを編集するときは、notepad(メモ帳)を使う。wordpadで編集すると動かなくなります。config.txtをnotepadで開くと改行されていない状態に見えますが、矢印キーで右に進むと改行コードの場所で足踏みするのでわかります。notepadで編集後、wordpadで正しく編集できたことを確認すると良いです。
    2.\conf\upload.lstを変更するとき、#smpdplayer.confの#を削除する。
    3.smpdplayer.confでAPLAY_ARGS=の"-f cd"を"-f S32_LE -r192000 -c2"に修正する。-rはフロント側のレートに合わせ、S32_LEは固定でフロント側の送出を32bitにする。

    byalpaca at2018-01-03 23:20

  113. ジャイアンさん

    似た状況を再現できました。

    「LANケーブルを差し替え」とありますが、「ハブ側のポートを固定して、他方をI2S版、USB-DAC版、2台のラズパイで差し替え」で合っていますか?

    私の環境において上記構成でのLANの差し替えを行ったところ、差し替えた直後は「10秒程度でプレイボタンに戻る」事象が発生しました。差し替えから20秒程度の間を空けると再生可能でした。

    これはHUB、あるいはフロント側がMACアドレスを一時的に保持していることに起因しているものと思われます。
    ・LAN差し替えから時間を空ける
    ・バックエンドのIPアドレスを個別に設定し、フロント側でも向き先を変える
    で状況が変わりますでしょうか。

    bydonuts.shop73 at2018-01-04 03:58

  114. donuts.shop73様、パパリウス様
    お騒がせ致しました。
    ご指摘戴いてaplay -l を試したらSB32を表示しませんでしたので、改めてconfig.txtを見直しましたら、最終行でhifiberry-dacを指定しておりました。
    誠に恥ずかしいミスで、申し訳ない。
    とってもステキな音色が流れ出しました。
    ありがとうございました。

    byShoe at2018-01-04 05:00

  115. パパリウスさん

    nzatoです

     AirPlay、バックエンド側lightMPD I2S版で音出しできました。

    tar xzf airplay.tar.gz で gzフォーマットでないとエラーが出て先に進めなくなりました。

     Windowsの解凍ファイルなら解凍できるので、Windowsで解凍して、WinSCPでRAMディスクに送り込んで、/homeにコピーして作業を進めることができました。

     今まで以上に、静かで奥行きのある音ですね。

    bynzato at2018-01-04 10:09

  116. おやじんさん

    横から失礼します。eth1(USB-LAN)はまだ繋がりませんでしょうか。

    USB-LANアダプターをフロントに接続した状態で以下のコマンドで
    どんな表示となりますか。

    ifconfig

    lsusb

    お使いのLANアダプターのチップが、smpdで使用可能なものなのか
    が気になります。

    byえふ at2018-01-04 11:18

  117. スレッドにお集いのみなさま

    新年あけましておめでとうございます!
    年初から大盛り上がりですね!
    今年も大きな発展がありますよう祈願いたしております。
    よろしくお願いいたします。

    donuts.shop73さま
    パパリウスさま

    light MPD I2S版へのご尽力、おつかれさまです。ありがとうございます。試してみたいのですが、とても初歩的なところで躓いております。
    公開されているファイルは、imgファイル形式ではなく、zip形式ですよね。解凍して、フォルダーからimgファイルを作成することや、またはZIPをそのままSDに書き込む段階で躓いています。
    imgファイルの作成には成功できず、zipから書き込めるツール(Etcherというツールです)でもうまく行かずで、立ち往生してしまいました。これから先が思いやられますが、お助け頂けませんでしょうか。よろしくお願いいたします。

    byeiyer-music at2018-01-04 11:40

  118. えふさん こんにちは。
    usb-lan USB-LAN100R wlan0 WN-G150UMK で特になにもせずに
    認識しています。ただ、smpd-front(raspi2)でwlan0だけで起動した後
    usb-lanを追加しないとだめで、usb-lanで起動するとeth0に被っているようで
    pingもだめ、sshも接続できない状況です。

    [ ifconfig ]
    eth0 Link encap:Ethernet HWaddr b8:27:eb:24:13:68
    inet addr:10.0.0.1 Bcast:10.0.0.3 Mask:255.255.255.252
    inet6 addr: fe80::818:dd22:53ee:c86f/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1162008 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1504845 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:2000
    RX bytes:57980758 (55.2 MiB) TX bytes:2150674575 (2.0 GiB)

    eth1 Link encap:Ethernet HWaddr 00:22:cf:f9:5b:f0
    inet addr:192.168.2.xxx Bcast:192.168.2.255 Mask:255.255.255.0
    inet6 addr: fe80::222:cfff:fef9:5bf0/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:9 errors:0 dropped:0 overruns:0 frame:0
    TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:702 (702.0 B) TX bytes:8502 (8.3 KiB)

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:88 errors:0 dropped:0 overruns:0 frame:0
    TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1
    RX bytes:7408 (7.2 KiB) TX bytes:7408 (7.2 KiB)

    wlan0 Link encap:Ethernet HWaddr 34:76:c5:5d:55:fd
    inet addr:192.168.2.xxx Bcast:192.168.2.255 Mask:255.255.255.0
    inet6 addr: fe80::8c1f:cafd:5c38:7633/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:369431 errors:0 dropped:16 overruns:0 frame:0
    TX packets:146452 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:480202316 (457.9 MiB) TX bytes:14642786 (13.9 MiB)

    [ lsusb ]
    Bus 001 Device 005: ID 0bda:8152 Realtek Semiconductor Corp.
    Bus 001 Device 004: ID 04bb:094c I-O Data Device, Inc.
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
    Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    byおやじん at2018-01-04 12:06

  119. eiyer-musicsさん

    imgの作成などは不要です。
    以下手順を試してください。

    1.microSDをFAT32でフォーマット
     私は「HP USB Disk Storage Format Tool. V2.1.8」を使っています。
    2.解凍して作成されたフォルダの中身をmicroSDへコピー
     microSDのドライブ直下にbootフォルダやconifg.txtファイルなどが見える感じです。
    3.config.txtやconfフォルダ内のファイルを環境に合わせて変更。
    4.ラズパイへ挿入し起動。

    bydonuts.shop73 at2018-01-04 12:24

  120. donuts.shop73さま

    迅速なご回答ありがとうございます。

    そのままコピーで起動できるんですね!

    interface.hubの設定で、x,y,zは、
    私の環境では、フロントが192.168.10.8、バックが192.168.10.4ですので、x=10 y=8 Z=4で大丈夫でしょうか? 重ね重ね初歩的な質問ですいません。
    改めてよろしくお願いいたします。

    byeiyer-music at2018-01-04 12:36

  121. donuts.shop73さま
    パパリウスさま
    ジャイアンさま

    おかげさまで、音出し成功しました!
    こんな、高みがあったとは!

    x,y,zですが、 私の環境、フロント:192.168.10.8、バックエンド:192.168.10.6では、 x=10,y=6,z=8、ですね。

    私の環境は pi3.smpd0.4.3---pi3.lightmpdi2s.tb2 です。(書式合ってますでしょうか?)

    ジャイアンさんが、Raspberry 3用にconfig.txtをチョコチョコっと変えたとありましたが、device_tree=/boot/bcm2710-rpi-3-b.dtb、と変更で合ってましたでしょうか?

    byeiyer-music at2018-01-04 13:49

  122. おやじんさん

    lsusbの結果は、Realtek 8152/8153互換ということで、Linuxでは
    従来からサポートされている標準的なチップですので問題ないよう
    ですね。当方で使用しているものも実際そうですし。

    >usb-lanで起動するとeth0に被っているようで
    正にそのようで、これではまずいですよね。この場合、普通は無線子機を外せばよいと思うのですが…

    >ただ、smpd-front(raspi2)でwlan0だけで起動した後usb-lanを追加しないとだめで
    これの意味がよく分からないのですが(^^;、追加でお願いです。

    各LANアダプターのauto記述(例:auto eth0)をすべてコメントアウトしたら、挙動が変わりますでしょうか。

    byえふ at2018-01-04 14:17

  123. eiyer-musicさん

    > device_tree=/boot/bcm2710-rpi-3-b.dtb、と変更で合ってましたでしょうか?

    その通りです。この記述で/bootのデータベースを読みにいっていると思いましたので、既存の記述をコメントアウトして、RPi3用データベースを読みにいく記述を追加しました。元の記述をコメントアウトで残したのは、機能上の意味はありません。単に自分の作業の履歴を残すためです。
    lightMPDは起動ディスクを作りやすい(コピーするだけ)だけではなく、バックアップも取りやすい(やはりコピーするだけ)。管理がしやすくて助かりますね。


    ア〜、なんか話の流れにFront --- Back直結がチラホラと...皆さん、気が早いなぁ〜。私は今日やっとUSB-LANアダプターを注文したばかりだってのに...(ヒトノコトハイエナイ)
    donuts.shop73さんも仰ってますが、この辺のフロント側仕様は、今後、具体的な指針が示されると思います。色んな意味で仕様はまだ流動的な段階ですから、そんなに焦る必要はないんじゃないかと老婆心ながら思います。

    byジャイアン at2018-01-04 15:51

  124. えふさん お尋ねいただいた件です。

    eth0はsmpd-back(raspi3)のeth0とクロスケーブルで直結しているので
    usb-lanだけセットしてeth1から入りたいのですが、この場合eth0のポートに
    eth1が被っているようでeth1の固定ipでは接続できません。
    usb-lan,wlan0を一緒にセットして起動した場合は、eth1,wlan0いずれでも
    接続できません。
    wlan0だけセットした場合はwlan0で接続できて、eth0とwlan0が見えます。
    これにusb-lanを追加すると、eth0,eth1,wlan0が見えて、eth1の固定ip
    wlan0の固定ipのいずれでも接続できます。
    network/interfacesは、どれもauto xxxはコメントアウトして
    allow-hotplug xxxになっています。

    wlan0ではeth0が生きてusb-lanでは同じようにできないのが分かりません。
    よろしくお願いします。

    byおやじん at2018-01-04 16:13

  125. パパリウス様

    旧年中はお世話になりました。引き続き宜しくお願い申し上げます。

    まずは、セパレート版Airplayですが、Spotify(320KbpsMP3)だと、本当に気に入ったものだけCD購入。で済みそうなくらい、十分な音が出ていますね。新規開拓がより気持ち良くなりました!
    最初音が出ず焦りましたが、なんとか自力で対応できました。少し慣れてきたようです(笑)

    lightMPDも使ってみました。吊るしでこの出音は凄いですね。しかし、私はsmpdのパラメータ弄りが好きなので、RPi3+smpd----RPi3+smpd+msberryに戻っています。
    バックエンドのクロックは色々試して、現在は1150で落ち着いています(900も試しました)。他のパラメータも色々試し、セパレート特有のタイムラグもほとんど気にならなくなっています。
    こうなるとArch版smpdへの期待が膨らむばかりで・・・(笑)

    byW.Peach at2018-01-04 19:52

  126. おやじんさん

    >eth0はsmpd-back(raspi3)のeth0とクロスケーブルで直結しているので
    これの意味は、元々のLANポート同士を接続しているということでしょうか。そうであるなら、以下のようにするとどうでしょうか。

    フロント(pi2)のLANポートには家庭内LANからのケーブルを接続、USBポートにUSB-LANアダプターのみを接続し、更にこのアダプターに繋げたクロスケーブルをバック(pi3)のLANポートに接続する。もちろん、/etc/network/interfacesの内容は変更せず現状のままとする。

    当方の場合はこれで動作しているので、これ以外の状況である場合はちょっと分かりません(^^;

    byえふ at2018-01-04 19:53

  127. donuts.shop73さん

    わざわざ検証していただき、本当にありがとうございます!!

    > 「LANケーブルを差し替え」とありますが、
    > 「ハブ側のポートを固定して、他方をI2S版、
    > USB-DAC版、2台のラズパイで差し替え」
    > で合っていますか?

    ハイ、そのようにしておりました。
    ご指摘のように、差し替えてから時間を空けてもみましたが、やはり再生できません。
    また、バックエンド側のIPアドレスを変更し、二台を同時に別のポートにぶら下げた状態とLANケーブル差し替えによる同一ポート利用の状態で、フロント側の設定変更も試しました。

    フロント側で不具合が発生したので、SDカードを焼き直した上での再検証になりました。v0.4.3です(なぜか前回と違う挙動になりました)

    AirPlay設定前:プレイボタンをクリックしてもポーズボタンに変わらない(mpdリスタート済)

    AirPlay設定後:プレイボタンをクリックすると、ポーズボタンに変わり、再生バーも動くが、データがバックエンドに流れている様子がない(ハブのアクセスランプで確認。最初だけアクセスを試みるような明滅が見られました。pipeリスタート済)

    この間、USB-DACの挙動・表示(192kHzのまま)に変化はありませんでした。

    > ・LAN差し替えから時間を空ける
    > ・バックエンドのIPアドレスを個別に設定し、フロント側でも向き先を変える

    以上、両ケースにおいて、変化はありませんでした。

    今件はこのぐらいにして、USB-DAC用smpdplayer利用は、フロント側直結で改めてトライしたいと思います。

    byジャイアン at2018-01-04 20:03

  128. そろそろスレッドが伸びきってきましたので、次のスレッドを立てたいと思います。

    bunさん

    DSD再生の音切れの件、うまく解消するとよいですね。
    ボトルネックがCPUなのか、ネットワークなのか、または別の問題なのか、その辺りが切り分けできるといいんですけどね。
    ・period_sizeを大きくする
    ・preallocとbuffer_sizeを大きくする
    ・mpd側のaudio_buffer_sizeを大きくする
    これらを個別に試して、音切れの発生頻度に変化があるものを見つけることができれば、ボトルネックのヒントになるかと思います。


    alpacaさん、Shoeさん

    sabreberry32版の動作確認をしていただきありがとうございます!
    ドライバの組み込み手順は問題ないことがわかりましたので、donutsさんに倣って、整備していきたいと思います。


    nzatoさん

    airplayの動作報告をありがとうございます。
    gzの件もご報告ありがとうございます。
    セットアップが成功されたようでなによりです!


    eiyer-musicさん

    donutsさんのバックエンドは驚きの音質ですよね!
    重量感とキレのある音に魅了されっぱなしです。
    たかだか20ちょっとのスレッドで動作しているという事実が私には未だに信じられません。smpdはあと100スレッドもカットしなければ追いつけません!!(笑


    おやじんさん、えふさん

    ネットワークのサポート、どうもありがとうございます。
    あまりご支援できず申し訳ないです。


    W.Peachさん

    本年もどうぞよろしくお願いいたします。
    セパレートのAirPlay、すごくいいですよね!
    smpdバックエンドもチューニングでバランスの良い音が聞けるかと思います。
    私はdonutsさんのバックエンドを聴きながら、最終形はdonutsさんのイメージの延長線上にあるんだろうなと予感しております。

    byパパリウス at2018-01-04 20:43

レスを書く

レスを書くにはログインする必要があります
ログインする