オーディオ日記 第39章 扉を叩け、開け(その8)2016年11月21日


TOP Audio Topics DIARY PROFILE LINK 掲示板

DSD音源の再生に関して、我が家の再生環境が確定しきれずあれこれ 試し ふらふらとしてきた。一般的にはDSD Native対応あるいはDoP対応のUSB DACにてアナログ変換をしてしまえば、それで一件落着なのであるが、当方はデジタルチャンデバへデジタル入力する方式を貫きたいがために、余計な苦労をすることになってしまっている。この辺りはマスターボリュームの調達で難儀してきたことにも通じる点があるが、デジタルチャネルデバイダーをシステムの核として使っていく上では避けて通れない課題なのかもしれない。

DSD音源をデジチャンへデジタル入力するにはPC上で「DSDtoPCM」変換を行えば良く、PCMのサンプルレート等に関しては後段のUSB DDCやデジチャンの性能に応じて定めることになるので、我が家では基本方針として176.4KHz/24bitとすることにしている。事は単純といえば、単純である。しかし、「Samplerate Converter」というものは変換アルゴリズムのみならずCPUの処理性能にも依存することになるので、実はあまり完璧ではなく、精度の低いものも多い。

(注記)もちろん、DSD音源を事前にDSDtoPCM変換しておくという方法もあるのだが、同じ音源を二つのファイル形式で保持することはしたくないということもあって、可能性としての「リアルタイム変換処理」に拘っている。また、Audiogateでの変換品質は高いと思うが、リモコン操作が必須な当方にとって常用とするのは難しい。

当方が長らく音楽再生ソフトウエアとして使ってきたVoyageMPD(0.95)においては、このDSDtoPCM変換をしたDSD音源の音がどうも良くない、とずっと悩んできた。元々VoyageMPDは軽量なソフトウエアで低速なプロセッサー環境でも十全に機能するように考えられているため、デフォルトのサンプルレート変換機能は低速度のCPU用に精度の低いものが採用されている。設定によって、この精度を上げることは可能なのであるが、VoyageMPDにあらかじめ組み込まれているサンプルレート変換モジュール( libresample )ではやはり満足する音が出てこない。

VoyageMPDにおけるサンプルレートの設定:(上段:デフォルト値、下段:高精度設定値)
 samplerate_converter "Fastest Sinc Interpolator"
 samplerate_converter "Best Sinc Interpolatr" 

一方で、ここしばらく取り組んでいるJPLAY環境であるが、JPLAY自身は基本機能としてはwav音源しか対応しておらず、DSD音源の場合はDoP方式のサポートとなる。DoPではUSB DACでアナログ変換して出力することが前提なので、このままではDSDtoPCMを行わせることは出来ないのだ。しかしJPLAY Streamerを使用する場合はUPnPサーバーと連携させる構成となるので、UPnPサーバーが音源ファイルのデータベース管理の他にサンプルレート変換やフォーマット変換(FLACからWAVなど)の機能を果たしてくれれば対応が可能となる。JPLAYの場合、このUPnPサーバー機能としてMinim Serverを使用することが多いと思うが、Minim Severではこのサンプルレート変換やフォーマット変換を ffmpeg というモジュールを呼び出すことによって実現している。

ffmpegは非常に多機能なオーディオ・ビデオ変換機能を持っているのであるが実際にどのレベルの精度での変換を行っているか、調べた限りでは把握できなかった。また、Minim Serverでは「stream.taranscode」という項目でこの変換処理の設定を行うのであるが、「変換精度」自体を選択するような指定はない。

Minim SererにおけるDSD音源をPCM176.4KHz/24bitに変換する設定:
(System Properties、stream.transcodeでDSFファイルに対する指定を行う)
 dsf:wav24;176

JPLAYにおいて、このffmpegによるDSDtoPCM変換で「納得の音」が出てくれれば問題ないのであるが、PCM音源の場合と比して、DSD音源の音にはJPLAYらしい「冴え」が不足しているように思えてしまうのだ。元々の音源のせいなのか、ともひとしきり悩んでいたのである、、、

Dante Audio Networkを試した時に、音楽再生ソフトウエアとして JRMCを使う ケースがあった。Dante Audio Networkも「PCMのみの対応」であり、さらに「使用するサンプルレートは一律にする」という機能面の制約がある。これはプロ用でもあるが故に安定性を意識した上での制約になっているものと思う。このためにJRMCにおいて、44.1KHz/16bit音源も、DSD音源も一律に「176.4KHz/24bit」に変換して、Dante Audio Networkのテストを行ったのであるが、この時のDSDtoPCMを行ったDSD音源の音は自分なりに納得できるものであった。だがこれが、Dante Audio Networkという構成自体の資質によるものなのかどうかは明確には分からないため、この辺りどう追求できるのかと悶々としながらアプローチ方法を思案してきた。

JRMCはサンプルレート変換のモジュールとして「SoXを試験的に採用」していると明言しているのだが、このサンプルレート変換モジュールや変換精度によって、音の差を感じてしまうのかも知れないと常々考えてきたこともあって、この方向で調べてみることとした。改めて、Windows Server2012R2環境下にてJRMCのDSDtoPCMの音も確認してみたが、まずまず。ただし、JRMCにおいても、変換精度を設定するようなパラメータはないのだが。

仮説に沿って、 SoX に関する情報を改めて調べて行く内に、 lightMPD というLinux系のMPDディストリビューションにおいて、このSoXをサンプルレート変換に用いていること、ならびに変換精度のオプション設定も可能であることが分かった。しかしながら、このlightMPDは所謂シングルボードコンピュータ(代表例としてAPU.1CやRAS Piなど)用のもので、PC用のモジュールは提供されていないのだ。残念至極! 当方としては、 PCのファンレス化 、いろいろな ノイズ対策 を実施してきた経緯から、ここはやはりPCをベースとして考えたいのだ。

たが、諦めずにlightMPDの情報を詳しく見ていくと、mpd-0.19以降はSoXがサポートされていることが記述されているではないか。mpd-0.19? もちろんこれはVoyageMPDでもメイン機能として使われている、music player daemonのことである。ええっ!? ということで本家本元のVoyageMPDに立ち返って チェンジログ を確認すると、何と最新バージョンのVoyageMPD(0.10.0、当方の使用しているのは0.9.5)では、このmpd-0.19が採用されている。当然ながら、このSoXも利用可能である。 何と迂闊な!「灯台下暗し」とはまさにこのための言葉か、、、、それもlightMPDと同様に変換精度の設定もできるのだ。昨今PCベースのVoyageMPDはブログ等に更新記事が掲載されることも少ないため、この情報が当方のアンテナに引っかかって来ていななかったのだ。これは遺憾。

VoyageMPDにおけるサンプルレート変換モジュールSoXと変換精度の設定:
 samplerate_converter "soxr very high"

(注記)lightMPDではさらにSoXにおける変換処理を複数のCPUにて並列に行わせることができるopenmpという設定まで可能なのであるが、残念ながらVoyageMPDではこの並列処理まではサポートされていない。

大急ぎでVoyageMPDのバージョンアップを行ったことは云うまでもないのだが、前回のインストールより大分時間が経ってしまっていることもあって、普段使わないLinux周りのことは結構忘れてしまってもいた。(やはりきちんとバージョンアップに追随して、スキルを維持しておかねばすぐに忘れる、とこちらも反省しきり、、、)

さてさて、VoyageMPD(0.10.0)のSoX高精度変換の設定によるDSDtoPCMの音である。これが肝心なのだ、、、ひとしきり、いろいろなDSD音源を聴く。少しメリハリが利いているようにも感じる部分があるが、気持ち良く聴けて合格であると思う。今までの何だか分からないが、もやもやっとしていた不満点がここにはない。(プラシーポではないことを願うが、ここでは針小棒大の変化ではなく有意差が感じられるので多分大丈夫であろう)こう再現されて欲しいと思ってるイメージに近くDSD音源が「鳴って」くれるのはちょっとうるうるしてしまう。今更ながらであるがサンプルレートコンバータによる音の変化の大きさを再確認した次第でもある。

何だか、ぐるぐる遠回りして、また元に戻ったような徒労感も無くはないのだが、まぁこれはこれで結果良し、としよう。DSDtoPCMはダウンコンバートと云えるのであるが、さらに調子にのって、このSoXの性能を調べるために、44.1KHz/16bit音源も、176.4KHz/24bitにアップサンプリングして試してみた。実はこれも悪くない、案外いけるのだ。本来的にはアップサンプリングで「音が良くなる」というようなことはないのだが、デジチャンへの経路や相性の観点からうまく適合することもあるのかもしれない。特に我が家のデジチャン(DF-55)は基本的にアナログ入力を想定した設計のようでデジタル入力はどうもオマケ的であるのだが、アナログ入力の場合は176.4KHz/24bitにA/D変換される仕様のため、後段のDSP処理が176.4KHz/24bitに最適化されているのでは、と思わせるようなところがある。サンプリングレート変換の精度に依存するところも多分にあるのと思うのだが、今回のこのVoyageMPD構成で176.4KHz/24bit化したものはそれがベースが44.1KHz/16bit音源であっても、DSDtoPCM変換したDSD音源であっても、「う~ん、これなら」と納得できる音なのだ。

結局、思わぬような形で「VoyageMPDの反撃」ということになった。これを迎え撃つJPLAYについても、更にあれこれと可能性を調べてみなければならないであろう。だがしかし、VoyageMPDで満足というのであれば、これ以上何が要るのだろうか。元々、mpd系を操作するmPOD、mPADというタブレット端末用のリモコンソフトは群を抜いて優秀である。KinskyやKAZOOは足元にも及ばず、Lumin AppやJREMOTEが反応速度や機能の面で何とか追いついて来てはいると思うが、こちらは画面は一見華美ではあるがその分ちょっと詰め込み過ぎ感もある。シンプルで多機能、これがなかなか難しいのだ。音も然り。JPLAYの音の良さは認めるが、Dual PCの構成自体と運用の煩雑さはやはり厳然としてある。VoyageMPDのこのシンプル&ストレートな環境、構成、運用と操作性、そして音、、、、


4way構成の設定備忘録(2016年11月21日現在)

項目 帯域 備考
Low Mid-Low Mid-High High
使用スピーカー
ユニット
- Sony
SUP-L11
FPS
2030M3P1R
Sony
SUP-T11
Scan Speak
D2908
-
スピーカーの
能率(相対差)
dB 97 (+7) 90 (0) 110 (+20) 93 (+3)
定格値
パワーアンプでの
入力絞り
dB -3.0 0.0 -10.0 -7.0
設定値
SP側での
アッテネーション
dB 0.0 0.0 -12.0 0.0
L-PAD抵抗
DF-55の
出力設定
dB 0.0 -0.7 +3.0 +7.0
Analog Att
OFF
スピーカーの
出力(想定)
dB 94.0 89.3 91.0 93.0
合成での
出力概算値
クロスオーバー
周波数
Hz pass

355
355

800
800

9000
9000

pass
Low Pass

High Pass
スロープ特性
設定
dB/oct flat-48 48-48 48-48 48-flat Low Pass
High Pass
DF-55 DELAY
設定
cm 25 37.5 0 37.5 相対位置と
測定ベース
DF-55 DELAY COMP
(Delay自動補正)
- ON 自動補正する
DF-55デジタル出力
(Full Level保護)
- OFF 保護しない

next index back top