Symphonic-MPDを試す(その15):UPnP続編
駄目元でスタートしたSymphonic-MPD UPnP化であるが、何とか成功し音出しが出来るようになると益々欲が湧いて来てしまう。だが、mpd.conf上のaudio_buffer_sizeなどの設定を多少弄った程度ではプチノイズは残念ながら取り切れない。プラットフォームが3Bなので、CPU速度あるいはLAN速度が関係している可能性もあるのだが、片やlightMPDでは全く安定して再生してくれる。その違いの理由はいろいろあるとは思うのだが、構成的に異なっているのはlightMPDではpolipoを使っている点である。polipoはmpdがHTTPによって、音源を読み出す時のキャッシュとなる機能を提供するものであるが、音源データは連続的なものなので、必ずしもキャッシュが必須とは言えない。だが、メモリ上にキャッシュすることによって先読みの効果とデータ受け渡しの平準化も期待しうるので、ここはやはり試してみないと何とも言えない、ということになる。
だが、正直polipoについても良く判っていない。upmpdcliとpolipoの設定を連携させる必要もあるのだが、実際にやったことなど一度もないので、どういうパラメータ、設定項目があるのか、それがどのような関連性を持っているのか、理解できていない。幸いにも、polipo自体はSymphonic-MPDにデフォルトでインストールされているので、追加インストールが不要なのはありがたい。
ここも見様見真似であちこちの情報や設定ドキュメント等を徘徊しながら、upmpdcliの設定(注記2)、polipoの設定(注記3)を行ってみた。一見良さそうに見えるのだが、残念ながらmpdが音楽再生してくれない。polipoはちゃんと起動させてあるのだが、再生指示をしてもpolipo経由では音源データをmpdがHTTP GET出来ていないようなのだ。だが、どこに設定不備があるのか現状追い切れていない。やはりこの辺りはもう少しスキルレベルを上げないと、、、何か根本的なところが抜けている、あるいは間違ってしまっているのかもしれない(なお、mpd.confのproxy設定のみをコメントアウトすれば(注記4)、polipoを経由しない再生は問題無くできる)
(2020年2月24日追記)
標準的なRaspbian Buster Lite環境でupmpdcli、polipo、mpdの連携をテストしたが、この環境では問題無くキャッシュサーバーが稼働することを
確認
した。Symphonic=MPD環境の場合は何か固有の条件があるのかもしれない。(追記終わり)
大変残念ではあるが、現状ではSymphnonic-MPD UPnP版をプツノイズ皆無の状態とし、横並び評価できる状況まで持っていくことが出来ていない。なお、Symphoic-MPDの名誉の為に申し添えるが、本来のStand Aloneの構成では全くこのようなことは無く、V0.9.3で相変わらず素晴らしい音を聴かせてくれる。また、Stand AloneモードとUPnPモードはupmpdcliのenable、disableによって簡単に行ったり来たりできることも確認したので、Stand Aloneモードで音楽を楽しみつつ、UPnPモードでのチャレンジも継続したいと思う。また当初感じていたUPnPモードでの音であるが、Timer Slackという設定(注記1)を変えることによってしっかりと落ち着いた音になることを追記しておく(プチノイズは取れないが)。
(注記1)mpd.confでその他に弄ってみた設定:
Symphonic-MPD用のmpd.confでの設定には、Timer Slackという項目があり、ここを変更することにより、出音のイメージがかなり変わると思う。V0.9.3の設定は「10000」となっているのだが、UPnPモードの場合は「50000(mpdのデフォルト?)」に変更することによって音の切れ込みや密度感をある程度残したまま音に落ち着きが出てくるようだ。UPnPモードにおいては、この設定を変更した音の方が当方の好みである。Stand Aloneモードであればここは戻しておいた方が良い。
# timer slack setting
io_timer_slack_ns "10000" #default:50000(=50us)
output_timer_slack_ns "10000" #default:50000(=50us)
decoder_timer_slack_ns "10000" #default:50000(=50us)
player_timer_slack_ns "10000" #default:50000(=50us)
(注記2)upmpdcliのpolipoとの連携を含めた設定:/etc/upmpdcli.conf
upnpiface = eth0
mpdhost = 127.0.0.1 (ここはlocalhostかも)
mpdport = 6600
checkcontentformat = 0
friendlyname = UPnPSMPD
openhome = 1
ohproductroom = UPnPSMPD
ohmetapersist =1
logfilename = /var/log/upmpdcli.log
loglevel = 3
(注記3)polipoの設定:/etc/polipo/config
proxyAddress = 127.0.0.1 (ここは"0.0.0.0"かも)
allowedClients = 127.0.0.1
proxyport = 8123
disableLocalInterface = true
cacheIsShared = false
objectHighMark = 2048
chunkHighMark = 671088640
chunkCriticalMark = 536870912
chunkLowMark = 268435456
clientTimeout = 1200
(注記4)mpdの設定:/etc/mpd.conf
input {
plugin "curl"
proxy "127.0.0.1:8123"
}
4way構成の設定備忘録(2019年12月4日更新)設定値
項目 |
帯域 |
備考 |
Low |
Mid |
Mid-High |
High |
使用スピーカー ユニット |
- |
Sony SUP-L11 |
Sony SUP-T11 |
Accuton C51-286 |
Scan Speak D2908 |
- |
スピーカーの 能率(相対差) |
dB |
97 (+4) |
110 (+17) |
93 (+0) |
93 (+0) |
|
DF-65の 出力設定 |
dB |
+1.2 |
-10.0* |
+1.7 |
+3.8 |
|
マスターボリューム アッテネーション |
dB |
-3.0 |
-3.0 |
-6.0 |
-3.0 |
|
パワーアンプでの GAIN調整 |
dB |
-6.0 |
-12.0 |
-6.0 |
-12.0 |
|
スピーカーの 想定出力レベル |
dB |
89.2 |
85.0 |
82.7 |
81.8 |
|
クロスオーバー 周波数 |
Hz |
pass ~ 500 |
500 ~ 1400 |
1400 ~ 2500 |
4000 ~ pass |
Low Pass ~ High Pass |
スロープ特性 設定 |
dB/oct |
flat-48 |
48-24 |
24-18 |
24-flat |
Low Pass High Pass |
DF-55 DELAY 設定 |
cm |
-7.0 |
-37.0 |
+30.0 |
+30.0 |
相対位置と 測定ベース |
極性 |
- |
Norm |
Norm |
Norm |
Norm |
MPD 環境下 |
DF-55 DELAY COMP (Delay自動補正) |
- |
ON |
自動補正する |
DF-55デジタル出力 (Full Level保護) |
- |
OFF |
保護しない |
|