75 lines
1.4 KiB
Plaintext
75 lines
1.4 KiB
Plaintext
|
meta:
|
||
|
id: wav
|
||
|
file-extension: wav
|
||
|
encoding: ascii
|
||
|
endian: le
|
||
|
seq:
|
||
|
- id: magic
|
||
|
type: str
|
||
|
size: 4
|
||
|
- id: size
|
||
|
type: u4
|
||
|
- id: wave_str
|
||
|
type: str
|
||
|
size: 4
|
||
|
- id: sections
|
||
|
type: section
|
||
|
repeat: eos
|
||
|
instances: {}
|
||
|
types:
|
||
|
section:
|
||
|
seq:
|
||
|
- id: name
|
||
|
type: str
|
||
|
size: 4
|
||
|
- id: size
|
||
|
type: u4
|
||
|
- id: content
|
||
|
size: size
|
||
|
type:
|
||
|
switch-on: name
|
||
|
cases:
|
||
|
'"fmt "': fmt
|
||
|
'"data"': data
|
||
|
fmt:
|
||
|
seq:
|
||
|
- id: type
|
||
|
type: u2
|
||
|
- id: channels
|
||
|
type: u2
|
||
|
- id: samplerate
|
||
|
type: u4
|
||
|
- id: datarate
|
||
|
type: u4
|
||
|
doc: Might also be datarate per channel
|
||
|
- id: bytes_per_sample
|
||
|
type: u2
|
||
|
- id: bits_per_unit
|
||
|
type: u2
|
||
|
instances:
|
||
|
combined_type:
|
||
|
value: type * 100 + bits_per_unit
|
||
|
data:
|
||
|
seq:
|
||
|
- id: content
|
||
|
type: sample
|
||
|
repeat: eos
|
||
|
types:
|
||
|
sample:
|
||
|
seq:
|
||
|
- id: data
|
||
|
type:
|
||
|
switch-on: _root.sections[0].content.\
|
||
|
as<fmt>.combined_type
|
||
|
cases:
|
||
|
332: f4
|
||
|
108: u1
|
||
|
116: s2
|
||
|
132: s4
|
||
|
repeat: expr
|
||
|
repeat-expr: _root.sections[0].content.\
|
||
|
as<fmt>.channels
|
||
|
enums: {}
|
||
|
doc: Hello, world
|
||
|
doc-ref: https://example.com
|