JPLAYとminim serverの組み合わせによる再生環境にて、minim serverからffmpegを呼び出してサンプルレート変換をさせると、音のしなやかさに欠ける、という感覚はJPLAYの構成や設定を変えて改めて聴き較べてみてもやはり
間違ってはいない
ようなのだ。これはDSD音源のPCMへのダウンコンバートならびにサンプリングレート変換の精度に起因するところがあって、これはずっと悩んできた点であるが、変換モジュールとして
SoXを使用すればかなり改善されることは経験上判っている。
仕様上の制約なら仕方ないことだとも思うのだが、当方としては、DSD音源の176.4K/24bitへの変換、PCM音源の176.4K/24bitへの一律変換は我が家のオーディオ環境全体の最適化の観点から是非とも実施したい点なのである。しかし、音質が納得できなければその状態で使い続けることもしたくない、という何とも困った事態。JPLAY+minim serverという環境で音質的に納得できるSoXが使用できるような何か打開策はないかと、多少打ちひしがれながらも僅かな望みを託していろいろと調べてみると、minim serverにて「stream options」という項目に以下のように指定をすれば、ffmpegの標準(?)サンプルレート変換モジュールではなくSoXをサンプルレートコンバータとして呼び出しくくれることが
mimim serverのサイト
の掲載されているではないか。これは何とも痛恨の見落としであった。
stream.optionsにてSoXを呼びだす指定は以下の通り:
convOut=-af aresample=resampler=soxr
minim serverでのstream.optionsの指定例:
なお、ffmpegがSoXを呼び出せるようにするには、以前のffmpegのバージョンであればソースからビルドするという方法が
必要であったようだ
が、最新のバージョン(何と2017年7月24日付け!?)では新たにSoX(libsoxr)が組み込まれていることがffmpegのホームページ
情報を仔細に
調べた結果確認できた。何とも奇跡的(?)なタイミングでの公開である。ソースからのビルドであれば当方などには出来そうにもないのだが、これなら早速やってみるべし、である。
そこで、JPLAYテスト環境用のシステムディスクを使用して大急ぎで確認を行ってみた。ffmpegの最新バージョンをダウンロードし、このモジュールをポイントするように、stream.converterにて指定。さらにstream.optionsでSoXを呼び出す指定を行う。判ってしまえば「たったこれだけ」ともいえるのであるが、、、やはりなかなか奥が深いと云うべきか。
さて、音である。今までJPLAYの音についてその良さは認めつつも、「音が濃く押し出しもあるのだが、しなやかさに欠ける」と評してきた。だが、これはJPLAYの本来の音のポテンシャルではなく、当方の使い方・設定におけるサンプルレート変換のさせ方に起因するものだと再認識する結果となったことを申し添える。真に不徳の致すところである。だが、DSDtoPCMにおいてDAC Link 700、PC Buffer 0.01secを目指した
構成変更
によって、「サンプルレート変換」の音質的課題がここに至ってやっとクリアーできたとすれば、この構成変更に端を発した展開と決着の偶然にも感謝しなければならない。
(参考1:最新版ffmpegのダウンロード)
SoX(libsoxr)が組み込まれたffmpegはこの
サイト
より(20170724にビルドされたもの)をダウンロード。OS環境にあわせて32/64bitを選択、またstaticを選択。(SoXのみを個別ダウンロードする等は不要)
(参考2:現在当方が設定しているstream.transcodeの内容)
96KHz/24bit、176.4KHz/24bit、192KHz/24bitのflac音源の場合はサンプルレート変換しない設定。それ以外は176.4KHz/24bitへ変換するというもの。
flac:wav,flac(16;44):wav24;176,flac(24;88):wav24;176,dsf:wav24;176
|