左:DSD64_DoP(0x05/0xFA) 中:DSD128_DoP(0x05/0xFA) 右:DSD128_DoP(0x06/0xF9)
WaveファイルのRIFFタグ情報
まだ、DSD128_DoP(0x06/0xF9)を試す環境が準備できていませんが、とりあえずフォーマットを確認するため、DSD64のデータを、DSD64_DoP(0x05/0xFA) へと、AudioGateでDSD128に変換して、 DSD128_DoP(0x05/0xFA)、DSD128_DoP(0x06/0xF9)に変換してみました。
上記がRIFFタグ情報を覗いてみた様子です。DSD128_DoP(0x05/0xFA)では、2チャンネル、352.8kHz、24bitのwaveファイルとなっています。DSD128_DoP(0x06/0xF9)では、4チャンネル、176.4kHz、24bitのwaveファイルとなっています。
Waveファイル 先頭部分
上:DSD128_DoP(0x06/0xF9)
中:DSD128_DoP(0x05/0xFA)
下:DSD64_DoP(0x05/0xFA)
つぎにデータ部を見てみます。上が、DSD128_DoP(0x06/0xF9)、DSD128_DoP(0x05/0xFA) DSD64_DoP(0x05/0xFA) のデータの先頭部分です。
0x00002Bまでが、タグ情報で、0x00002Cからがデータ部になっているようです。
オレンジでハッチングしているのは、DSD128でのLchデータと思われる部分の先頭から20byte分になります。
0x05/0xFA方式では、16bit毎にL/Rchが埋め込まれています。
0x06/0xF9方式では、32bir毎にL/Rchが埋め込まれています。
これは、4chマルチチャネルのWaveファイルの1番目と2番目のチャネルにLchを、3番目と4番目のチャネルにRchを埋め込んでいるためで、これでDoPの規定に合っていると推測します。
水色、黄色でハッチングしているのが、0x05/0xFAあるいは0x06/0xF9のコード、0x05/0xFA方式の場合は、DSDデータ16bit- 0x05 - DSDデータ16bit - 0xFAの順序で埋め込まれています。
0x06/0xF9方式の場合も、DSDデータ16bit- 0x06 - DSDデータ16bit - 0xF9の順序で埋め込まれています。
こちらは、少し私の推測と異なります。 0x06/0xF9方式の場合、4chの各chで0x06/0xF9を交互に埋め込むのではと推測しています。(あまり自信はありません...)
kouさま
返信削除DSD2PCMCをご使用いただき、ありがとうございます。
>4chの各chで0x06/0xF9を交互に埋め込むのではと推測しています。
「4chの各chで0x06/0xF9を交互」のつもりで作ってみたのですが違いましたか(笑)
もしよろしければ、kou様の推測されるデータの配置をもう少し詳しくお教えいただけないでしょうか?
私の環境ではDSD再生はテストできませんので、kou様のお考えに合わせたいと思っています。
度々失礼します。
返信削除>4chの各chで0x06/0xF9を交互に埋め込むのではと推測しています。
の意味がわかりました。
2chのときのデータと比べると確かに現状は不自然な配置でした。
修正バージョンをもうすぐアップいたします。
YUKI-SAN さん
削除一応私の考えを書いておきます。
DoP open Standard Version 1.1 http://dsd-guide.com/usb-link-dsd-audio-pcm-frames-andreas-koch の3. Solutions for double rate DSD (128FS) and beyondの図で、PCM Frame 1というのがwaveファイル上の1ch分に相当し、DSD128の場合、Frame1,2にLch、Frame3,4にRchを割り当てると理解しています。
よって、0x06/0xf9コードは、0x06,0x06,0x06,0x06,0xF9,0xF9,0xF9,0xF9,0x06,0x06・・・・・という順序で埋め込まれると考えています。
kouさま
返信削除ありがとうございます。
>よって、0x06/0xf9コードは、0x06,0x06,0x06,0x06,0xF9,0xF9,0xF9,0xF9,0x06,0x06・・・・・という順序で埋め込まれると考えています。
おそらくkouさまのお考えが正しいと思われます。
更新バージョンの0.0.13をリリースいたしました。
お急ぎいただく必要はございませんので、お時間のあるときにでもお試しいただけますと幸いです。