WRID>RIFF-WAVE

DRAFT!

TODO: overview

Programs must expect (and ignore) any unknown chunks encountered, as with all RIFF forms. However, fmt must always occur before data, and both of these chunks are mandatory in a WAVE file.

[RIFF1991]
Chunk Name Bytes Type conditionDescriptionWRID
RIFF-WAVE id 4 u8[4] id = RIFF ...>id
RIFF-WAVE size 4 u32 ...>size
RIFF-WAVE form_type 4 u8[4] form_type = WAVE ...>form_type

The only chunks you can expect to be in every valid WAVE file are fmt and data. Everything else is optional.

[RIFF1991] specifies the following chunks for WAVE files:

  • fmt - Format of audio samples in data chunk.
  • fact - Number of samples for compressed audio in data chunk.
  • data - Wave sample data
  • cue - A series of positions in the waveform data chunk.
  • plst - Play order for cue points. Very rare.
  • LIST-INFO - A LIST of descripitve text chunks.
  • LIST-adtl - A LIST of CuePoint annotation chunks.
  • LIST-wavl - A LIST of audio and/or silence chunks: data, slnt
  • JUNK - file padding (no content)

See the chunk reference for a list of additional documented chunks.

Learning References

Specification

  • [RIFF1991] Multimedia Programming Interface and Data Specifications 1.0(1991). See pages 56-65.
  • [RIFF1994] New Multimedia Data Types and Data Techniques 3.0(1994). See pages 12-22.