wavriff

What is a "LIST" chunk in a RIFF/Wav header?


I am writing a wav player and I am using this file format specification: http://soundfile.sapp.org/doc/WaveFormat/.

As you can see, it expects:

  1. an initial "Riff Chunk" (which tells us whether this is a wav file or some other RIFF file type)
  2. followed by a "Format" chunk (which tells us things like the bit rate and number of channels).
  3. followed by a "Data" chunk that has all of the audio data in it.

I have an audio file which has a "LIST" chunk between the Format chunk and the Data chunk, which you can see visually when I hex-edit the file:

enter image description here

What is this LIST chunk, is it part of some standardized file format, and is there somewhere that has information on parsing it?


Solution

  • Your example chunk contains a LIST of INFOrmation that includes the creating software (ISFT):

    LIST chunks of type INFO are common in formats that extend RIFF. When a LIST chunk carries the list type ID "INFO", the list contains information about the copyright, author, engineer of the file, and other similar text.
    ...
    ISFT Name of the software package used to create the file

    https://www.recordingblogs.com/wiki/list-chunk-of-a-wave-file

    There are other kinds of lists, but list of info is very common. The site above goes into great detail about what to expect, but in brief: