Format of WAV header -------------------- 4 bytes 'RIFF' ; RIFF tag 4 bytes ; length of remaining stuff 4 bytes 'WAVE' ; WAVE tag 4 bytes 'fmt ' ; 'fmt' chunk 4 bytes ; 10h - length of chunk 2 bytes 01 ; format 2 bytes 01 ; channels (1=mono, 2=stereo) 4 bytes xxxx ; samples per second 4 bytes xxxx ; average samples per second 2 bytes 01 ; block alignment 2 bytes 08 ; bits per sample 4 bytes 'data' ; 'data' chunk 4 bytes ; Length of data chunk (actual sample data) ; Here starts the real thing :-) ... ... For PCM data, the block alignment is the number of bytes used by a single sample, including data for both channels if the data is stereo. For example, the block alignment for 16-bit stereo PCM is 4 bytes (2 channels, 2 bytes per sample). Note: the sample data must end on an even byte boundary. All numeric data fields are in the Intel format of low-high byte ordering. .