Recent from talks
Contribute something
Nothing was collected or created yet.
| Waveform Audio File Format (WAVE/WAV) | |
|---|---|
| Filename extension |
.wav .wave |
| Internet media type | |
| Type code | WAVE |
| Uniform Type Identifier (UTI) | com.microsoft.waveform-audio |
| Developed by | IBM and Microsoft |
| Initial release | August 1991[3] |
| Latest release | |
| Type of format | Audio file format, container format |
| Extended from | RIFF |
| Extended to | BWF, RF64 |
Waveform Audio File Format (WAVE, or WAV due to its filename extension;[3][6][7] pronounced /wæv/ or /weɪv/ [8]) is an audio file format standard for storing an audio bitstream on personal computers. The format was developed and published for the first time in 1991 by IBM and Microsoft. It is the main format used on Microsoft Windows systems for uncompressed audio. The usual bitstream encoding is the linear pulse-code modulation (LPCM) format.
WAV is an application of the Resource Interchange File Format (RIFF) bitstream format method for storing data in chunks, and thus is similar to the 8SVX and the Audio Interchange File Format (AIFF) format used on Amiga and Macintosh computers, respectively.
Description
[edit]
The WAV file is an instance of a Resource Interchange File Format (RIFF) defined by IBM and Microsoft.[3] The RIFF format acts as a wrapper for various audio coding formats.
Though a WAV file can contain compressed audio, the most common WAV audio format is uncompressed audio in the linear pulse-code modulation (LPCM) format. LPCM is also the standard audio coding format for audio CDs, which store two-channel LPCM audio sampled at 44.1 kHz with 16 bits per sample. Since LPCM is uncompressed and retains all of the samples of an audio track, professional users or audio experts may use the WAV format with LPCM audio for maximum audio quality.[9] WAV files can also be edited and manipulated with relative ease using software.
On Microsoft Windows, the WAV format supports compressed audio using the Audio Compression Manager (ACM). Any ACM codec can be used to compress a WAV file. The user interface (UI) for ACM may be accessed through various programs that use it, including Sound Recorder in some versions of Windows.
Beginning with Windows 2000, a WAVE_FORMAT_EXTENSIBLE header was defined which specifies multiple audio channel data along with speaker positions, eliminates ambiguity regarding sample types and container sizes in the standard WAV format and supports defining custom extensions to the format.[4][5][10]
File specifications
[edit]RIFF
[edit]A RIFF file is a tagged file format. It has a specific container format (a chunk) with a header that includes a four-character tag (FourCC) and the size (number of bytes) of the chunk. The tag specifies how the data within the chunk should be interpreted, and there are several standard FourCC tags. Tags consisting of all capital letters are reserved tags. The outermost chunk of a RIFF file has a RIFF tag; the first four bytes of chunk data are an additional FourCC tag that specify the form type and are followed by a sequence of subchunks. In the case of a WAV file, the additional tag is WAVE. The remainder of the RIFF data is a sequence of chunks describing the audio information.
The advantage of a tagged file format is that the format can be extended later while maintaining backward compatibility.[11] The rule for a RIFF (or WAV) reader is that it should ignore any tagged chunk that it does not recognize.[12] The reader will not be able to use the new information, but the reader should not be confused.
The specification for RIFF files includes the definition of an INFO chunk. The chunk may include information such as the title of the work, the author, the creation date, and copyright information. Although the INFO chunk was defined for RIFF in version 1.0, the chunk was not referenced in the formal specification of a WAV file. Many readers had trouble processing this. Consequently, the safest thing to do from an interchange standpoint was to omit the INFO chunk and other extensions and send a lowest-common-denominator file. There are other INFO chunk placement problems.
RIFF files were expected to be used in international environments, so there is CSET chunk to specify the country code, language, dialect, and code page for the strings in a RIFF file.[13] For example, specifying an appropriate CSET chunk should allow the strings in an INFO chunk (and other chunks throughout the RIFF file) to be interpreted as Cyrillic or Japanese characters.
RIFF also defines a JUNK chunk whose contents are uninteresting.[14] The chunk allows a chunk to be deleted by just changing its FourCC. The chunk could also be used to reserve some space for future edits so the file could be modified without being resized. A later definition of RIFF introduced a similar PAD chunk.[15]
RIFF WAVE
[edit]The top-level definition of a WAV file is:[16]
<WAVE-form> → RIFF('WAVE'
<fmt-ck> // Format of the file
[<fact-ck>] // Fact chunk
[<cue-ck>] // Cue points
[<playlist-ck>] // Playlist
[<assoc-data-list>] // Associated data list
<wave-data> ) // Wave data
The top-level RIFF form uses a WAVE tag. It is followed by a mandatory <fmt-ck> chunk that describes the format of the sample data that follows. This chunk includes information such as the sample encoding, number of bits per channel, the number of channels, and the sample rate.
The WAV specification includes some optional features. The optional <fact-ck> chunk reports the number of samples for some compressed coding schemes. The <cue-ck> chunk identifies some significant sample numbers in the wave file. The <playlist-ck> chunk allows the samples to be played out of order or repeated rather than just from beginning to end. The associated data list (<assoc-data-list>) allows labels and notes to be attached to cue points; text annotation may be given for a group of samples (e.g., caption information).
Finally, the mandatory <wave-data> chunk contains the actual samples in the format previously specified.
Note that the WAV file definition does not show where an INFO chunk should be placed. It is also silent about the placement of a CSET chunk (which specifies the character set used).
The RIFF specification attempts to be a formal specification, but its formalism lacks the precision seen in other tagged formats. For example, the RIFF specification does not clearly distinguish between a set of subchunks and an ordered sequence of subchunks. The RIFF form chunk suggests it should be a sequence container. Sequencing information is specified in the RIFF form of a WAV file consistent with the formalism: "However, <fmt-ck> must always occur before <wave-data>, and both of these chunks are mandatory in a WAVE file."[17] The specification suggests a LIST chunk is also a sequence: "A LIST chunk contains a list, or ordered sequence, of subchunks."[18] However, the specification does not give a formal specification of the INFO chunk; an example INFO LIST chunk ignores the chunk sequence implied in the INFO description.[19] The LIST chunk definition for <wave-data> does use the LIST chunk as a sequence container with good formal semantics.
The WAV specification supports, and most WAV files use, a single contiguous array of audio samples. The specification also supports discrete blocks of samples and silence that are played in order. The specification for the sample data contains apparent errors:[20]
The <wave-data> contains the waveform data. It is defined as follows:
<wave-data> → { <data-ck> | <data-list> }
<data-ck> → data( <wave-data> )
<wave-list> → LIST( 'wavl' { <data-ck> | // Wave samples
<silence-ck> }... ) // Silence
<silence-ck> → slnt( <dwSamples:DWORD> ) // Count of silent samples
Apparently <data-list> (undefined) and <wave-list> (defined but not referenced) should be identical. Even with this resolved, the productions then allow a <data-ck> to contain a recursive <wave-data> (which implies data interpretation problems). To avoid the recursion, the specification can be interpreted as:
<wave-data> → { <data-ck> | <wave-list> }
<data-ck> → data( <bSampleData:BYTE> ... )
<wave-list> → LIST( 'wavl' { <data-ck> | // Wave samples
<silence-ck> }... ) // Silence
<silence-ck> → slnt( <dwSamples:DWORD> ) // Count of silent samples
WAV files can contain embedded IFF lists, which can contain several sub-chunks.[21][22][23]
WAV file header
[edit]This is an example of a WAV file header (44 bytes). Data is stored in little-endian byte order.
[Master RIFF chunk] FileTypeBlocID (4 bytes) : Identifier « RIFF » (0x52, 0x49, 0x46, 0x46) FileSize (4 bytes) : Overall file size minus 8 bytes FileFormatID (4 bytes) : Format = « WAVE » (0x57, 0x41, 0x56, 0x45) [Chunk describing the data format] FormatBlocID (4 bytes) : Identifier « fmt␣ » (0x66, 0x6D, 0x74, 0x20) BlocSize (4 bytes) : Chunk size minus 8 bytes, which is 16 bytes here (0x10) AudioFormat (2 bytes) : Audio format (1: PCM integer, 3: IEEE 754 float) NbrChannels (2 bytes) : Number of channels Frequency (4 bytes) : Sample rate (in hertz) BytePerSec (4 bytes) : Number of bytes to read per second (Frequency * BytePerBloc). BytePerBloc (2 bytes) : Number of bytes per block (NbrChannels * BitsPerSample / 8). BitsPerSample (2 bytes) : Number of bits per sample [Chunk containing the sampled data] DataBlocID (4 bytes) : Identifier « data » (0x64, 0x61, 0x74, 0x61) DataSize (4 bytes) : SampledData size SampledData
Metadata
[edit]As a derivative of RIFF, WAV files can be tagged with metadata in the INFO chunk. In addition, WAV files can embed any kind of metadata, including but not limited to Extensible Metadata Platform (XMP) data[24] or ID3 tags[25] in extra chunks. The RIFF specification requires that applications ignore chunks they do not recognize and applications may not necessarily use this extra information.
Popularity
[edit]Uncompressed WAV files are large, so file sharing of WAV files over the Internet is uncommon except among video, music and audio professionals. The high resolution of the format makes it suitable for retaining first generation archived files of high quality, for use on a system where disk space and network bandwidth are not constraints.
Use by broadcasters
[edit]In spite of their large size, uncompressed WAV files are used by most radio broadcasters, especially those that have adopted a tapeless system.
- BBC Radio in the UK requires LPCM 48 kHz 16-bit WAV audio as standard for all content made for broadcast on its stations.[26]
- The UK Commercial radio company Global Radio uses 44.1 kHz 16-bit two-channel WAV files throughout their broadcast chain.
- The ABC "D-Cart" system, which was developed by the Australian broadcaster, uses 48 kHz 16-bit two-channel WAV files.
- The Digital Radio Mondiale consortium uses WAV files as an informal standard for transmitter simulation and receiver testing.
Limitations
[edit]The WAV format is limited to files that are less than 4 GiB, because of its use of a 32-bit unsigned integer to record the file size in the header. Although this is equivalent to about 6.8 hours of CD-quality audio at 44.1 kHz, 16-bit stereo, it is sometimes necessary to exceed this limit, especially when greater sampling rates, bit resolutions or channel count are required. The W64 format was therefore created for use in Sound Forge. Its 64-bit file size field in the header allows for much longer recording times. The RF64 format specified by the European Broadcasting Union has also been created to solve this problem.
Non-audio data
[edit]Since the sampling rate of a WAV file can vary from 1 Hz to 4.3 GHz, and the number of channels can be as high as 65535, WAV files have also been used for non-audio data. LTspice, for instance, can store multiple circuit trace waveforms in separate channels, at any appropriate sampling rate, with the full-scale range representing ±1 V or A rather than a sound pressure.[27]
Audio compact discs
[edit]Audio compact discs (CDs) do not use the WAV file format, instead using Red Book audio. The commonality is that audio CDs are encoded as uncompressed 16-bit 44.1 kHz stereo LPCM, which is one of the formats supported by WAV.
Comparison of coding schemes
[edit]Audio in WAV files can be encoded in a variety of audio coding formats, such as GSM or MP3, to reduce the file size. All WAV files, even those that use MP3 compression, use the .wav extension.
This is a reference to compare the monophonic (not stereophonic) audio quality and compression bitrates of audio coding formats available for WAV files including LPCM, ADPCM, Microsoft GSM 06.10, CELP, SBC, Truespeech and MPEG Layer-3. These are the default ACM codecs that come with Windows.
| Format | Bitrate (kbit/s) | 1 minute (KiB) |
|---|---|---|
| 11,025 Hz 16 bit LPCM | 176.4 | 1292 |
| 8,000 Hz 16 bit LPCM | 128 | 938 |
| 11,025 Hz 8 bit LPCM | 88.2 | 646 |
| 11,025 Hz μ-Law | 88.2 | 646 |
| 8,000 Hz 8 bit LPCM | 64 | 469 |
| 8,000 Hz μ-Law | 64 | 469 |
| 11,025 Hz 4 bit ADPCM | 44.1 | 323 |
| 8,000 Hz 4 bit ADPCM | 32 | 234 |
| 11,025 Hz GSM 06.10 | 18 | 132 |
| 8,000 Hz MP3 16 kbit/s | 16 | 117 |
| 8,000 Hz GSM 06.10 | 13 | 103 |
| 8,000 Hz Lernout & Hauspie SBC 12 kbit/s | 12 | 88 |
| 8,000 Hz DSP Group Truespeech | 9 | 66 |
| 8,000 Hz MP3 8 kbit/s | 8 | 60 |
| 8,000 Hz Lernout & Hauspie CELP | 4.8 | 35 |
See also
[edit]References
[edit]- ^ Fleischman, E. (June 1998). WAVE and AVI Codec Registries. IETF. doi:10.17487/RFC2361. RFC 2361. Retrieved 2009-12-06.
- ^ "File Extension .WAV Details". Filext.com. Retrieved 2015-08-10.
- ^ a b c IBM; Microsoft (August 1991). "Multimedia Programming Interface and Data Specifications 1.0" (PDF). Retrieved 2020-12-26.
- ^ a b P. Kabal (2006-06-19). "Audio File Format Specifications - WAVE or RIFF WAVE sound file". McGill University. Retrieved 2010-03-16.
- ^ a b "Multiple Channel Audio Data and WAVE Files". Microsoft Corporation. 2007-03-07. Archived from the original on 2010-03-02. Retrieved 2010-03-16.
- ^ "WAVE Audio File Format". Library of Congress. 2008-09-12. Retrieved 2023-12-03.
- ^ Di Silvestro, Laile L.; Baribault, Greg (June 20, 1999). Waveform Audio File Format, MIME Sub-type Registration. IETF. I-D draft-ema-vpim-wav-00. Retrieved 2009-12-06.
- ^ "Definition of WAV file in English". Oxford English Living Dictionary. Archived from the original on February 7, 2018.
- ^ Branson, Ryan (21 October 2015). "What Makes WAV Better than MP3". Online Video Converter. Retrieved 18 June 2016.
- ^ EBU (July 2009), EBU Tech 3306 - MBWF / RF64: An Extended File Format for Audio (PDF), archived from the original (PDF) on 2009-11-22, retrieved 2010-01-19
- ^ IBM & Microsoft 1991, p. 1-1, "The main advantage of RIFF is its extensibility; file formats based on RIFF can be future-proofed, as format changes can be ignored by existing applications."
- ^ IBM & Microsoft 1991, PDF p. 56, "Programs must expect (and ignore) any unknown chunks encountered, as with all RIFF forms."
- ^ IBM & Microsoft 1991, pp. 2-17 to 2-18
- ^ IBM & Microsoft 1991, p. 2-18
- ^ Microsoft Multimedia Standards Update, New Multimedia Data Types and Data Techniques, Revision 3.0, April 15, 1994, page 6.
- ^ IBM & Microsoft 1991, PDF p. 56
- ^ IBM & Microsoft 1991, PDF p. 56
- ^ IBM & Microsoft 1991, PDF p. 23
- ^ IBM & Microsoft 1991, PDF p. 21,
INAMappears beforeICOP - ^ Specification from IBM & Microsoft 1991 which also describes how the production syntax is interpreted.
- ^ "WAVE File Format". 1999-11-15. Archived from the original on 1999-11-15. Retrieved 2010-03-16.
- ^ "WAVE PCM soundfile format". 2003-01-20. Archived from the original on 2009-08-27. Retrieved 2010-03-16.
- ^ "The WAVE File Format". Archived from the original on 2011-07-22. Retrieved 2010-03-16.
- ^ XMP SPECIFICATION PART 3: STORAGE IN FILES (PDF). Adobe Systems Incorporated. 2016. pp. 24–25. Archived from the original (PDF) on 25 February 2018. Retrieved 8 January 2020.
- ^ "WAV". Audacity. Archived from the original on 2020-11-06. Retrieved 2020-01-08.
- ^ "Audio Quality Information & Standards for BBC Radio and BBC Sounds" (PDF). BBC. BBC Design & Engineering. 28 March 2022. p. 8. Archived from the original (PDF) on 28 May 2024. Retrieved 28 May 2024.
- ^ "LTspice IV" (PDF). Linear Technologies Corporation. 2009. p. 95. Archived from the original (PDF) on 2012-02-27. Retrieved 2015-09-04.
External links
[edit]- WAVE file format specifications - from McGill University, (Last update: 2011-01-03)
- Extensible Wave-Format Descriptors from Microsoft (Updated October 26, 2017)
- More information on WAVE_FORMAT_EXTENSIBLE Archived 2024-03-03 at the Wayback Machine - University of Bath
- WAVE File Format - technical details (1999)
- WAV & BWF Metadata Guide
- Exif tags; see, for example, page 128
Overview
Description
The WAV (Waveform Audio File Format) is an uncompressed audio container format developed by Microsoft and IBM for storing raw pulse-code modulation (PCM) audio data.[6] It primarily utilizes linear PCM encoding, which represents audio samples as unaltered digital values without any lossy or lossless compression algorithms applied during storage.[6] This design prioritizes fidelity and ease of processing, positioning WAV as a foundational format for professional audio workflows, archiving, and direct hardware playback. Key characteristics of WAV include support for multiple audio channels, ranging from mono (single channel) to multichannel setups such as stereo or surround sound configurations.[6] It accommodates variable sample rates, for example from 8 kHz for low-fidelity applications like telephony to 192 kHz for high-resolution audio, and bit depths from 8-bit unsigned to 32-bit integer or floating-point representations.[6][7] File durations are constrained only by available storage space, as the format lacks inherent size limits beyond the underlying file system.[8] Introduced in 1991 alongside the Windows 3.1 multimedia APIs, WAV established itself as a standard for waveform audio interchange on Microsoft platforms, valued for its straightforward structure and broad compatibility across audio software and devices. The format is built on the Resource Interchange File Format (RIFF) container, which organizes audio data into modular chunks for efficient handling.[8]History
The WAV (Waveform Audio File Format) was developed in 1991 by Microsoft and IBM as an application of the Resource Interchange File Format (RIFF) specification, aimed at enabling multimedia audio support in the Windows 3.1 operating system.[9] The RIFF specification, published that year in Microsoft's Multimedia Programmer's Reference, provided a chunk-based structure for storing audio data, drawing inspiration from the earlier Interchange File Format (IFF) introduced by Electronic Arts in 1985.[9] This collaboration sought to standardize audio handling on personal computers, addressing the fragmentation of ad-hoc audio file types prevalent in early Windows applications.[9] Initially designed as a simple, platform-native container for uncompressed pulse-code modulation (PCM) audio playback, WAV quickly became integral to Windows multimedia capabilities.[1] In the 1990s, it was integrated into Windows Media Player starting with version 4.0 in 1995, enhancing native audio reproduction across consumer software.[10] By 2000, open-source tools like Audacity adopted WAV as a core import/export format upon its debut release on May 28, 2000, supporting editing workflows for both amateur and professional users.[11] A significant enhancement came in 2000 with Windows 2000, when Microsoft introduced the WAVE_FORMAT_EXTENSIBLE structure to accommodate multichannel audio configurations and higher sample resolutions, improving compatibility for surround sound and advanced playback scenarios.[1] Over time, WAV evolved from its PCM-centric origins to include support for compressed audio codecs, such as adaptive differential pulse-code modulation (ADPCM), via format tags managed by the Windows Audio Compression Manager (ACM). This flexibility allowed integration of lossy encoding options without altering the core container, though uncompressed PCM remained the default for high-quality applications. Paralleling Apple's Audio Interchange File Format (AIFF) for Macintosh systems—announced in 1988—Microsoft positioned WAV as the de facto standard for PCs through deep Windows integration.[1] No major specification updates have occurred since the early 2000s, reflecting the format's maturity.[1] As of 2025, WAV persists in archival storage and high-fidelity audio production, valued for its lossless integrity and broad compatibility in professional environments.[12]Technical Specifications
RIFF Container Format
The Resource Interchange File Format (RIFF) serves as a generic meta-format for organizing multimedia data in a structured, tagged manner, enabling the storage and exchange of various media types such as audio and video. It consists of a top-level file header followed by a series of sub-chunks, where the header begins with a 4-byte identifier "RIFF" in ASCII, succeeded by a 4-byte little-endian unsigned integer indicating the overall file size minus 8 bytes, and a 4-byte form type specifier that defines the file's content category, such as "WAVE" for audio files. This architecture allows RIFF to act as a flexible container, accommodating diverse data streams while maintaining a consistent framework for parsing and processing.[13][14] At its core, each chunk within a RIFF file follows a uniform structure: a 4-byte chunk ID (a FOURCC code, such as "fmt " for format description), a 4-byte little-endian unsigned integer for the chunk's data size, and the variable-length data payload itself, which may be padded with a single zero byte if its length is odd to ensure even alignment for subsequent chunks. Chunks can nest hierarchically, with list chunks (identified by IDs like "LIST") containing subgroups of sub-chunks, facilitating complex file organizations without rigid predefined layouts. This tagged approach promotes modularity, as applications can skip unrecognized chunks, enhancing forward compatibility.[13][14] RIFF's design emphasizes portability and extensibility, employing little-endian byte order to align with x86 architecture prevalent in personal computing, while allowing custom chunks for vendor-specific extensions without breaking core functionality. Beyond audio, it underpins formats like AVI for video streams, demonstrating its versatility as a multimedia interchange standard. In the context of WAV files, RIFF is instantiated with the form type set to "WAVE," encapsulating audio-specific sub-chunks such as "fmt " for encoding parameters and "data" for raw sample values.[13][9][14] The format was jointly specified by Microsoft and IBM in 1991 as part of the Multimedia Programming Interface and Data Specifications, aimed at facilitating interchangeable multimedia resources across Windows environments.[9][15]WAVE Form Type
The WAVE form type within the RIFF container is declared by the four-character code "WAVE" immediately following the RIFF file identifier and size fields, signifying that the file serves as a container for digital audio waveform data.[3] This declaration adapts the general RIFF structure specifically for audio storage, enabling the organization of audio-related chunks while maintaining compatibility with the broader RIFF chunk-based hierarchy.[9] Essential chunks define the core audio properties and content in WAV files. The "fmt " chunk, mandatory for all WAV files, specifies the audio format and is typically 16 bytes long for uncompressed PCM audio, including a 2-byte format tag indicating the codec, a 2-byte channel count, a 4-byte sample rate, a 4-byte average bytes per second for playback buffering, a 2-byte block alignment for sample grouping, and a 2-byte bits per sample value.[7] For formats requiring additional parameters, such as extensible PCM, the chunk size extends to 18 bytes.[7] The "fact" chunk is optional but required for compressed audio formats, containing a 4-byte unsigned integer representing the total number of audio samples to aid in duration calculations without full decompression.[16] The "data" chunk holds the actual raw audio samples, with its size field matching the length of the audio payload, calculated as the total file size minus all preceding header and chunk overheads.[7] Optional chunks extend WAV functionality for specific use cases. The "LIST" chunk groups related subchunks, such as those under the "INFO" type for embedding metadata like artist names or titles, allowing structured non-audio information without altering the core waveform data.[17] The "smpl" chunk supports instrument applications by defining sample loop parameters, including the number of loops, start and end points, and playback types, enabling seamless looping in synthesizers and samplers.[18] WAV files organize audio data through interleaved samples for multichannel content, where samples from each channel are sequentially arranged (e.g., left channel sample followed by right for stereo), facilitating straightforward playback and processing.[17] Navigation within the file relies on chunk offsets rather than embedded indices, allowing applications to seek directly to the "data" chunk for efficient access.[3] Codec support is handled via the 2-byte format tag in the "fmt " chunk, with standard values such as 0x0001 for linear PCM (uncompressed) and 0x0002 for Microsoft ADPCM (compressed), accommodating up to 65,535 unique tags for proprietary or extended codecs.[19]File Header Structure
The WAV file format is structured as a RIFF container, beginning with a 12-byte RIFF header followed by one or more chunks, with the overall file size limited to 4 GB due to the 32-bit size field in the RIFF header.[13] The RIFF header consists of the ASCII characters "RIFF" (bytes 0-3), a 32-bit little-endian integer representing the total file size minus 8 bytes (bytes 4-7), and the ASCII characters "WAVE" to identify the form type (bytes 8-11).[7] This header encapsulates subsequent chunks, such as the mandatory "fmt " and "data" chunks for basic PCM audio. The "fmt " chunk, which describes the audio format, immediately follows the RIFF header in standard WAV files. It begins with the ASCII identifier "fmt " (4 bytes) and a 32-bit little-endian integer indicating the chunk size (typically 16 bytes for uncompressed PCM, excluding the identifier and size fields). The format data within the chunk is laid out as follows, with all multi-byte values in little-endian byte order:| Offset (within fmt data) | Size (bytes) | Field | Description | Example (16-bit stereo PCM at 44.1 kHz) |
|---|---|---|---|---|
| 0 | 2 | Format Tag | Compression format; 1 indicates PCM | 0x0001 (1) |
| 2 | 2 | Channels | Number of audio channels | 0x0002 (2 for stereo) |
| 4 | 4 | Sample Rate | Samples per second in Hz | 0x00AC44 (44100) |
| 8 | 4 | Byte Rate | Average bytes per second (sample rate × channels × bits per sample / 8) | 0xB11B00 (176400) |
| 12 | 2 | Block Align | Bytes per sample frame (channels × bits per sample / 8) | 0x0004 (4) |
| 14 | 2 | Bits per Sample | Bits per channel sample | 0x0010 (16) |
| 16 (optional) | 2 | Extension Size | Size of additional format data (0 for basic PCM; used in extensible format) | N/A |
Metadata and Extensions
Standard Metadata Fields
The standard metadata in WAV files is embedded using the "INFO" LIST chunk, a container defined in the RIFF specification that holds optional textual information about the audio content.[15] This chunk allows for simple descriptive tags without affecting playback compatibility, as it is ignored by players that do not recognize it.[9] The "INFO" LIST chunk consists of sub-chunks, each identified by a four-character code (FourCC) and containing a null-terminated string in ASCII format. Common standard sub-chunks include:- INAM: The title or name of the audio work.
- IART: The artist or performer name.
- ICMT: General comments about the file.
- ISFT: The name of the software used to create or encode the file.
- ICRD: The creation or recording date, formatted as a string in YYYY-MM-DD style.[20]
Advanced Extensions
The Broadcast Wave Format (BWF), developed by the European Broadcasting Union (EBU) and first specified in 1997 as EBU Tech 3285, extends the standard WAV format by introducing the "bext" chunk to embed critical metadata for professional audio exchange in broadcasting workflows.[23] This chunk includes a 256-byte description field, 32-byte originator and originator reference fields, a 10-byte origination date in YYYY-MM-DD format, an 8-byte time reference (64-bit unsigned integer) representing the sample count from 00:00:00, a version number, and a variable-length coding history string that logs audio processing steps.[23] BWF was specified by the EBU in 1997 for audio material exchange among member broadcasters, ensuring standardized metadata like time references and provenance tracking across production chains.[24] Microsoft's WAVE_FORMAT_EXTENSIBLE, introduced with Windows 2000, provides an extensible header structure within the "fmt " chunk to accommodate advanced audio configurations beyond basic PCM limitations.[25] This 22-byte extension (including cbSize=22) appends fields such as wValidBitsPerSample for specifying effective bit depth in oversized containers (e.g., 20 bits within 24-bit words), dwChannelMask for defining speaker positions in multichannel setups exceeding 16 channels (e.g., surround sound with up to 18 channels via bit flags like 0x1 for front left), and a 16-byte SubFormat GUID to identify non-PCM encodings like IEEE floating-point audio.[25] Adopted as the default for high-definition audio in Windows Vista and subsequent versions, it facilitates precise channel mapping and format flexibility in professional and consumer surround sound applications.[25] Additional specialized chunks enhance WAV for niche professional needs. The iXML chunk, defined in the open iXML specification by the Institute of Professional Sound, stores production-oriented XML metadata such as microphone model, take notes, and scene details, often duplicating select bext fields for interoperability with non-WAV formats.[26] The "levl" chunk, outlined in EBU Tech 3285 Supplement 3 from 2001, captures peak envelope data for loudness analysis, including true peak levels and sample positions to aid in broadcast compliance and mastering.[27] For high-resolution archiving, the RF64 extension (EBU Tech 3306, 2006) addresses the 4 GB file size limit of RIFF/WAVE by introducing a mandatory "ds64" chunk with 64-bit equivalents for file size, data size, and sample count, while maintaining full backward compatibility with BWF through optional "JUNK" placeholders that upgrade seamlessly.[28] RF64 supports post-2010 high-res audio workflows, including multichannel content up to 18 channels, and is widely used in archival systems for uncompressed files exceeding traditional limits.[28] Support for Direct Stream Digital (DSD) audio in WAV leverages the WAVE_FORMAT_EXTENSIBLE framework with a custom "DSD " chunk or GUID to encapsulate 1-bit delta-sigma modulated data, enabling compatibility in tools like WavPack for high-sample-rate (e.g., 2.8224 MHz DSD64) playback without native DSDIFF/DSF containers.[29]Applications and Usage
General Popularity
The WAV format maintains widespread adoption in consumer and professional audio workflows due to its uncompressed, lossless nature, which preserves full audio fidelity without quality degradation during editing or processing. In the Windows ecosystem, WAV is natively supported through the DirectSound API, a core component of the DirectX multimedia framework that enables low-latency audio playback and recording in numerous applications.[30] This integration has made WAV a staple for Windows-based audio software, where it serves as the default for high-quality output in tools like Audacity, whose export options prioritize Signed 16-bit PCM WAV as the standard encoding for CD-quality audio.[31] Similarly, video editing software such as Adobe Premiere Pro and Final Cut Pro recommends WAV for importing and editing audio tracks to avoid compression artifacts, ensuring seamless integration with visual elements.[32] In professional settings, WAV is the preferred format for audio mastering and production pipelines, particularly in digital audio workstations like Pro Tools, which routinely import and export WAV files to maintain bit-perfect accuracy during mixing and finalization.[33] For CD-quality stereo audio (44.1 kHz, 16-bit), WAV files typically average approximately 10 MB per minute, reflecting their uncompressed structure that supports high-fidelity archiving and repeated manipulations without data loss.[34] This reliability has sustained WAV's relevance in the 2020s, including game audio development, where engines like Unity import WAV files as the uncompressed standard for optimal sound quality in assets such as sound effects and background music.[35] WAV's enduring popularity stems from its structural simplicity—based on the RIFF container without proprietary encoding algorithms—and the absence of licensing fees, allowing broad, royalty-free implementation across platforms and devices. These attributes, combined with universal compatibility in operating systems and software, position WAV as a go-to for lossless storage despite the prevalence of compressed formats like MP3 for distribution.[36] While its larger file sizes can pose storage challenges, this trade-off underscores WAV's role in scenarios demanding uncompromised audio integrity.[37]Broadcasting and Professional Use
In broadcasting, the WAV format, particularly its Broadcast Wave Format (BWF) extension, has served as a standard for audio exchange since the late 1990s, enabling seamless transfer of high-quality PCM audio between production systems.[23] Developed by the European Broadcasting Union (EBU), BWF ensures compatibility across diverse broadcast environments by mandating metadata chunks for time referencing and description, making it essential for professional audio workflows.[24] For television and radio applications, BWF is typically required, with specifications often calling for 48 kHz sampling at 24-bit depth to support high-definition audio standards.[38] This configuration aligns with EBU Recommendation R84-1996, which promotes 48 kHz as the baseline for production audio to preserve fidelity during transmission and archiving.[39] In professional post-production, WAV files are commonly used to export stems—separate tracks for elements like dialogue, music, and effects—facilitating collaborative mixing and revisions without quality loss.[40] Digital audio workstations (DAWs) such as Logic Pro integrate WAV export directly into their bounce functions, allowing producers to output BWF-compliant files that embed essential metadata like sample-accurate timestamps.[41] Specific standards within BWF support SMPTE timecode embedding through a dedicated time reference chunk, which records the exact position of audio samples relative to a 24-hour clock, crucial for synchronizing with video in broadcast and film pipelines.[23] In the film industry, WAV adoption extends to immersive audio, where Dolby Atmos mixes are exported as ADM BWF files to encapsulate object-based metadata alongside multichannel PCM audio.[42] This format ensures precise rendering across playback systems, from theaters to streaming platforms.[43] The British Broadcasting Corporation (BBC) exemplifies WAV's institutional role, mandating BWF files for supplementary audio delivery in program submissions as per its January 2025 programme delivery specifications, ensuring alignment with MXF video containers and EBU standards.[44] In the evolving streaming era, WAV remains vital for podcast production, where masters are created in uncompressed WAV before final compression to AAC for distribution, preserving full dynamic range during editing.[45] BWF's metadata capabilities, such as coding history fields, further enhance its utility in these professional contexts by tracking processing provenance.[23]Limitations and Compatibility
Inherent Limitations
The WAV format's uncompressed nature results in significantly large file sizes, making it resource-intensive for storage and transfer. For instance, standard CD-quality audio—sampled at 44.1 kHz with 16-bit depth and two channels—generates approximately 10 MB of data per minute of playback. This arises from the formula: (sample rate × bit depth ÷ 8) × channels × 60 seconds, yielding 44,100 samples/second × 2 bytes/sample × 2 channels × 60 = 10,584,000 bytes (about 10 MB).[46] A core design constraint stems from the underlying RIFF container, which employs a 32-bit unsigned integer for the file size field, capping standard WAV files at 4 GB—equivalent to roughly 6 hours and 45 minutes of CD-quality audio (approximately 405 minutes). This limitation hinders the format's use for extended recordings, such as in archiving or professional production. While the RF64 extension mitigates this by incorporating 64-bit size indicators to support files up to approximately 16 exabytes, its adoption remains inconsistent across applications and devices.[28][1] WAV lacks integrated compression mechanisms in its standard PCM implementation, forgoing opportunities to reduce file sizes without quality loss, and includes no built-in error detection or correction like checksums, rendering files vulnerable to corruption from transmission errors or storage degradation. The format's reliance on little-endian byte ordering further introduces platform dependencies, optimizing for Intel/AMD architectures common in Windows environments but necessitating byte-swapping on big-endian systems, such as certain embedded or legacy hardware. Additionally, WAV provides no native support for variable bitrates—irrelevant for its constant-rate uncompressed data—and offers rudimentary metadata via non-standardized INFO chunks, impeding efficient searching or cataloging. These constraints persist in contemporary contexts, including cloud storage environments like AWS S3, where object sizes can exceed 5 TB but standard WAV's 4 GB ceiling still necessitates workarounds for lengthy audio assets, exacerbating bandwidth and storage demands on resource-constrained platforms like mobile devices.Compatibility with Media
The WAV format serves as the digital equivalent of the Red Book audio standard used for Audio CDs, which specifies uncompressed PCM audio at 44.1 kHz sample rate and 16-bit depth in stereo.[47] This compatibility allows WAV files matching these parameters to be directly used as source material for CD mastering without quality loss, as the format encapsulates the same linear PCM data found on CDs. Tools such as cdrdao facilitate the conversion by generating .cue or .toc files from WAV tracks, which are then burned to disc in Red Book-compliant mode, often packaging the audio into a format compatible with ISO 9660 for data integrity during the burning process.[48][49] In digital media environments, WAV enjoys universal playback support through the HTML5<audio> element across modern browsers, enabling seamless embedding and reproduction without additional plugins.[50] However, its uncompressed nature results in significantly larger file sizes—often 10 times that of equivalent MP3 files—making it less suitable for web streaming or bandwidth-constrained applications, where loading times and data usage become prohibitive.[51] To address this, conversion to compressed formats like MP3 or WMA is standard practice for web portability, preserving compatibility while reducing file sizes for online distribution and mobile playback.[52]
Hardware compatibility for WAV is broad, as the format relies on standard PCM decoding supported by most digital-to-analog converters (DACs) and sound cards, ensuring reliable playback on contemporary systems.[53] That said, older devices may encounter issues with high sample rates exceeding 96 kHz, often due to hardware limitations that cap support at 48 kHz or 96 kHz, leading to downsampling or playback errors unless software resampling is applied.[54]
WAV exhibits strong cross-platform support, with native handling on Windows, macOS, and Linux operating systems through built-in audio subsystems like DirectSound, Core Audio, and ALSA, respectively, allowing direct playback via standard media players or command-line tools such as aplay on Linux.[55][56] On mobile platforms like Android and iOS, full feature support typically requires third-party applications such as VLC, which provide comprehensive decoding for WAV's variable parameters without native OS integration.[57]
In the 2020s, WAV has gained prominence in VR and AR audio workflows, particularly for spatial audio mastering, where it serves as an intermediate uncompressed format for exporting high-fidelity mixes in Ambisonics or object-based audio before final conversion to platform-specific deliverables like binaural stereo.[58] This usage leverages WAV's lossless integrity in digital audio workstations for precise 3D sound placement, addressing the need for hyper-realistic immersion in extended reality applications.[59]
Variants and Comparisons
Support for Non-Audio Data
The WAV format, built on the Resource Interchange File Format (RIFF), employs an extensible chunk-based structure that permits the inclusion of custom data beyond standard PCM audio streams.[13] This flexibility allows developers to embed non-audio payloads in dedicated chunks, such as the "smpl" chunk for MIDI-related sampler parameters, which specifies details like the MIDI unity note and fine-tuning for integrating WAV samples into MIDI synthesizers.[17] Similarly, the iXML chunk enables the embedding of XML-formatted data within Broadcast Wave Format (BWF) extensions of WAV files, facilitating structured information for applications like game sound effects, where XML can describe cue points, fades, or effect parameters without altering the core audio.[60] Hybrid audio formats leverage this extensibility for non-traditional content. For instance, Direct Stream Digital (DSD) audio, used in Super Audio CDs (SACDs), is encapsulated in the DSDIFF variant of RIFF, where the form type is designated as "DSD " to contain 1-bit delta-sigma modulated streams sampled at 2.8224 MHz, diverging from PCM while maintaining RIFF compatibility.[61] Ambisonics spatial audio is also supported through WAV files, often via custom GUIDs or channel configurations in the "fmt " chunk to represent multi-channel B-format soundfields for 3D immersion.[62] Practical examples illustrate these capabilities. In digital forensics and signal processing, WAV files store raw sensor data, such as ultrasound signals from piezoelectric transducers, preserving unprocessed time-domain traces for analysis without compression artifacts.[63] In gaming, the WSMP (Wave Sample) chunk—common in Downloadable Sounds (DLS) instruments derived from WAV—defines looped playback parameters, enabling seamless sample cycling in interactive audio engines like DirectMusic.[64] Despite these advantages, the lack of standardized validation for custom chunks poses challenges; media players typically parse only recognized chunks like "fmt " and "data," ignoring or stripping unknown ones during processing, which can lead to data loss in non-compliant workflows.[13]Comparison with Other Audio Formats
The WAV format, as an uncompressed, lossless container primarily using PCM encoding, contrasts with other audio formats in terms of file size, processing efficiency, and application suitability. While WAV excels in preserving original audio fidelity without artifacts, making it ideal for professional editing and mastering, alternatives like AIFF offer similar quality but differ in platform-specific implementation, compressed formats such as MP3 and AAC prioritize storage and streaming at the cost of some detail, and lossless compressed options like FLAC and WavPack balance size reduction with verifiability features that WAV lacks. In 2025, formats like Opus have gained prominence for web-based applications, where WAV often serves as the uncompressed reference for quality benchmarking.[65][66][67][68]WAV vs. AIFF
Both WAV and AIFF are uncompressed, lossless formats using chunk-based structures derived from the Interchange File Format (IFF); WAV employs the RIFF specification with little-endian byte order, while AIFF uses big-endian ordering native to Apple systems. They deliver identical audio quality with no discernible differences in fidelity for the same PCM data. WAV is native to Windows and more widely supported on PCs, while AIFF is optimized for macOS and historically preferred in Apple ecosystems. File sizes are equivalent for equivalent content, as neither applies compression, but compatibility varies: WAV enjoys broader cross-platform adoption in professional software like digital audio workstations (DAWs), whereas AIFF is common in Mac-centric workflows for archiving and exchange. Modern tools often convert seamlessly between them without quality loss, though WAV's prevalence in open-source and Windows environments gives it an edge in general use.[69][70][2][71]WAV vs. Compressed Formats (MP3 and AAC)
Unlike the perceptual coding schemes in MP3 and AAC, which discard data deemed inaudible to achieve compression, WAV stores full PCM audio data without any loss, ensuring no generation of compression artifacts like ringing or pre-echo. This results in WAV files being approximately 10 times larger than a typical MP3 at 128 kbps bitrate—for instance, a CD-quality stereo track at 44.1 kHz/16-bit yields about 1.4 Mbps in WAV versus 128 kbps in MP3, prioritizing editing workflows where repeated processing demands unaltered source material. AAC, as a successor to MP3, offers better efficiency and quality at equivalent bitrates (e.g., superior stereo imaging), but still introduces lossy artifacts unsuitable for professional remixing. Compatibility is a strength for MP3 and AAC in consumer devices and streaming services, while WAV's lack of compression makes it less ideal for distribution but essential for high-fidelity reference in production.[66][65][72][73]WAV vs. Lossless Compressed Formats (FLAC and WavPack)
FLAC and WavPack provide lossless compression that reduces file sizes to 50-60% of WAV's uncompressed equivalent through algorithms like predictive coding, without altering audio data, while WAV remains simpler but bulkier with no inherent size optimization. For example, a 40 MB WAV file might compress to 20-24 MB in FLAC, depending on audio complexity, and FLAC includes built-in checksums (e.g., MD5) for integrity verification and standardized metadata support (Vorbis comments), addressing WAV's limitations in error detection and tagging consistency. WavPack similarly achieves comparable compression ratios and embeds MD5 checksums of the uncompressed data for round-trip verification, ensuring bit-identical restoration to WAV, but offers hybrid modes for partial lossy encoding not native to WAV. WAV's advantages lie in its universal compatibility and minimal decoding overhead, making it preferable for real-time processing, whereas FLAC and WavPack suit long-term storage and archiving with their verification features.[66][67][36][74][75][29]| Format | Compression Type | Typical File Size (vs. WAV) | Key Features | Primary Use Cases |
|---|---|---|---|---|
| WAV | Uncompressed | 100% | PCM encoding, broad DAW support | Editing, mastering, intermediate files |
| AIFF | Uncompressed | 100% | Big-endian, Mac-native metadata | Archiving on Apple systems, pro audio exchange |
| MP3 | Lossy | ~10% | Perceptual coding, 128 kbps example | Distribution, streaming, portable playback |
| AAC | Lossy | ~10-15% | Improved efficiency over MP3 | Mobile devices, Apple ecosystem, broadcasting |
| FLAC | Lossless | 50-60% | Checksums, Vorbis metadata | Storage, hi-res archiving, verification |
| WavPack | Lossless | 50-60% | MD5 checksums, hybrid mode | Archiving with error checking, flexible compression |
