Log on
Main page Graphics Photography Music & Audio Audio Plugins Video Tools Web Design Documents Space Astro Amiga Funny Surreal Gallery Links & Contact

.WAV File Meta Data


There's a rumor that .wav files cannot have meta data, however, they can. Just like an .avi file a .wav file is a so-called "RIFF" file, and these files can have an "INFO" section which contains a series of sub sections called "chunks" which contain the meta data.

The cool thing about such "chunks" is that they can simply be ignored by the software reading the file if it doesn't understand them - a bit like how you can skip unknown tags in an XML file. This means that when old software reads a file written by new software, it can simply skip the unknown parts. Likewise, new software can read files written by old software and fill in the blanks itself. This way you get both forwards as backwards compatibility.

Some software use ID3 tags (from the mp3 format) to store meta data in .wav files, but this is an unfortunate choice because you do not get the compatibility benefits of using a chunk based format. Here's a short list of what chunks a .wav file with meta data can consist of. First the overall structure of a .wav file, where "...." represents 4 bytes that show the length of each "chunk":

RIFF....WAVE
   fmt ....<binary format data, sample rate channels etc.>
   data....<raw audio data>
LIST....INFO
   INAM....TRACK TITLE
   IPRD....ALBUM TITLE
   IART....ARTIST NAME
   ICMT....COMMENTS
   ICRD....YEAR
   IGNR....GENRE
   ITRK....TRACK NUMBER
Or explained in more detail...

Chunks in a .wav file

Main sectionChunk namePurpose and contents
RIFF....WAVETotal RIFF structure container. This spans the entire file. The LIST elements sit inside this structure.
fmt This section is typically 16 bytes long and contains the basic info about samplerate, number of channels etc. This chunk is required.
dataThe audio data itself. In order to be able to read this, you must have the data from the "fmt" chunk. This chunk is required.
cue  A cue chunk specifies one or more sample offsets which are often used to mark noteworthy sections of audio.
bextBroadcast extension chunk. This optional chunk contains multiple pieces of information all crammed into the same binary block.
LIST....INFOMeta data
INAMTrack title.
IPRDThe album title.
IARTThe artist who created this.
ICRDThe creation date in YYYY-MM-DD format, however you should expect to see just YYYY in this field.
ITRKTrack number.
ICMTA text comment.
IKEYThe keywords for the project or file.
ISFTThe software used to create the file.
IENGThe engineer.
ITCHThe technician.
IGNRGenre of content.
ICOPThe copyright information.
ISBJThe subject.
IENGThe name(s) of the engineer. Multiple names separated by a semicolon and a blank.
ISRCSource: the name of the person or organization that supplied the original subject of the file.
LIST....adtlMarkers
lablAn entry in an array containing an a label or name which is associated with the cue points from the "cue " tag in order to provide names for the markers. It seems to sit in its own LIST/INFO section separate from the meta data.

Application support

Program nameWrites meta data?
SoundForge 11Yes
Audacity 2.4.2Yes
Ffmpeg (2020-08-24)Yes
TagScanner 6.1.5ID3 only
Samplitude Pro X4Bext only
Sonoris ISRC Editor 1.0.3.0ISRC only (discards other meta data)
WinAmp 5.666No (but reads it)
Wavosaur 1.3.0.0No
iZotope RX7 editor 7.01.315No
Flac 1.3.3No (--keep-foreign-metadata fails to transfer meta tags correctly)

Some of the software listed here may have changed since writing this list. "Yes" means that a LIST....INFO meta data section is written according to the official specification. "ID3" means it only writes an mp3 format id3 tag standard instead of the .wav format's own meta data standard. "Bext" means it only writes Broadcast Extension section instead of the .wav format's own meta data standard.

Sources:

Download an example containing example meta data to see if your software reads this info correctly. More sources: recordingblogs.com or IBM & Microsoft's RIFF specification


Website by Joachim Michaelis