DSDIFFのファイルフォーマット
DSDファイルフォーマット技術資料
凡例
| 用語 | 意味 |
|---|---|
| char | 8 bit signed integer |
| uchar | 8 bit unsigned integer |
| ushort | 16 bit unsigned integer |
| ulong | 32 bit unsigned integer |
| double ulong | 64 bit unsigned integer |
| b_e | Big endian |
| l_e | Little endian |
フォーマット構造と実際のデータ
DSDIFFはFORMチャンク("FRM8")の中に各チャンクが入れ子になる構造です。「実例」列はWeiss Engineering Saracon 01.61-30で変換した6chファイルの値です。
| エリア | Field Name | Size (bytes) | Format | 内容 | 実例 |
|---|---|---|---|---|---|
| Form DSD | ckID | 4 | ASCII | "FRM8" | "FRM8" |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize | 1174598610 | |
| formType | 4 | ASCII | "DSD " | "DSD " | |
| Format Version | ckID | 4 | ASCII | "FVER" | "FVER" |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize(4byte) | 4 | |
| version | 4 | ビット表記 | 1.5.0.0なら01050000 | 01050000 | |
| Property Chunk | ckID | 4 | ASCII | "PROP" | "PROP" |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize | 110 | |
| propType | 4 | ASCII | 音楽ファイルの場合は"SND " | "SND " | |
| ├ Sample Rate Chunk | ckID | 4 | ASCII | "FS " | "FS " |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize(4byte) | 4 | |
| sampleRate | 4 | ulong(b_e) | [Hz] | 2822400 | |
| ├ Channels Chunk | ckID | 4 | ASCII | "CHNL" | "CHNL" |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize | 26 | |
| numChannel | 2 | ushort(b_e) | Ch数 | 6 | |
| ChID | 4×Ch数 | ASCII | Chとスピーカーの紐づけ | "MLFT" "MRGT" "C " "LFE " "LS " "RS " | |
| ├ Compression Type Chunk | ckID | 4 | ASCII | "CMPR" | "CMPR" |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize | 20 | |
| compressionType | 4 | ASCII | "DSD " or "DST " | "DSD " | |
| Count | 1 | uchar | CompressionNameSize | 14 | |
| compressionName | Count | ASCII | DSDは"not compressed" | "not compressed" | |
| ├ Absolute Start Time Chunk | ckID | 4 | ASCII | "ABSS" | "ABSS" |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize | 8 | |
| hours | 2 | ushort(b_e) | 時 | 0 | |
| minutes | 1 | uchar | 分 | 0 | |
| seconds | 1 | uchar | 秒 | 0 | |
| samples | 4 | ulong(b_e) | サンプル数 | 0 | |
| └ Loudspeaker Configuration Chunk | ckID | 4 | ASCII | "LSCO" | なし |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize(2Byte) | ||
| lsConfig | 2 | ushort(b_e) | スピーカーのセッティング | ||
| DSD Sound Data Chunk | ckID | 4 | ASCII | "DSD " | "DSD " |
| ckDataSize | 8 | double ulong(b_e) | ChunkSize | 1174598370 | |
| DSDsoundData | 1×サンプル数 | uchar | DSD data | DSD data(b_e) |
以下メタデータチャンクが続くが割愛。