Log on
Main page Graphics Photography Music & Audio 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. A .wav file is a so-called "RIFF" file, and these files can have an "INFO" section (called a chunk) which contains the meta data.

The cool thing about such "chunks" is that they are simply ignored by the software reading the 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 a very bad idea 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:

Chunks in a .wav file

SectionSub sectionSub subPurpose of chunk
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.
LISTadtllablAn 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.
LISTINFOINAMThe name of the file (or "project").
ISBJThe subject.
IARTThe artist who created this.
ICMTA text comment.
IKEYThe keywords for the project or file.
ISFTThe software used to create the file.
IENGThe engineer.
ITCHThe technician.
ICRDThe creation date.
GENRGenre of content.
ICOPThe copyright information.
bextBroadcast extension chunk. This optional chunk contains multiple pieces of information all crammed into the same binary block.

Download an example containing example meta data to see if your software reads this info correctly.

Website by Joachim Michaelis