List chunk (of a Wave file)

A LIST chunk defines a list of sub-chunks and has the following format.

Byte sequence description Length in bytes Starts with byte in the chunk Value
chunk ID 4 0x00 The ASCII character string "LIST"
size 4 0x04 The size of the sub-chunk less 8 (less the "chunk ID" and the "size")
list type ID 4 0x08 Various ASCII character strings. Two common types are "adtl" (associated data list) and "INFO" (text information about copyright, authorship, etc.)
data various 0x0C Depends on the list type ID

LIST chunks in the RIFF context

The LIST chunk is defined in the Resource Interchange File Format (RIFF). The LIST chunk can therefore be a part of any file with a format that extends RIFF, such as WAVE, JPEG, or Downloadable Sound (DLS).

The list type INFO is also a part of the RIFF specifications. LIST chunks with the type INFO can exist not only in wave files, but also in other files with a format that extend RIFF. Thus, the LIST chunk with the type INFO is designed to contain information that may or may not have a meaning for wave files (the information that such a LIST chunk may contain is described below).

Formats that extend RIFF may specify list types that are specific to the format and will not exist in other formats that extend RIFF. The list type adtl is specific to the wave file format. Similarly, other formats that extend RIFF may contain LIST chunks that are not a part of the wave file format. For example, the DLS file format allows for LIST chunks with the type wvpl ("wave pool") or ins ("instruments").

List type adtl

An associated data list defines text labels and names for cue points. An associated data list typically uses label sub-chunks, note sub-chunks, and labeled text sub-chunks.

A label sub-chunk and a note sub-chunk have the same structure.

Byte sequence description Length in bytes Starts with byte in the sub-chunk Value
sub-chunk ID 4 0x00 The ASCII character string "labl" or "note"
size 4 0x04 The size of the chunk less 8 (less the "sub-chunk ID" and the "size")
cue point ID 4 0x08 The ID of the relevant cue point (see Cue chunk (of a Wave file))
data various 0x0C Some ASCII text

The ASCII text is null terminated and must be padded, if not word aligned.

The labeled text sub-chunk associates some portion of the audio data with text and serves as a marker. This sub-chunk has the following format.

Byte sequence description Length in bytes Starts at byte in the sub-chunk Value
sub-chunk ID 4 0x00 The ASCII character string "ltxt"
size 4 0x04 The size of the sub-chunk less 8 (less the "sub-chunk ID" and the "size")
cue point ID 4 0x08 The ID of the relevant cue point
sample length 4 0x0C The number of samples in the segment of audio data described by this chunk
purpose ID 4 0x10 The purpose of the text. Common IDs are "scrp" for script and "capt" for closed captioning
country 2 0x14 The country of the text
language 2 0x16 The language of the text
dialect 2 0x18 The dialect of the text
code page 2 0x1A The code page for the text
data various 0x1C Some ASCII text

The labeled text sub-chunk is always a part of an associated data list chunk.

List type INFO

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. The data of the LIST chunk is organized as follows.

Info ID (4 byte ASCII text) for information 1
Size of text 1
Text 1
Info ID (4 byte ASCII text) for information 2
Size of text 2
Text 2

Common info IDs in Wave files are as follows.

Info ID The corresponding text describes
IARL The location where the subject of the file is archived
IART The artist of the original subject of the file
ICMS The name of the person or organization that commissioned the original subject of the file
ICMT General comments about the file or its subject
ICOP Copyright information about the file (e.g., "Copyright Some Company 2011")
ICRD The date the subject of the file was created (creation date)
ICRP Whether and how an image was cropped
IDIM The dimensions of the original subject of the file
IDPI Dots per inch settings used to digitize the file
IENG The name of the engineer who worked on the file
IGNR The genre of the subject
IKEY A list of keywords for the file or its subject
ILGT Lightness settings used to digitize the file
IMED Medium for the original subject of the file
INAM Title of the subject of the file (name)
IPLT The number of colors in the color palette used to digitize the file
IPRD Name of the title the subject was originally intended for
ISBJ Description of the contents of the file (subject)
ISFT Name of the software package used to create the file
ISRC The name of the person or organization that supplied the original subject of the file
ISRF The original form of the material that was digitized (source form)
ITCH The name of the technician who digitized the subject file

All text must be word aligned.

See also:
Wave file format

Comments

admin: First posted on 2015 02 08

anonymous, 2015 02 08: The "labl" or "note" tables (above) seem to replicate but the first row "Byte sequence description" is sub-chunk ID vs chunk-ID... My assumption is that the tables are documenting the same sub-chunk - and as a result the use of "chunk-ID" in the second table is incorrect --- If my assumption is correct I would remove the redundant table because it suggests that there are two chunk/sub-chunks that have the same "Byte sequence description"

Richard Lee, 2015 05 10: As per the above comment - the second listl/note table is incorrect - the ChunkId should read "ltxt” (labelled text) not "note"/"labl".

mic, 2016 08 11: This is correct. It should be "ltxt". It is now fixed.

Add new comment

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.