アップサンプリングをしない設定

775 views
Skip to first unread message

poruk...@gmail.com

unread,
Aug 14, 2016, 11:34:42 AM8/14/16
to lightMPD
お世話になります。

APU2C4(v1.0.2+mpdsacdiso-native-dsd-64)でアップサンプリング・bit拡張
設定をしているときは、問題なく動作しています。

mpd,conf抜粋
----------------------------------
audio_output {
type "alsa"
name "uda"
device "hw:0,0"
priority "FIFO:54"
mixer_type "disabled"
dsd_usb "no"
# dsd_native "yes"
# dsd_native_type "2"
buffer_time "150000"
period_time "37500"
----------------------------------
decoder {
plugin "sacdiso"
enabled "yes"
dstdec_threads "8"
edited_master "true"
lsbitfirst "false"
playable_area "stereo"
# playable_area "multichannel"
# tags_path
# tags_with_iso "yes"
}
----------------------------------
audio_output_format "x4L4:24:2"

resampler {
plugin "soxr"
quality "very high"
threads "0"
}
----------------------------------
audio_buffer_size "2048"
buffer_before_play "20%"
----------------------------------
上記のような状態から、アップサンプリングもbit拡張も行わないようにした
いのですが設定が分かりません。

DSDのPCM変換を利用しており、以前掲示板に回答された「DSD2PCM を使う
場合はsample_converteの設定は明示的に行っておいた方がいい」とあった
ことから、「audio_output_format」の部分だけで何とかならないか試しま
したがうまくいきません。

「audio_output_format」行のコメントアウトや、"x4L4:24:2" 内の各パラメ
ータをブランクにしたり*にしたり。
アップサンプリング部分は「x1L4」で最後の「2」は2CHでいいのかもしれない
ので、bit拡張をしない方法があれば進めるのかもしれません。

「audio_output_format」行をコメントアウトすると、FLAC等は問題ないよう
ですがsacdiso再生では、途中でブツッと途切れ途切れの再生になったり最初
からザー音だけのもの、普通に再生できてしまうもの様々です。

以上、よろしくお願いします。

digi...@gmail.com

unread,
Aug 14, 2016, 11:35:53 PM8/14/16
to lightMPD
porukun911さん

mpdのdsd2pcmは入力のdsdを1/8にダウンサンプリングしてから、DACの能力に合わせて再度ダウンサンプリングします。
例えば入力がDSD64の場合はいったん352.8KHzのPCMに変換されます。DACのサンプリングの上限がが176.4,192Khzの場合、352.8KHz->192KHzのダウンサンプリングが行われます。
これは非整数倍のサンプリング変換になり整数倍のそれに比べて計算量が増えます。
その弊害を取り除くために、lightMPDでは入力の整数倍になるような拡張を行っています。

audio_output_formatを設定しないまたは拡張オーディオフォーマットを使用しない場合はmpd本来の変換が行われるため処理が間に合わなくなります。

audio_output_formatを指定すると、PCM系の再生もサンプリング周波数変換が行われてしまいます。

lightMPD 1.0.2 では上記の問題に対応するために、dsd2pcmで出力するPCMのサンプリング周波数およびビット長を指定できるように拡張してあります。

mpd.confに

decoder {
  plugin      "dsdiff"
  enabled     "yes"
  output      "PCM:X1:32"
}

decoder {
  plugin      "dsf"
  enabled     "yes"
  output      "PCM:X1:32"
}

を追加する事によりdsd2pcmの出力を指定します。

outputの形式は

"PCM:Xn:m"


  n   :   出力を44.1または48のn倍にします
  m   :   出力のbit長を指定します  

となります。

このような指定方法ですから、入力がDSD64,128,256いずれの場合もX1と指定すると44.1KHzに変換されます。

この拡張ではdsd2pcmの後のリサンプリングは行わないません。言い換えるとaudio_output_formatに影響されません。

この機能はmpdsacdiso版では未対応です。
porukun911さんがsacdisoの再生の為にmpdsacdiosをお使いなら上記の機能は使えません。

dsf,dsdiffを再生する場合は、v1.0.2に付属のmpd-0.19.14rt-native-dsdを使うと上記の機能が使えます。

poruk...@gmail.com

unread,
Aug 15, 2016, 2:59:54 AM8/15/16
to lightMPD
digififanさん

回答、ありがとうございます。

audio_output_formatをコメントアウトした場合の不具合理由が、理解できました。

DSDはdsd2pcmを利用し、PCM再生はアップサンプリング・bit拡張なしとするには、

  ① dsd2pcm : mpd-0.19.14rt-native-dsdを利用し、mpd.confにご指示いた
だいたdecoderの記述を加える

  ② PCM   : audio_output_formatをコメントアウトする

という設定でよろしいでしょうか?

mpdsacdisoは非常に重宝していますので、対応版があるようでしたらまた更新をよろ
しくお願いいたします。

digi...@gmail.com

unread,
Aug 15, 2016, 9:21:01 AM8/15/16
to lightMPD
porukun911さん


> DSDはdsd2pcmを利用し、PCM再生はアップサンプリング・bit拡張なしとするには、

>   ① dsd2pcm : mpd-0.19.14rt-native-dsdを利用し、mpd.confにご指示いた
>                      だいたdecoderの記述を加える

>   ② PCM   : audio_output_formatをコメントアウトする

> という設定でよろしいでしょうか?

はい、その通りです。

> mpdsacdisoは非常に重宝していますので、対応版があるようでしたらまた更新をよろ
> しくお願いいたします。

今、mpdsacdisoに対応しても将来的にそのパッチが使えなくなるのでmpdsacdisoの対応は行っていません。
現にmpdsacdisoのgit版ではlightMPDで作成したパッチがほとんど当たらなくなってます。
mpdsacdisoが正式にリリースされたら対応する予定です。
mpdsacdisoでsacdisoをデコードすると結構CPUを食います。dsd2pcmの拡張も結構なCPUを使いますので、もしかしたらapuでも間に合わないかもしれません。

mpdsacdisoはこんな状態ですから、v1.1.0ではmpdsacdisoは見送ろうと思ってます。
porukun911さんはsacdisoファイルをお持ちなのでしょうか?


poruk...@gmail.com

unread,
Aug 16, 2016, 12:13:59 AM8/16/16
to lightMPD
digififanさん

mpd-0.19.14rt-native-dsdで設定し直し、所定の動作が確認できました。
ありがとうございました。
ただ、音質はmpdsacdisoの方が好ましく感じるので悩ましいです。
mpdsacdisoはピラミッドバランスで、安定感のある音に思います。

mpdsacdisoの環境、今後の対応に関するお考えは理解しました。
機能的にあれば便利、なくても対応方法はあるわけですから、仕方ないです。
isoファイルは数十タイトル程度ありますが、mpdsacdisoを継続利用するかは
音質も含めて検討していきます。

余談ですが、APU2C4はv1.1.0のアナウンスにあった2台体制に対応する目的で
買い足しました。設定に慣れておこうと手持ちのAPU1Cから入れ替える際に、
アップサンプリングの見直しで今回の質問になった訳です。
APU1C + APU2C4で試そうと目論んでます。
楽しみにしています。

digi...@gmail.com

unread,
Aug 16, 2016, 3:40:56 AM8/16/16
to lightMPD
porukun911さん

> 余談ですが、APU2C4はv1.1.0のアナウンスにあった2台体制に対応する目的で
> 買い足しました。
バージョンアップの目玉にしようと思っていたキャッシュサーバーが不安定でリリースが遅れています。
もともと、音楽ファイルのような巨大なファイルは想定してないようで、DSDやハイレゾなどの巨大ファイルで音切れが発生したり、突然終了したりでとてもつかえる状態でなはなかったので、その調査に時間がかかっていました。幸い原因も特定できたので近々リリースできそうです。
但し、キャッシュの上限がほぼ1Gbyte程度で当初のもくろみであったapu1d4やapu2c4などで3Gbyte程度のキャッシュは実現できませんでした。

mpdsacdisoはmpdの正式版に取り込まれそうなのですが、残念ながらnative-dsdはmpdの正式版とは別な方がメンテナンスしています。
mpdsacdisoの正式版がリリースされたら、まずnative-dsdの対応が必要になります。
native-dsdの開発者はまだmpdsacdisoへの対応は行っていません。lightMPDのmpdsacdisoへのnative-dsdは私が行っています。
状況からするとまだ先のような気がします。




Reply all
Reply to author
Forward
0 new messages