Aug 24, 2021
PPAP Back-Endをタンデム化
まず、前のエントリーから引用する。
- 1)NAS音源 > 2570p > apu2
- 2)NAS音源 > Daphile > 2570p > apu2
- 3)Deezer > Daphile > 2570p > apu2
- 4)NAS音源 > 820G2 > apu2
- 5)NAS音源 > Daphile > 820G2 > apu2
- 6)Deezer > Daphile > 820G2 > apu2
3)< 2)≦ 1、5、6)< 4)、こんな感じ。
引用内容から導かれる仮設。
- 2570pよりも、820G2のほうが音が良い
- mpd/upnpサーバーを、LANの経路上、PPAP Back-Endから離した方が音が良い
- upnp(upmpdcli)を使うより、使わないデータ伝送の方が音が良い
さて、その後どうだったか。
まず、Back-Endの近くにあった2570pを、820Gの傍に移動して音を比較。
結果、両機種の音に僅かな差異はあるような気がするものの、音質は同等と結論した。
こうした過程で、移動した2570pの音が改善したことが分かった。
一つ目の仮説は否定され、二つ目の仮説は正しいと思われることが分かった。
さて三つ目の仮説は、一つ目の仮説が反証され二つ目の仮説が実証される過程で再検証された、といっていいのかな?
どうもやはり、upnp/upmpdcliを経由するよりも、NASやCDから直接(と言っていいのか?)、mpdの入力プラグインに音声データを入力する方が音が良い。
PPAPでは、mpdサーバーから、DACに信号を送る機能を分離している。
DACに信号を送る機能はPPAP Back-Endが受け持っているが、Front以前の状況によって音が変るということは、遠く家庭内LAN経由で複数のハブを介して離れていても、Frontの負担がBack-Endに影響しているということだ。
僕としては、upnp経由の音(Deezer hifi / Daphileの音源)を、mpd単体の音と同等にしたい。
upmpdcliといえば、過去にはpolipoを組み合わせて高音質化する手法を見たことがあった。
polipoは「キャッシュウェブプロキシ」というもので、キャッシュや負荷を制御することでmpdの負担を減らす、ということだった?と思う。
当時、よく分からず、今もよく分かっていない。
簡単にできたというネット上の書き込みもあるのだけど、よく分からないのでこの手法は使いにくい。
そこで思い付いたのは、PPAP Back-Endを2連直列、タンデム化するというアイデアだ。もともとPPAP自体がタンデムシステムなので、Back-Endがタンデムということは三人乗りになるわけだけど。
前回、ノイズ源を減らすとか言いながら、また増やしている。
下図のような感じに。
出来るだろうか。

最初は、Back-End化したraspberry pi B+ / piCore7で試した。
設定ファイル「bootlocal.sh」には、「/usr/local/bin/ncat -kl 4400 -e "/usr/local/bin/aplay -D hw:0,0 -M --period-size=1024 --buffer-size=16384 -t raw -f S32_LE -r768000 -c2"」というようなコマンドが書き込まれていて、OS起動時に読み込み実行され、PPAP Back-Endとして機能する。
これを下記のように書き換える。
sudo vi /opt/bootlocal.sh /usr/local/bin/ncat -kl 4400 -e "/usr/local/bin/ncat 192.168.1.89 4400" filetool.sh -b sudo reboot
こんな感じに、中継機として設定してみる。
コマンドの記述は思い付きである。
ちょっと思い付きというのは乱暴なので書き直し。Frontのmpd.confのpipe出力に記載している内容を参考に、というか、そのまま引用して書き加えている。
要は、ncatで受けてaplayに送ってDACに出力していたのを、ncatで受けて再度ncatから送り出すようにした。上の例だと、ipアドレス「192.168.1.89」のPPAP Back-End、つまり2台目のBack-Endにデータを送るということだ。
PPAP Frontのほうも、中継機のipアドレスにデータを送るようにmpd.confを書き換え、mpdを再起動。
これで動かしてみたら、、、普通に音が出た。我ながらびっくりした。
さて、44.1/16のデータ転送では音が出たが、Ras pi B+ではスペックが足りない。192kHzでは使えなかった。音が途切れるしクライアントの操作から出音が5~6秒以上遅れる。
そこで、前回エントリー時にシステムから外して余っていたapu2c4を復帰させた。もともとBack-Endとして動かしていた機体なので、再設定も簡単。
ハードのスペックが上がったら、前述のような問題は全くなくなった。768kHzでもストレス無く使える。
音はどうか。
結論から言えば、目論見どおり、upnp経由のDeezer hifi / Daphileの音を改善できた。
S/N、階調が深まり、弦楽器の倍音、余韻が細やかに減衰する。パーカッションの基音が聴き取りやすい。環境音の鳥の声や、録音時に紛れ込んだノイズのリアリティがアップする。一皮剥けて見通しが良くなった。
mpd単体の音と比較して差異が全くなくなったとは言えない感じだけど、かなり差が縮まった。ブラインドで区別する自信はない。
mpd単体再生で、Back-Endが1台のときと2台のとき、変化はどうなのかということになると、かなり難しい。差異を聴き取れない。
しかし、こんなところに改善を目指せる余地が残っていたということに驚いた。
やってみるものである。
あとは、追加したBack-Endを何処に設置するのがいいかの検討が残っている。追々やる。
今日からパラリンピックが始まる。まったく世界はカオスだ。感染回避を心掛けるのみならず、可能な限り身辺安全を確保し、病院のお世話になるような怪我や体調悪化を、ひたすら回避する。命に関るようなことがあっても、現状、病院が守ってくれる余力は限られているのだから。
諸兄も頑張ってください。ご自愛を。
writeback message:
Caution!!!
Now, Anyone cannot post a comment.