DSD再生の場合ドライバ−単体でみればWindowsのASIO2の方がlinuxのDoP方式より優れていたと思います。
linuxでのDSD再生音はWindows+ASIO2に比べて劣っている状態が続いていたが?
kernelとmpdにDSDネイティブ再生を可能とするパッチがリリースされ実用に
耐えるものとなりお陰で両者を比較しても差を感じる事は無くなったと思う。
linuxでDSDを再生する仕組み(DoP)としてDSD信号入力のUSB-DACの殆どのモデルは
DoP(DSD over PCM)という方式で信号を伝達している。
これはDSD信号を通常のPCMの枠を使って伝送するという方式。
本来PCM伝送のための枠組みを使って裏技的にDSD信号を通すために
24ビットデータの先頭に8ビットのMarkerを付加してDSDデータと判別できるようにしてから
ホスト側からストリーミングを開始ホスト側では付加されたMarkerを判断して信号処理を行い
アナログ出力へ変換します。Markerが付加されるので
データ量は1.5倍強に増える事となり且つデータが転送されるごとに
PCMかDSDかの判断を行なっているためCPU負荷が大きくなる等の問題があり
再生音に影を落とす事となっていた様に思います?!
(DSD64(2.8MHzのデータ)の場合の転送にはPCMの176.4kHzが必要となる)
DSD64再生時動作状況の例
--------------------------------------
カード 0: Combo384
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200
--------------------------------------
DoP方式で一般的なDSD信号(2.8MHzサンプリング)を通すには、PCM換算で24bit/176.4kHzの帯域幅が必要。
一方、同じハードウエア環境でDSDネイティブ再生を可能とするパッチを適応した場合は
--------------------------------------
カード 0: Combo384
access: RW_INTERLEAVED
format: DSD_U32_LE
subformat: STD
channels: 2
rate: 88200 (88200/1)
period_size: 11025
buffer_size: 44100
--------------------------------------
DSDフォーマットの直接出力となっているため88200kHzとなっている
(注1)※以下は先輩に教えていただきました(^_^;)Dop方式の再生が出る以前には
DSD再生はPCMに変換して聴いていました。当時はPCMに変換しないという意味で
Dop方式をDSDネイティブ再生と呼んでいました。
その後に独Steinberg Media TechnologiesがASIO2.1を開発し
DSDデーターをASIOドライバーを使って無変換で再生する事が出来るようになりました。
現在ではこの方式をDSDネイティブ再生と呼んでいる様です。
ASIOの使用はOSがWindows環境である事が必要でMACやLINUXで使えません。
native DSD playback
Comments