2012年4月8日日曜日

DSD Over PCM標準規格1.1 DSD128サポート

Music TO GO!さんでDSD Over PCM標準規格が1.1に更新してDSD128をサポートしたことが紹介されています。
dCS方式と書いていましたが、この言い方は改めて今後はDoP(DSD Over PCM)と言ったほうがよさそうです。今後はDoPと書くようにします。

DoP open Standard Method for transferring DSD Audio over PCM Frames  Version 1.1

 うれしいことにAES/EBU等384kHzのPCMを標準ではサポートしないインタフェースでのDSD128のサポート方法もSolution2として規格化してくれています。
要は、192kHz@24bitのライン1本でDSDの1ch(LchもしくはRch)を載せ、2本でDSD128のL/Rペアをサポートするインタフェースということになります。

MarkerはSolution1の0x05/0xFAオルタネートとは異なり、0x06/0xF9のオルタネートパターンになり、AES/EBUなどのLch/Rchに交互に16bitの1ch分のDSDデータを入れる方式のようです。

据え置きのPCとのオーディオインタフェースはUSBではなく、電源完全分離が可能な光インタフェース(ADAT RME RayDAT)を使用をメインに想定しているので、もし規格化されなくとも、同じ事をなんとか実現することを考えていましたが、規格化されたので対応する再生ソフトが順次出てくると思いますので、非常にラッキーです。


また、サポートメンバーにCEntranceが加わったとのこと、XMOS用のCEntrance ASIOドライバは極性現状反転処理が入っていてビットパーフェクトになっていないようなのですが、これでCEntranceのドライバも使えるようになると思われます。

5 件のコメント:

  1. DSD to PCM Converterというソフトを開発しているYUKI-SANと申します。
    このソフトはPCMへのデシメーションとDSD-WAVパック機能を持ったアプリケーションです。

    DSD128のSolution1と思われる24bit/352.8kHz(0x05/0xFA)には対応済みです。

    Solution2への対応を検討していますが、Solution1との違いは、

    ・サンプリング周波数が176.4kHzであること。
     (PCM形式としての収録時間は倍になる)
    ・マーカーが(0x06/0xF9)となること

    という理解なのですが、合っていると思われますか?

    アドバイスなどいただけたら幸いです。

    返信削除
    返信
    1. YUKI-SAN さん
      はじめまして。DSD to PCM Converterはダウンロードして使わせていただいております。
      以前試したときはDSD128のファイルはうまく変換できなかった記憶がありますが、対応されたようですね。

      Solution2は、私の解釈では、DSD128のファイルのLchをPCM 24bit@176.4kHzのL/Rchのペアの下位16bitに交互に入れる。
      DSD128のRchも同様に、別のPCMのL/Rチャネルペアに入れる。....と解釈しています。
      ファイルを1つにするには、PCMの2chではなくマルチチャネル(4ch)のフォーマットを適用することになるはずです。

       マーカーについては、PCMデータの上位8bitはマーカーは(0x06/0xF9)を挿入ですが、これをPCMのL/R毎なのか、PCMのLchが0x06ならRchは0xF9なのかが明確に分かりません。しかし、0x06/0xF9交互にしているのは、誤ってPCMとして再生したときに、大きな音とならず、かつDC成分が見えないようにすることだと思いますので、PCMのLch内で0x06/0xF9交互、Rch内でも0x06/0xF9交互に付与する仕様だと推測します。

       直ぐには対応できませんが、作っていただければ使わせていただきたいと考えておりますので、対応よろしくおねがいします。

      削除
    2. kouさま
      さっそくアドバイスをいただき、ありがとうございます。
      なるほど、4chのフォーマットになるわけですか。4chのWAVファイルは作ったことがないので調べるところから始める必要がありそうです。

      解決の糸口が見つかったような気がします。誠にありがとうございました。

      削除
    3. DSD128を24bit/176.4kHz/4ch 0x06/0xF9マーカーに出力する新しいバージョンを作成しました。
      PCM4chの1ブロックに以下のように格納しています
      DSD-Lch[0x06/0xF9] DSD-Lch[0x06/0xF9] DSD-Rch[0x06/0xF9] DSD-Rch[0x06/0xF9]

      お時間の許すときにでもお試しいただければ幸いです。

      削除
    4. 早いですね。対応有難う御座います。
       試すための準備ができておらず、DSD128どころかDSD64をADATで試すこともまだ着手していない状況ですので、大分先になってしまうと思いますが、ためしてみるつもりです。
       ビットパーフェクトである必要があるので、RME RayDATのドライバがビットパーファクトでるかはちょっと心配ではあります。

      削除