The WAVE (WAV) File Format

The WAVE File Format

Also known as: WAV

Original Documentation

The Windows .WAV files are RIFF format files. Some programs expect the fmt block
right behind the RIFF header itself, so your programs should write out this
block as the first block in the RIFF file.

The subblocks for the wave files are
RiffBLOCK [data]
This block contains the raw sample data. The necessary information
for playback is contained in the [fmt ] block.

RiffBLOCK [fmt ]
This block contains the data necessary for playback of the sound
files. Note the blank after fmt !
OFFSET              Count TYPE   Description
0000h                   1 word   Format tag
								   1 = PCM (raw sample data)
								   2 etc. for APCDM, a-Law, u-Law ...
0002h                   1 word   Channels (1=mono,2=stereo,...)
0004h                   1 dword  Sampling rate
0008h                   1 dword  Average bytes per second (=sampling rate*channels)
000Ch                   1 word   Block alignment / reserved ??
000Eh                   1 word   Bits per sample (8/12/16-bit samples)

RiffBLOCK [loop]
This block is for looped samples. Very few programs support this block,
but if your program changes the wave file, it should preserve any unknown
OFFSET              Count TYPE   Description
0000h                   1 dword  Start of sample loop
0004h                   1 dword  End of sample loop


This information is from and is used with permission.

More Resources