WRIDs

TODO:

Chunk GroupName Name
as Specified
Bytes Type Type
as Specified
conditionDescriptionWRID
RIFF-WAVE id ckID 4 u8[4] FOURCC id = RIFF WRID>RIFF-WAVE>id
RIFF-WAVE size ckSize 4 u32 DWORD WRID>RIFF-WAVE>size
RIFF-WAVE form_type formType 4 u8[4] FOURCC form_type = WAVE WRID>RIFF-WAVE>form_type
data id ckID 4 u8[4] FOURCC id = data WRID>RIFF-WAVE>data>id
data size ckSize 4 u32 DWORD WRID>RIFF-WAVE>data>size
data data ckData size u8[size] ckData[ckSize] WRID>RIFF-WAVE>data>data
LIST-INFO id ckID 4 u8[4] FOURCC id = LIST WRID>RIFF-WAVE>LIST-INFO>id
LIST-INFO size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>size
LIST-INFO list_type (text) 4 u8[4] FOURCC list_type = INFO WRID>RIFF-WAVE>LIST-INFO>list_type
IARL id ckID 4 u8[4] FOURCC id = IARL WRID>RIFF-WAVE>LIST-INFO>IARL>id
IARL size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IARL>size
IARL text (text) size ZSTR ZSTR Archival Location. Indicates where the subject of the file is archived. WRID>RIFF-WAVE>LIST-INFO>IARL>text
IGNR id ckID 4 u8[4] FOURCC id = IGNR WRID>RIFF-WAVE>LIST-INFO>IGNR>id
IGNR size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IGNR>size
IGNR text (text) size ZSTR ZSTR Genre. Describes the original work, such as "landscape", "portrait", "still life", etc. WRID>RIFF-WAVE>LIST-INFO>IGNR>text
IKEY id ckID 4 u8[4] FOURCC id = IKEY WRID>RIFF-WAVE>LIST-INFO>IKEY>id
IKEY size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IKEY>size
IKEY text (text) size ZSTR ZSTR Keywords. Provides a list of keywords that refer to the file or subject of the file. Separate multiple keywords with a semicolon and a blank. For example, "Seattle; aerial view; scenery". WRID>RIFF-WAVE>LIST-INFO>IKEY>text
ILGT id ckID 4 u8[4] FOURCC id = ILGT WRID>RIFF-WAVE>LIST-INFO>ILGT>id
ILGT size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ILGT>size
ILGT text (text) size ZSTR ZSTR Lightness. Describes the changes in lightness settings on the digitizer required to produce the file. Note that the format of this information depends on hardware used. WRID>RIFF-WAVE>LIST-INFO>ILGT>text
IMED id ckID 4 u8[4] FOURCC id = IMED WRID>RIFF-WAVE>LIST-INFO>IMED>id
IMED size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IMED>size
IMED text (text) size ZSTR ZSTR Medium. Describes the original subject of the file, such as "computer image", "drawing", "lithograph", and so forth. WRID>RIFF-WAVE>LIST-INFO>IMED>text
INAM id ckID 4 u8[4] FOURCC id = INAM WRID>RIFF-WAVE>LIST-INFO>INAM>id
INAM size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>INAM>size
INAM text (text) size ZSTR ZSTR Name. Stores the title of the subject of the file, such as "Seattle From Above". WRID>RIFF-WAVE>LIST-INFO>INAM>text
IPLT id ckID 4 u8[4] FOURCC id = IPLT WRID>RIFF-WAVE>LIST-INFO>IPLT>id
IPLT size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IPLT>size
IPLT text (text) size ZSTR ZSTR Palette Setting. Specifies the number of colors requested when digitizing an image, such as "256". WRID>RIFF-WAVE>LIST-INFO>IPLT>text
IPRD id ckID 4 u8[4] FOURCC id = IPRD WRID>RIFF-WAVE>LIST-INFO>IPRD>id
IPRD size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IPRD>size
IPRD text (text) size ZSTR ZSTR Product. Specifies the name of the title the file was originally intended for, such as "Encyclopedia of Pacific Northwest Geography". WRID>RIFF-WAVE>LIST-INFO>IPRD>text
ISBJ id ckID 4 u8[4] FOURCC id = ISBJ WRID>RIFF-WAVE>LIST-INFO>ISBJ>id
ISBJ size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ISBJ>size
ISBJ text (text) size ZSTR ZSTR Subject. Describes the contents of the file, such as "Aerial view of Seattle". WRID>RIFF-WAVE>LIST-INFO>ISBJ>text
ISFT id ckID 4 u8[4] FOURCC id = ISFT WRID>RIFF-WAVE>LIST-INFO>ISFT>id
ISFT size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ISFT>size
ISFT text (text) size ZSTR ZSTR Software. Identifies the name of the software package used to create the file, such as "Microsoft WaveEdit". WRID>RIFF-WAVE>LIST-INFO>ISFT>text
ISHP id ckID 4 u8[4] FOURCC id = ISHP WRID>RIFF-WAVE>LIST-INFO>ISHP>id
ISHP size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ISHP>size
ISHP text (text) size ZSTR ZSTR Sharpness. Identifies the changes in sharpness for the digitizer required to produce the file (the format depends on the hardware used). WRID>RIFF-WAVE>LIST-INFO>ISHP>text
IART id ckID 4 u8[4] FOURCC id = IART WRID>RIFF-WAVE>LIST-INFO>IART>id
IART size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IART>size
IART text (text) size ZSTR ZSTR Artist. Lists the artist of the original subject of the file. For example, "Michaelangelo". WRID>RIFF-WAVE>LIST-INFO>IART>text
ISRC id ckID 4 u8[4] FOURCC id = ISRC WRID>RIFF-WAVE>LIST-INFO>ISRC>id
ISRC size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ISRC>size
ISRC text (text) size ZSTR ZSTR Source. Identifies the name of the person or organization who supplied the original subject of the file. For example, "Trey Research". WRID>RIFF-WAVE>LIST-INFO>ISRC>text
ISRF id ckID 4 u8[4] FOURCC id = ISRF WRID>RIFF-WAVE>LIST-INFO>ISRF>id
ISRF size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ISRF>size
ISRF text (text) size ZSTR ZSTR Source Form. Identifies the original form of the material that was digitized, such as "slide", "paper", "map", and so forth. This is not necessarily the same as IMED. WRID>RIFF-WAVE>LIST-INFO>ISRF>text
ITCH id ckID 4 u8[4] FOURCC id = ITCH WRID>RIFF-WAVE>LIST-INFO>ITCH>id
ITCH size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ITCH>size
ITCH text (text) size ZSTR ZSTR Technician. Identifies the technician who digitized the subject file. For example, "Smith, John." WRID>RIFF-WAVE>LIST-INFO>ITCH>text
ICMS id ckID 4 u8[4] FOURCC id = ICMS WRID>RIFF-WAVE>LIST-INFO>ICMS>id
ICMS size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ICMS>size
ICMS text (text) size ZSTR ZSTR Commissioned. Lists the name of the person or organization that commissioned the subject of the file. For example, "Pope Julian II". WRID>RIFF-WAVE>LIST-INFO>ICMS>text
ICMT id ckID 4 u8[4] FOURCC id = ICMT WRID>RIFF-WAVE>LIST-INFO>ICMT>id
ICMT size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ICMT>size
ICMT text (text) size ZSTR ZSTR Comments. Provides general comments about the file or the subject of the file. If the comment is several sentences long, end each sentence with a period. Do not include newline characters. WRID>RIFF-WAVE>LIST-INFO>ICMT>text
ICOP id ckID 4 u8[4] FOURCC id = ICOP WRID>RIFF-WAVE>LIST-INFO>ICOP>id
ICOP size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ICOP>size
ICOP text (text) size ZSTR ZSTR Copyright. Records the copyright information for the file. For example, "Copyright Encyclopedia International 1991." If there are multiple copyrights, separate them by a semicolon followed by a space. WRID>RIFF-WAVE>LIST-INFO>ICOP>text
ICRD id ckID 4 u8[4] FOURCC id = ICRD WRID>RIFF-WAVE>LIST-INFO>ICRD>id
ICRD size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ICRD>size
ICRD text (text) size ZSTR ZSTR Creation date. Specifies the date the subject of the file was created. List dates in year-month-day format, padding one-digit months and days with a zero on the left. For example, "1553-05-03" for May 3, 1553. WRID>RIFF-WAVE>LIST-INFO>ICRD>text
ICRP id ckID 4 u8[4] FOURCC id = ICRP WRID>RIFF-WAVE>LIST-INFO>ICRP>id
ICRP size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ICRP>size
ICRP text (text) size ZSTR ZSTR Cropped. Describes whether an image has been cropped and, if so, how it was cropped. For example, "lower right corner". IDIM Dimensions. Specifies the size of the original subject of the file. For example, "8.5 in h, 11 in w". WRID>RIFF-WAVE>LIST-INFO>ICRP>text
IDPI id ckID 4 u8[4] FOURCC id = IDPI WRID>RIFF-WAVE>LIST-INFO>IDPI>id
IDPI size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IDPI>size
IDPI text (text) size ZSTR ZSTR Dots Per Inch. Stores dots per inch setting of the digitizer used to produce the file, such as "300". WRID>RIFF-WAVE>LIST-INFO>IDPI>text
IENG id ckID 4 u8[4] FOURCC id = IENG WRID>RIFF-WAVE>LIST-INFO>IENG>id
IENG size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IENG>size
IENG text (text) size ZSTR ZSTR Engineer. Stores the name of the engineer who worked on the file. If there are multiple engineers, separate the names by a semicolon and a blank. For example, "Smith, John; Adams, Joe". WRID>RIFF-WAVE>LIST-INFO>IENG>text
ISMP id ckID 4 u8[4] FOURCC id = ISMP WRID>RIFF-WAVE>LIST-INFO>ISMP>id
ISMP size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>ISMP>size
ISMP text (text) size ZSTR ZSTR SMPTE time code of digitization start point expressed as a NULL terminated text string "HH:MM:SS.FF". If performing MCI capture in AVICAP, this chunk will be automatically set based on the MCI start time. WRID>RIFF-WAVE>LIST-INFO>ISMP>text
IDIT id ckID 4 u8[4] FOURCC id = IDIT WRID>RIFF-WAVE>LIST-INFO>IDIT>id
IDIT size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-INFO>IDIT>size
IDIT text (text) size ZSTR ZSTR Digitization Time. Specifies the time and date that digitization commenced. The digitization time is contained in an ASCII string which contains exactly 26 characters and is in the format "Wed Jan 02 02:03:55 1990\n\0". The ctime(), asctime(), functions can be used to create strings in this format. This chunk is automatically added to the capture file based on the current system time at the moment capture is initiated. WRID>RIFF-WAVE>LIST-INFO>IDIT>text
CSET id ckID 4 u8[4] FOURCC id = CSET WRID>RIFF-WAVE>CSET>id
CSET size ckSize 4 u32 DWORD WRID>RIFF-WAVE>CSET>size
CSET code_page wCodePage 2 u16 WORD Specifies the code page used for file elements. If the CSET chunk is not present, or if this field has value zero, assume standard ISO 8859/1 code page (identical to code page 1004 without code points defined in hex columns 0, 1, 8, and 9). WRID>RIFF-WAVE>CSET>code_page
CSET country_code wCountryCode 2 u16 WORD Specifies the country code used for file elements. See “ Country Codes,” following this section, for a list of currently defined country codes. If the CSET chunk is not present, or if this field has value zero, assume USA (country code 001). WRID>RIFF-WAVE>CSET>country_code
CSET language wLanguage 2 u16 WORD Specify the language and dialect used for file elements. See “Language and Dialect Codes,” later in this chapter, for a list of language and dialect codes. If the CSET chunk is not present, or if these fields have value zero, assume US English (language code 9, dialect code 1). WRID>RIFF-WAVE>CSET>language
CSET dialect wDialect 2 u16 WORD Specify the language and dialect used for file elements. See “Language and Dialect Codes,” later in this chapter, for a list of language and dialect codes. If the CSET chunk is not present, or if these fields have value zero, assume US English (language code 9, dialect code 1). WRID>RIFF-WAVE>CSET>dialect
fact id ckID 4 u8[4] FOURCC id = fact WRID>RIFF-WAVE>fact>id
fact size ckSize 4 u32 DWORD WRID>RIFF-WAVE>fact>size
fact samples dwFileSize 4 u32 DWORD Number of samples. RIFF1991 named this field dwFileSize, even though it's documented as "Number of samples" WRID>RIFF-WAVE>fact>samples
cue id ckID 4 u8[4] FOURCC id = "cue " WRID>RIFF-WAVE>cue>id
cue size ckSize 4 u32 DWORD WRID>RIFF-WAVE>cue>size
cue cue_points dwCuePoints 4 u32 DWORD Count of cue points. The number of times the cue-point struct repeats within this chunk. WRID>RIFF-WAVE>cue>cue_points
cue cue_point name dwName 4 u32 DWORD cue-point field: Specifies the cue point name. Each record must have a unique dwName field. WRID>RIFF-WAVE>cue>name
cue cue_point position dwPostion 4 u32 DWORD cue-point field: Specifies the sample position of the cue point. This is the sequential sample number within the play order. See plst chunk, for a discussion of the play order. WRID>RIFF-WAVE>cue>position
cue cue_point chunk_id fccChunk 4 u8[4] FOURCC cue-point field: Specifies the name or chunk ID of the chunk containing the cue point. WRID>RIFF-WAVE>cue>chunk_id
cue cue_point chunk_start dwChunkStart 4 u32 DWORD cue-point field: Specifies the file position of the start of the chunk containing the cue point. This is a byte offset relative to the start of the data section of the ‘wavl’ LIST chunk. WRID>RIFF-WAVE>cue>chunk_start
cue cue_point block_start dwBlockStart 4 u32 DWORD cue-point field: Specifies the file position of the start of the block containing the position. This is a byte offset relative to the start of the data section of the ‘wavl’ LIST chunk. WRID>RIFF-WAVE>cue>block_start
cue cue_point sample_offset dwSampleOffset 4 u32 DWORD cue-point field: Specifies the sample offset of the cue point relative to the start of the block. WRID>RIFF-WAVE>cue>sample_offset
plst id ckID 4 u8[4] FOURCC id = plst WRID>RIFF-WAVE>plst>id
plst size ckSize 4 u32 DWORD WRID>RIFF-WAVE>plst>size
plst segments dwSegments 4 u32 DWORD Count of play segments. WRID>RIFF-WAVE>plst>segments
plst segment name dwName 4 u32 DWORD play-segment field: Specifies the cue point name. This value must match one of the names listed in the cue cue-point table. WRID>RIFF-WAVE>plst>name
plst segment length dwLength 4 u32 DWORD play-segment field: Specifies the length of the section in samples. WRID>RIFF-WAVE>plst>length
plst segment loops dwLoops 4 u32 DWORD play-segment field: Specifies the number of times to play the section. WRID>RIFF-WAVE>plst>loops
JUNK id ckID 4 u8[4] FOURCC id = JUNK WRID>RIFF-WAVE>JUNK>id
JUNK size ckSize 4 u32 DWORD WRID>RIFF-WAVE>JUNK>size
JUNK padding padding size u8[size] BYTE[ckSize] WRID>RIFF-WAVE>JUNK>padding
PAD id ckID 4 u8[4] FOURCC id = PAD WRID>RIFF-WAVE>PAD>id
PAD size ckSize 4 u32 DWORD WRID>RIFF-WAVE>PAD>size
PAD padding padding size u8[size] BYTE[ckSize] WRID>RIFF-WAVE>PAD>padding
FLLR id ckID 4 u8[4] FOURCC id = FLLR WRID>RIFF-WAVE>FLLR>id
FLLR size ckSize 4 u32 DWORD WRID>RIFF-WAVE>FLLR>size
FLLR padding padding size u8[size] BYTE[ckSize] WRID>RIFF-WAVE>FLLR>padding
LIST-adtl id ckID 4 u8[4] FOURCC id = LIST WRID>RIFF-WAVE>LIST-adtl>id
LIST-adtl size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-adtl>size
LIST-adtl list_type list-type 4 u8[4] FOURCC list_type = adtl WRID>RIFF-WAVE>LIST-adtl>list_type
labl id ckID 4 u8[4] FOURCC id = labl The ‘labl’ chunk contains a label, or title, to associate with a cue point. WRID>RIFF-WAVE>LIST-adtl>labl>id
labl size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-adtl>labl>size
labl name dwName 4 u32 DWORD Specifies the cue point name. This value must match one of the names listed in the cue chunk' cue-point table. WRID>RIFF-WAVE>LIST-adtl>labl>name
labl text data size ZSTR ZSTR Specifies a NULL-terminated string containing a text label. WRID>RIFF-WAVE>LIST-adtl>labl>text
note id ckID 4 u8[4] FOURCC id = note The ‘note’ chunk contains comment text for a cue point WRID>RIFF-WAVE>LIST-adtl>note>id
note size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-adtl>note>size
note name dwName 4 u32 DWORD Specifies the cue point name. This value must match one of the names listed in the cue chunk' cue-point table. WRID>RIFF-WAVE>LIST-adtl>note>name
note text data size ZSTR ZSTR Specifies a NULL-terminated string containing comment text. WRID>RIFF-WAVE>LIST-adtl>note>text
ltxt id ckID 4 u8[4] FOURCC id = ltxt The “ ltxt” chunk contains text that is associated with a data segment of specific length WRID>RIFF-WAVE>LIST-adtl>ltxt>id
ltxt size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-adtl>ltxt>size
ltxt name dwName 4 u32 DWORD Specifies the cue point name. This value must match one of the names listed in the cue chunk' cue-point table. WRID>RIFF-WAVE>LIST-adtl>ltxt>name
ltxt sample_length dwSampleLength 4 u32 DWORD Specifies the number of samples in the segment of waveform data. WRID>RIFF-WAVE>LIST-adtl>ltxt>sample_length
ltxt purpose dwPurpose 4 u32 DWORD Specifies the type or purpose of the text. For example, dwPurpose can specify a FOURCC code like 'scrp' for script text or 'capt' for close-caption text. WRID>RIFF-WAVE>LIST-adtl>ltxt>purpose
ltxt country_code wCountry 2 u16 WORD Specifies the country code for the text. See "Country Codes" in CSET chunk, for a current list of country codes. WRID>RIFF-WAVE>LIST-adtl>ltxt>country_code
ltxt language wLanguage 2 u16 WORD Specify the language for the text. See "Language and Dialect Codes" in CSET chunk, for a current list of language and dialect codes. WRID>RIFF-WAVE>LIST-adtl>ltxt>language
ltxt dialect wDialect 2 u16 WORD Specify the dialect codes for the text. See "Language and Dialect Codes" in CSET chunk, for a current list of language and dialect codes. WRID>RIFF-WAVE>LIST-adtl>ltxt>dialect
ltxt code_page wCodePage 2 u16 WORD Specifies the code page for the text. See CSET chunk for details. WRID>RIFF-WAVE>LIST-adtl>ltxt>code_page
ltxt text data size-20 u8[size-20] BYTE[ckSize-20] WRID>RIFF-WAVE>LIST-adtl>ltxt>text
file id ckID 4 u8[4] FOURCC id = file The 'file' chunk contains information described in other file formats (for example, an 'RDIB' file or an ASCII text file). WRID>RIFF-WAVE>LIST-adtl>file>id
file size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-adtl>file>size
file name dwName 4 u32 DWORD Specifies the cue point name. This value must match one of the names listed in the cue chunk' cue-point table. WRID>RIFF-WAVE>LIST-adtl>file>name
file media_type dwMedType 4 DWORD DWORD Specifies the cue point name. This value must match one of the names listed in the cue-point table.Specifies the file type contained in the fileData field. If the fileData section contains a RIFF form, the dwMedType field is the same as the RIFF form type for the file. This field can contain a zero value. WRID>RIFF-WAVE>LIST-adtl>file>media_type
file file_data fileData size-8 u8[size-8] BYTE[ckSize-8] Contains the media file. WRID>RIFF-WAVE>LIST-adtl>file>file_data
md5 id 4 u8[4] id = "MD5 " MD5 audio data checksum. WRID>RIFF-WAVE>MD5 >id
md5 size 4 u32 size is always 16 bytes. WRID>RIFF-WAVE>MD5 >size
md5 md5 16 u128 MD5 checksum of the data chunk, not including the optional badding byte. WRID>RIFF-WAVE>MD5 >name
LIST-wavl id ckID 4 u8[4] FOURCC id = LIST WRID>RIFF-WAVE>LIST-wavl>id
LIST-wavl size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-wavl>size
LIST-wavl list_type list-type 4 u8[4] FOURCC list_type = wavl WRID>RIFF-WAVE>LIST-wavl>list_type
slnt id ckID 4 u8[4] FOURCC id = slnt The ‘slnt’ chunk represents silence, not necessarily a repeated zero volume or baseline sample. WRID>RIFF-WAVE>LIST-wavl>slnt>id
slnt size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-wavl>slnt>size
slnt samples dwFileSize 4 u32 DWORD Number of samples. WRID>RIFF-WAVE>LIST-wavl>slnt>samples
data id ckID 4 u8[4] FOURCC id = data This is the same as WRID>RIFF-WAVE>data, it can also be enclosed in this list type. WRID>RIFF-WAVE>LIST-wavl>data>id
data size ckSize 4 u32 DWORD WRID>RIFF-WAVE>LIST-wavl>data>size
data data ckData size u8[size] ckData[ckSize] WRID>RIFF-WAVE>LIST-wavl>data>data
inst id ckID 4 u8[4] FOURCC id = "inst" WRID>RIFF-WAVE>inst>id
inst size ckSize 4 u32 DWORD WRID>RIFF-WAVE>inst>size
inst unshifted_note bUnshiftedNote 1 u8 BYTE MIDI note number that corresponds to the unshifted pitch of the sample. Valid values range from 0 to 127. WRID>RIFF-WAVE>inst>unshifted_note
inst fine_tune chFineTune 1 i8 CHAR Pitch shift adjustment in cents (or 100ths of a semitone) needed to hit unshifted_note value exactly. fine_tune can be used to compensate for tuning errors in the sampling process. Valid values range from -50 to 50. WRID>RIFF-WAVE>inst>fine_tune
inst gain chGain 1 i8 CHAR Suggested volume setting for the sample in decibels. A value of zero decibels suggests no change in the volume. A value of -6 decibels suggests reducing the amplitude of the sample by two. WRID>RIFF-WAVE>inst>gain
inst low_note bLowNote 1 u8 BYTE Suggested usable MIDI note number range of the sample. Valid values range from 0 to 127. WRID>RIFF-WAVE>inst>low_note
inst high_note bHighNote 1 u8 BYTE Suggested usable MIDI note number range of the sample. Valid values range from 0 to 127. WRID>RIFF-WAVE>inst>high_note
inst low_velocity bLowVelocity 1 u8 BYTE Suggested usable MIDI velocity range of the sample. Valid values range from 0 to 127. WRID>RIFF-WAVE>inst>low_velocity
inst high_velocity bHighVelocity 1 u8 BYTE Suggested usable MIDI velocity range of the sample. Valid values range from 0 to 127. WRID>RIFF-WAVE>inst>high_velocity
smpl id 4 u8[4] FOURCC id = "smpl" WRID>RIFF-WAVE>smpl>id
smpl size 4 u32 DWORD WRID>RIFF-WAVE>smpl>size
smpl manufacturer dwManufacturer 4 u32 DWORD Specifies the MMA Manufacturer code for the intended target device. The high byte indicates the number of low order bytes (1 or 3) that are valid for the manufacturer code. For example, this value will be 0x01000013 for Digidesign (the MMA Manufacturer code is one byte, 0x13); whereas 0x03000041 identifies Microsoft (the MMA Manufacturer code is three bytes, 0x00 0x00 0x41). If the sample is not intended for a specific manufacturer, then this field should be set to zero. WRID>RIFF-WAVE>smpl>manufacturer
smpl product dwProduct 4 u32 DWORD Specifies the Product code of the intended target device for the manufacturer. If the sample is not intended for a specific manufacturer's product, then this field should be set to zero. WRID>RIFF-WAVE>smpl>product
smpl sample_period dwSamplePeriod 4 u32 DWORD Specifies the period of one sample in nanoseconds (normally 1/ samples_per_second from the WAVEFORMAT structure for the RIFF WAVE file -- however, this field allows fine tuning). For example, 44.1 kHz would be specified as 22675 (0x00005893). WRID>RIFF-WAVE>smpl>sample_period
smpl midi_unity_note dwMIDIUnityNote 4 u32 DWORD Specifies the MIDI note which will replay the sample at original pitch. This value ranges from 0 to 127 (a value of 60 represents Middle C as defined by the MMA). WRID>RIFF-WAVE>smpl>midi_unity_note
smpl midi_pitch_fraction dwMIDIPitchFraction 4 u32 DWORD Specifies the fraction of a semitone up from the specified midi_unity_note. A value of 0x80000000 is 1/2 semitone (50 cents); a value of 0x00000000 represents no fine tuning between semitones. WRID>RIFF-WAVE>smpl>midi_pitch_fraction
smpl smpte_format dwSMPTEFormat 4 u32 DWORD Specifies the SMPTE time format used in the smpte_offset field. Possible values are (unrecognized formats should be ignored): 0 - specifies no SMPTE offset (smpte_offset should also be zero). 24 - specifies 24 frames per second. 25 - specifies 25 frames per second. 29 - specifies 30 frames per second with frame dropping ('30 drop'). 30 - specifies 30 frames per second. WRID>RIFF-WAVE>smpl>smpte_format
smpl smpte_offset dwSMPTEOffset 4 u32 DWORD Specifies a time offset for the sample if it is to be syncronized or calibrated according to a start time other than 0. The format of this value is 0xhhmmssff. hh is a signed Hours value [-23..23]. mm is an unsigned Minutes value [0..59]. ss is unsigned Seconds value [0..59]. ff is an unsigned value [0..(smpte_format - 1)]. WRID>RIFF-WAVE>smpl>smpte_offset
smpl sample_loop_count cSampleLoops 4 u32 DWORD Specifies the number (count) of <sample-loop> records that are contained in the <smpl> chunk. The <sample-loop> records are stored immediately following the sampler_data field. WRID>RIFF-WAVE>smpl>sample_loop_count
smpl sampler_data_size cbSamplerData 4 u32 DWORD Specifies the size in bytes of the optional <sampler_data>. Sampler specific data is stored imediately following the <sample-loop> records. The sampler_data field will be zero if no extended sampler specific information is stored in the <smpl> chunk. WRID>RIFF-WAVE>smpl>sampler_data
smpl sample_loop identifier dwIdentifier 4 u32 DWORD Identifies the unique 'name' of the loop. This field may correspond with a name stored in the <cue > chunk. The name data is stored in the <LIST-adtl> chunk. WRID>RIFF-WAVE>smpl>identifier
smpl sample_loop type dwType 4 u32 DWORD Specifies the loop type: 0 - Loop forward (normal). 1 - Alternating loop (forward/backward). 2 - Loop backward. 3-31 - reserved for future standard types. 32-? - sampler specific types (manufacturer defined). WRID>RIFF-WAVE>smpl>type
smpl sample_loop start dwStart 4 u32 DWORD Specifies the startpoint of the loop in samples. WRID>RIFF-WAVE>smpl>start
smpl sample_loop end dwEnd 4 u32 DWORD Specifies the endpoint of the loop in samples (this sample will also be played). WRID>RIFF-WAVE>smpl>end
smpl sample_loop fraction dwFraction 4 u32 DWORD Allows fine-tuning for loop fractional areas between samples. Values range from 0x00000000 to 0xFFFFFFFF. A value of 0x80000000 represents 1/2 of a sample length. WRID>RIFF-WAVE>smpl>fraction
smpl sample_loop play_count dwPlayCount 4 u32 DWORD Specifies the number of times to play the loop. A value of 0 specifies an infinite sustain loop. WRID>RIFF-WAVE>smpl>play_count
fmt W_F_PCM id ckID 4 u8[4] FOURCC id = "fmt " WRID>RIFF-WAVE>fmt >id
fmt W_F_PCM size ckSize 4 u32 DWORD WRID>RIFF-WAVE>fmt >size
fmt W_F_PCM format_tag wFormatTag 2 u16 WORD = 0x0001 A number indicating the WAVE format category of the file. The content of the portion of the ‘fmt’ chunk, and the interpretation of the waveform data, depend on this value. WRID>RIFF-WAVE>fmt >format_tag
fmt W_F_PCM channels wChannels 2 u16 WORD The number of channels represented in the waveform data, such as 1 for mono or 2 for stereo. WRID>RIFF-WAVE>fmt >channels
fmt W_F_PCM samples_per_sec dwSamplesPerSec 4 u32 DWORD The sampling rate (in samples per second) at which each channel should be played. WRID>RIFF-WAVE>fmt >samples_per_sec
fmt W_F_PCM avg_bytes_per_sec dwAvgBytesPerSec 4 u32 DWORD The average number of bytes per second at which the waveform data should be transferred. Playback software can estimate the buffer size using this value. WRID>RIFF-WAVE>fmt >avg_bytes_per_sec
fmt W_F_PCM block_align wBlockAlign 2 u16 WORD The block alignment (in bytes) of the waveform data. Playback software needs to process a multiple of block_align bytes of data at a time, so the value of block_align can be used for buffer alignment. The block_align field should be equal to the following formula, rounded to the next whole number: channels x ( bits_per_sample / 8 ) WRID>RIFF-WAVE>fmt >block_align
fmt W_F_PCM bits_per_sample wBitsPerSample 2 u16 WORD The bits_per_sample field specifies the number of bits of data used to represent each sample of each channel. If there are multiple channels, the sample size is the same for each channel. The block_align field should be equal to the following formula, rounded to the next whole number: channels x ( bits_per_sample / 8 ) WRID>RIFF-WAVE>fmt >bits_per_sample
fmt W_F_UNKNOWN id ckID 4 u8[4] FOURCC id = "fmt " WRID>RIFF-WAVE>fmt >id
fmt W_F_UNKNOWN size ckSize 4 u32 DWORD WRID>RIFF-WAVE>fmt >size
fmt W_F_UNKNOWN format_tag wFormatTag 2 u16 WORD A number indicating the WAVE format category of the file. The content of the portion of the ‘fmt’ chunk, and the interpretation of the waveform data, depend on this value. WRID>RIFF-WAVE>fmt >format_tag
fmt W_F_UNKNOWN channels wChannels 2 u16 WORD The number of channels represented in the waveform data, such as 1 for mono or 2 for stereo. WRID>RIFF-WAVE>fmt >channels
fmt W_F_UNKNOWN samples_per_sec dwSamplesPerSec 4 u32 DWORD The sampling rate (in samples per second) at which each channel should be played. WRID>RIFF-WAVE>fmt >samples_per_sec
fmt W_F_UNKNOWN avg_bytes_per_sec dwAvgBytesPerSec 4 u32 DWORD The average number of bytes per second at which the waveform data should be transferred. Playback software can estimate the buffer size using this value. WRID>RIFF-WAVE>fmt >avg_bytes_per_sec
fmt W_F_UNKNOWN block_align wBlockAlign 2 u16 WORD The block alignment (in bytes) of the waveform data. Playback software needs to process a multiple of block_align bytes of data at a time, so the value of block_align can be used for buffer alignment. The block_align field should be equal to the following formula, rounded to the next whole number: channels x ( bits_per_sample / 8 ) WRID>RIFF-WAVE>fmt >block_align
fmt W_F_UNKNOWN bits_per_sample wBitsPerSample 2 u16 WORD The bits_per_sample field specifies the number of bits of data used to represent each sample of each channel. If there are multiple channels, the sample size is the same for each channel. The block_align field should be equal to the following formula, rounded to the next whole number: channels x ( bits_per_sample / 8 ) WRID>RIFF-WAVE>fmt >bits_per_sample
fmt W_F_UNKNOWN extra_size cbSize 2 u16 WORD The count in bytes of the extra extensible data. The size in bytes of the extra information in the WAVE format header not including the size of the WAVEFORMATEX structure. (size of fields from format_tag through extra_size inclusive (all fields except id, size and the extra_bytes)) WRID>RIFF-WAVE>fmt >extra_size
fmt W_F_UNKNOWN extra_bytes size-18 u8[size-18] WORD The extra information as bytes. For use when format_tag is unknown, so this portion can't be parsed deteriministically. WRID>RIFF-WAVE>fmt >extra_bytes
fmt W_F_ADPCM id ckID 4 u8[4] FOURCC id = "fmt " WRID>RIFF-WAVE>fmt >id
fmt W_F_ADPCM size ckSize 4 u32 DWORD WRID>RIFF-WAVE>fmt >size
fmt W_F_ADPCM format_tag wFormatTag 2 u16 WORD = 0x0002 A number indicating the WAVE format category of the file. The content of the portion of the ‘fmt’ chunk, and the interpretation of the waveform data, depend on this value. This must be set to WAVE_FORMAT_ADPCM. WRID>RIFF-WAVE>fmt >format_tag
fmt W_F_ADPCM channels wChannels 2 u16 WORD The number of channels represented in the waveform data, such as 1 for mono or 2 for stereo. WRID>RIFF-WAVE>fmt >channels
fmt W_F_ADPCM samples_per_sec dwSamplesPerSec 4 u32 DWORD Frequency of the sample rate of the wave file. This should be 11025, 22050, or 44100. Other sample rates are allowed, but not encouraged. WRID>RIFF-WAVE>fmt >samples_per_sec
fmt W_F_ADPCM avg_bytes_per_sec dwAvgBytesPerSec 4 u32 DWORD The average number of bytes per second at which the waveform data should be transferred. Playback software can estimate the buffer size using this value. ((samples_per_sec / samples_per_block) * block_align). WRID>RIFF-WAVE>fmt >avg_bytes_per_sec
fmt W_F_ADPCM block_align wBlockAlign 2 u16 WORD The block alignment (in bytes) of the waveform data. Playback software needs to process a multiple of block_align bytes of data at a time, so the value of block_align can be used for buffer alignment.

(samples_per_sec x channels)block_align
8k256
11k256
22k512
44k1024
WRID>RIFF-WAVE>fmt >block_align
fmt W_F_ADPCM bits_per_sample wBitsPerSample 2 u16 WORD This is the number of bits per sample of ADPCM. Currently only 4 bits per sample is defined. Other values are reserved. WRID>RIFF-WAVE>fmt >bits_per_sample
fmt W_F_ADPCM extra_size cbSize 2 u16 WORD The size in bytes of the extended information after the WAVEFORMATEX structure. For the standard WAVE_FORMAT_ADPCM using the standard seven coefficient pairs, this is 32. If extra coefficients are added, then this value will increase. WRID>RIFF-WAVE>fmt >extra_size
fmt W_F_ADPCM samples_per_block nSamplesPerBlock 2 u16 WORD Count of number of samples per block. (((block_align - (7 * channels)) * 8) / (bits_per_sample * channels)) + 2. WRID>RIFF-WAVE>fmt >samples_per_block
fmt W_F_ADPCM coefficient_count nNumCoef 2 u16 WORD Count of the number of coefficient sets defined in coefficients. WRID>RIFF-WAVE>fmt >coefficient_count
fmt W_F_ADPCM coefficients aCoeff 4 * coef_count (i16, i16)[coef_count] aCoeff[wNumCoef] These are the coefficients used by the wave to play. They may be interpreted as fixed point 8.8 signed values. Currently there are 7 preset coefficient sets. They must appear in the following order.

Coef1Coef2
2560
512-256
00
19264
2400
460-208
392-232

Note that if even only 1 coefficient set was used to encode the file then all coefficient sets are still included. More coefficients may be added by the encoding software, but the first 7 must always be the same.

WRID>RIFF-WAVE>fmt >coefficients
fmt W_F_DVI_ADPCM id ckID 4 u8[4] FOURCC id = "fmt " WRID>RIFF-WAVE>fmt >id
fmt W_F_DVI_ADPCM size ckSize 4 u32 DWORD WRID>RIFF-WAVE>fmt >size
fmt W_F_DVI_ADPCM format_tag wFormatTag 2 u16 WORD = 0x0011 A number indicating the WAVE format category of the file. The content of the portion of the ‘fmt’ chunk, and the interpretation of the waveform data, depend on this value. This must be set to WAVE_FORMAT_DVI_ADPCM. WRID>RIFF-WAVE>fmt >format_tag
fmt W_F_DVI_ADPCM channels wChannels 2 u16 WORD The number of channels represented in the waveform data, such as 1 for mono or 2 for stereo. WRID>RIFF-WAVE>fmt >channels
fmt W_F_DVI_ADPCM samples_per_sec dwSamplesPerSec 4 u32 DWORD Sample rate of the WAVE file. This should be 8000, 11025, 22050 or 44100. Other sample rates are allowed. WRID>RIFF-WAVE>fmt >samples_per_sec
fmt W_F_DVI_ADPCM avg_bytes_per_sec dwAvgBytesPerSec 4 u32 DWORD The average number of bytes per second at which the waveform data should be transferred. Playback software can estimate the buffer size using this value. ((samples_per_sec / samples_per_block) * block_align). WRID>RIFF-WAVE>fmt >avg_bytes_per_sec
fmt W_F_DVI_ADPCM block_align wBlockAlign 2 u16 WORD The block alignment (in bytes) of the waveform data. Playback software needs to process a multiple of wBlockAlign bytes of data at a time, so the value of wBlockAlign can be used for buffer alignment.

bits_per_sampleblock_align
3(( N * 3 ) + 1 ) * 4 * channels
4(N + 1) * 4 * channels
where N = 0, 1, 2, 3 . . .

The recommended block size for coding is 256 * bytes* min(1, (<samples_per_second>/ 11 kHz)) Smaller values cause the block header to become a more significant storage overhead. But, it is up to the implementation of the coding portion of the algorithm to decide the optimal value for <block_align> within the given constraints (see above). The decoding portion of the algorithm must be able to handle any valid block size. Playback software needs to process a multiple of <block_align> bytes of data at a time, so the value of <block_align> can be used for allocating buffers.

WRID>RIFF-WAVE>fmt >block_align
fmt W_F_DVI_ADPCM bits_per_sample wBitsPerSample 2 u16 WORD This is the number of bits per sample of data. DVI ADPCM supports 3 or 4 bits per sample. WRID>RIFF-WAVE>fmt >bits_per_sample
fmt W_F_DVI_ADPCM extra_size cbSize 2 u16 WORD The size in bytes of the extended information after the WAVEFORMATEX structure. This should be 2. WRID>RIFF-WAVE>fmt >extra_size
fmt W_F_DVI_ADPCM samples_per_block nSamplesPerBlock 2 u16 WORD Count of number of samples per block. (((block_align - (4 * channels)) * 8) / (bits_per)sample * channels)) + 1. WRID>RIFF-WAVE>fmt >samples_per_block
bext id ckID 4 u8[4] FOURCC id = "bext" WRID>RIFF-WAVE>bext>id
bext size ckSize 4 u32 DWORD WRID>RIFF-WAVE>bext>size
bext description Description 256 u8[256] FixedStr ASCII string (maximum 256 characters) containing a free description of the sequence. To help applications which display only a short description, it is recommended that a resume of the description is contained in the first 64 characters and the last 192 characters are used for details.

If the length of the string is less than 256 characters the last one shall be followed by a null character (00).

WRID>RIFF-WAVE>bext>description
bext originator Originator 32 u8[32] FixedStr ASCII string (maximum 32 characters) containing the name of the originator/ producer of the audio file. If the length of the string is less than 32 characters the field shall be ended by a null character. WRID>RIFF-WAVE>bext>originator
bext originator_reference OriginatorReference 32 u8[32] FixedStr ASCII string (maximum 32 characters) containing an unambiguous reference allocated by the originating organisation. If the length of the string is less than 32 characters the field shall be terminated by a null character.

Note: The EBU has defined a format for the OriginatorReference field. See EBU Recommendation R 99 [6].

WRID>RIFF-WAVE>bext>originator_reference
bext origination_date OriginationDate 10 u8[10] FixedStr 10 ASCII characters containing the date of creation of the audio sequence. The format shall be « ‘,year’,-,’month,’-‘,day,’» with 4 characters for the year and 2 characters per other item.

  • Year is defined from 0000 to 9999
  • Month is defined from 1 to 12
  • Day is defined from 1 to 28, 29, 30 or 31

The separator between the items can be anything but it is recommended that one of the following characters be used: ‘-’ hyphen ‘_’ underscore ‘:’ colon ‘ ’ space ‘.’ stop

WRID>RIFF-WAVE>bext>origination_date
bext origination_time OriginationTime 8 u8[8] FixedStr 8 ASCII characters containing the time of creation of the audio sequence. The format shall be « ‘hour’-‘minute’-‘second’» with 2 characters per item.

  • Hour is defined from 0 to 23.
  • Minute and second are defined from 0 to 59.

The separator between the items can be anything but it is recommended that one of the following characters be used: ‘-’ hyphen ‘_’ underscore ‘:’ colon ‘ ’ space ‘.’ stop

WRID>RIFF-WAVE>bext>origination_time
bext time_reference TimeReference 64 u64 u64 little endian These fields shall contain the time-code of the sequence. It is a 64-bit value which contains the first sample count since midnight. The number of samples per second depends on the sample frequency which is defined in the field nSamplesPerSec from the fmt chunk.

(WAVRef note: This is actually specified as two separate u32 integers, low, then high. On modern 64bit machines, it seems less error prone to just parse it as a single value.)

WRID>RIFF-WAVE>bext>time_reference
bext version Version 2 u16 WORD An unsigned binary number giving the version of the BWF. This number is particularly relevant for the carriage of the UMID and loudness information. For Version 1 it shall be set to 0x0001 and for Version 2 it shall be set to 0x0002. WRID>RIFF-WAVE>bext>version
bext umid UMID 64 u8[64] UMID 64 bytes containing a UMID (Unique Material Identifier) to standard SMPTE 330M [1]. If only a 32 byte "basic UMID" is used, the last 32 bytes should be set to zero. (The length of the UMID is given internally.) WRID>RIFF-WAVE>bext>umid
bext loudness_value LoudnessValue 2 u16 WORD A 16-bit signed integer, equal to round(100x the Integrated Loudness Value of the file in LUFS). WRID>RIFF-WAVE>bext>loudness_value
bext loudness_range LoudnessRange 2 u16 WORD A 16-bit signed integer, equal to round(100x the Loudness Range of the file in LU). WRID>RIFF-WAVE>bext>loudness_range
bext max_true_peak_level MaxTruePeakLevel 2 u16 WORD A 16-bit signed integer, equal to round(100x the Maximum True Peak Value of the file in dBTP). WRID>RIFF-WAVE>bext>max_true_peak_level
bext max_momentary_loudness MaxMomentaryLoudness 2 u16 WORD A 16-bit signed integer, equal to round(100x the highest value of the Momentary Loudness Level of the file in LUFS). WRID>RIFF-WAVE>bext>max_momentary_loudness
bext max_short_term_loudness MaxShortTermLoudness 2 u16 WORD A 16-bit signed integer, equal to round(100x the highest value of the Short-term Loudness Level of the file in LUFS).

Note: The loudness terms are explained in EBU Recommendation R 128 [2], EBU Tech 3341 [7] and EBU Tech 3342 [8], supported by EBU Tech 3343 and EBU Tech 3344

WRID>RIFF-WAVE>bext>max_short_term_loudness
bext reserved Reserved 180 u8[180] RAW 180 bytes reserved for extension. If the Version field is set to 0x0001 or 0x0002, these 180 bytes shall be set to a NULL (zero) value. WRID>RIFF-WAVE>bext>reserved
bext coding_history CodingHistory remaining u8[remaining] String Unrestricted ASCII characters containing a collection of strings terminated by CR/LF. Each string shall contain a description of a coding process applied to the audio data. Each new coding application shall add a new string with the appropriate information.

This information shall contain the type of sound (PCM or MPEG) with its specific parameters :

PCM : mode (mono, stereo), size of the sample (8, 16 bits) and sample frequency,

MPEG : sample frequency, bit rate, layer (I or II) and the mode (mono, stereo, joint stereo or dual channel),

It is recommended that the manufacturers of the coders provide an ASCII string for use in the coding history.

Note: The EBU has defined a format for coding history which will simplify the interpretation of the information provided in this field. See EBU Recommendation R 98 [9].

WRID>RIFF-WAVE>bext>coding_history