Customizing & Branding Your ReadiVoice System
Proprietary & Confidential 175
Details About the WAVE File Format
A WAVE file stores digital (sampled) audio data in Microsoft’s Resource
Interchange File Format (RIFF). RIFF is a variant of Electronic Arts’ Interchange
File Format (IFF). Unlike IFF, the Intel-oriented RIFF uses Little Endian byte
order. For more information about RIFF, visit the Microsoft Developer
Network (www.msdn.microsoft.com).
RIFF files consist of logical units of data called chunks. The first chunk in a RIFF
file is the RIFF chunk. All other chunks in the file are subchunks of the RIFF
chunk.
At a minimum, all WAVE files contain:
• The top-level RIFF chunk, which consists of three parts:
— The chunk identifier, which is the four-character code
RIFF
.
— The size of the data member chunks, a
DWORD
(four-byte integer). The
size is everything after the first eight bytes (the chunk identifier and
the size
DWORD
itself).
— The data member, which begins with a
DWORD
that specifies the form
type of the chunk (in this case
WAVE
). All other chunks in the file are
considered part of the data member of the RIFF chunk.
• A Format subchunk that describes the data (sample rate, bit resolution,
type of compression, and so forth).
• A Data subchunk that contains the actual sampled audio data.
But, RIFF (like IFF) is extensible. WAVE files can contain, and developers can
define, additional types of chunks to provide additional data and
functionality.
Polycom added two new chunks to the WAVE file format to create its indexed
WAVE files. They’re described in the “Indexed WAVE File Specifications”
section.