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. A common one is "INFO" (text information about copyright, authorship, etc.). Other examples, specific to various extensions of the RIFF format (WAVE, DLS, and others) are listed below|
|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).
Some LIST types, such as INFO, are also part of the RIFF specifications. Thus, LIST chunks of type INFO can exist in any RIFF type files, including WAVE, DLS, and other. This also means that the some of the information in a LIST chunk of type INFO may have meaning in some files, but not in others. For example, this chunk may contain information about how an image was cropped, which is appropriate in the JPEG format, but not in the WAVE format.
Some LIST types are defined in formats that extend RIFF. Such formats, including WAVE and DLS, 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, the DLS file format allows for LIST chunks with the type wvpl ("wave pool") or ins ("instruments").
List type INFO
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. The data of the LIST chunk is organized as follows.
Info ID (4 byte ASCII text) for information 1
Size of text 1
Info ID (4 byte ASCII text) for information 2
Size of 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) (e.g., "2022-12-31")|
|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.
LIST chunk in the WAVE context
Besides LIST chunks of type INFO, a common LIST chunk wave files is the associated data list.
LIST chunk in the DLS context
The DLS format makes extensive use of the LIST chunks of various subtypes, in addition to the INFO subtype. The following are examples.
- A LIST chunk of the subtype "wvpl" is a wave pool – a collection of wave samples that can be used to play various notes on various instruments. This wave pool chunk is itself a collection of LIST chunks of subtype "wave".
- A LIST chunk of the subtype "wave" contains one wave sample. Most of this chunk follows the WAVE file format. This LIST chunk contains a format chunk, a data chunk, and a "wave sample" chunk. (This last "wave sample" subchunk is specific to the DLS format and defines the MIDI note that will be played by the sample prior to any pitch shifting).
- A LIST chunk of the subtype "lins" is a list of instruments. It is itself a collection of LIST chunks of subtype "ins ". The instruments are those that can be played with the DLS file.
- A LIST chunk of the subtype "ins " represents a MIDI instrument. It specifies which wave samples in the DLS file should be used to play which notes on the instrument.
- A LIST chunk of the subtype "lrgn" is a list of regions or a list of articulations (see below).
- A LIST chunk of the subtype "rgn " is a region. For a specific instrument, the region specifies a wave sample and which notes can be played by that wave sample, if that wave sample is pitch shifted, as well as how this sample should be played (e.g., an amplitude envelope, a low frequency oscillation, or other parameters).
- A LIST chunk of the subtype "rgn2" is also a region, but its structure is defined in the second version (Level 2) of the DLS format.
- A LIST chunk of the subtype "lart" is a collection of articulations. It shows how an instrument or a note in an instrument should be played (see "rgn " above).
- A LIST chunk of the subtype "lar2" is also a collection of articulations, but its structure is defined in the second version (Level 2) of the DLS format.