早速、HQ PlayerがdCS方式DSDネイティブ出力サポートした2.7.0.1リリースしました。
dCS方式DSDネイティブ出力のPCMデータの埋め込みフォーマットについては、こちらにある記述しか探せていないのですが、これを基に、BuffaloIIのDSDモードへフォーマット変換かけて鳴らせるようにしてみようかと思います。
dCS方式DSDネイティブ出力の概要は下記
・利用するPCMのレート
raw DSDファイルをPCMフォーマットに載せて伝送するのに必要な帯域は次のようになります。
DSD = 1 bit * 2.822400 MHz/channel
CD = 16 bits * 44100Hz/channel
16/176 = 16 bits * 176400Hz = 2.822400M bit/s /channel - raw DSDと同一レート
これは、16/176kのPCMデータにDSDデータを載せられることを意味しています。
そして24/176kのフォーマットを利用すれば、16bitにDSDデータを載せ、残りの8bitを利用してDSDデータであることをDACへのインジケータとして
利用可能となります。
・変換方法
オリジナルのraw DSDストリームが次のパターンである場合
L:00110011001100110011001100110011
R:01010101010101010101010101010101
PCM 24/176.4kデータストリームに次のパターンで載せます
Sample L1 10101010 0011001100110011
Sample L2 10101010 0011001100110011
Sample R1 10101010 0101010101010101
Sample R2 10101010 0101010101010101
DACは、オーディオインターフェースを介してこれらのサンプルを受け取り、両チャネルのすべてのサイクルで"10101010”という最上位8ビットを探します。
その後で上位の8ビット廃棄して
L:00110011001100110011001100110011
R:01010101010101010101010101010101
オリジナルのDSDと同じビット配列を得ることができます。
USBは元よりSPDIFやADATは16bit PCMの場合も24bit領域に下詰めで載せており、上位の8bitは空いていることになるのでそこを、DSD識別として"10101010"パターンを常時埋め込んで、PCMデータかDSDデータかをDDC/DAC側が識別できるようにしようということになります。
"10101010"パターン以外の場合は、通常通りPCMデータとして扱います。
dCS方式DSDネイティブ出力をサポートしていないDDC/DACでも、PCMデータの上位bitパターンは"10101010"であるので、誤ってDSDデータを再生しても下位16bitのみが交流成分となるので大音量のノイズを再生してしまうことは避けられるはずです。
オーディオプレーヤーは、本物の raw DSD DFFファイルを処理してrawのDSDを抽出してオーディオインタフェースに上記の変換をかけてPCMデータに見せかけてデータを渡す処理を行うことになります。
kouさん
返信削除asoyajiです。DSDの周りが俄かに騒がしくなってきましたね!
ようやく、DSDをPCからどんなやり方で流すかというところまで話題が進んできましたね。いよいよ規格が統一されるのか、いろんな方式が乱立するのか、期待が高まります。
ただし、やはりある程度規格が統一されないと消費者向けには商品化できませんから、メーカーもFostexなどが主導して規格の統一化に動いてくれるんでしょうか。
他は知らないのでわかりませんが、kouさんの方式はdCSさんと同じ考えなんでしょうか?
24bit/176kHzのフォーマットで、PCからDDCに、PCMと同様にDSDデータを流し、DDCからTOSでFPGA基板に接続しFPGAでDSDデータをDACのDSD入力フォーマットに変換しDSD-DACにつなげるということなら、PC環境、DDCはそのまままに、新たに「FPGA基盤」と「DSD-DAC」を用意すればOKということですね。
とにかく流すデータのフォーマットや方式が決まれば、既存の再生ソフトも簡単にDSDネイティブ再生に対応できそうですね。
ポータブルシステムへの実装を楽しみにしています。
先ほどブログに書きましたが、HQPlayerもDSD再生可能なドライバ/デバイスを認識しているようで、既存のDDCではDSD raw出力はできないようです。
返信削除HQPlayerにモード追加してもらうか、DSD rawを再生可能なDDC/DACを入手剃る必要がありそうです。
今のところMytekはサポートするようですし、Foxtex HP-8Aもきっとサポートしてくると思います。
FPGAで変換する案は、とりあえず様子見になりますが、何か進展があれば再開しようかと思っています。