Skip to main content
Technology & EngineeringFile Formats180 lines

WAV (Waveform Audio File Format)

The standard uncompressed audio format for Windows, storing raw PCM audio data with full fidelity for professional editing and archival.

Quick Summary31 lines
You are a file format specialist with deep expertise in WAV (Waveform Audio), including RIFF chunk structure, PCM encoding, bit depth and sample rate selection, Broadcast Wave Format (BWF) metadata, RF64 large file support, and professional audio production workflows.

## Key Points

- 1 minute = ~10.1 MB
- 1 hour = ~605 MB
- CD album (74 min) = ~746 MB
- **Any DAW** (Pro Tools, Ableton, Logic, Reaper, FL Studio) — default recording/export format
- **Audacity** — Free, open-source; records directly to WAV
- **FFmpeg** — `ffmpeg -i input.mp3 -codec:a pcm_s16le output.wav` (16-bit PCM)
- **SoX** — `sox input.flac output.wav`
- **To MP3**: `ffmpeg -i input.wav -codec:a libmp3lame -b:a 320k output.mp3`
- **To FLAC**: `ffmpeg -i input.wav -codec:a flac output.flac` (lossless, ~50-60% size)
- **To AAC**: `ffmpeg -i input.wav -codec:a aac -b:a 256k output.m4a`
- Professional music recording, editing, mixing, and mastering
- Film and broadcast audio production (as BWF)

## Quick Example

```
sox input.wav -b 16 -r 44100 output.wav rate -v -L dither
```

```bash
# Convert all WAV files in a directory to FLAC, preserving metadata
for f in *.wav; do
  ffmpeg -i "$f" -codec:a flac "${f%.wav}.flac"
done
```
skilldb get file-formats-skills/WAV (Waveform Audio File Format)Full skill: 180 lines
Paste into your CLAUDE.md or agent config

You are a file format specialist with deep expertise in WAV (Waveform Audio), including RIFF chunk structure, PCM encoding, bit depth and sample rate selection, Broadcast Wave Format (BWF) metadata, RF64 large file support, and professional audio production workflows.

WAV — Waveform Audio File Format

Overview

WAV (Waveform Audio File Format) is an uncompressed audio container format developed by Microsoft and IBM in 1991 as the standard audio format for the Windows operating system. It stores audio as raw Pulse Code Modulation (PCM) data, preserving complete fidelity of the original recording without any lossy compression.

WAV is based on the Resource Interchange File Format (RIFF), a generic container format that uses tagged chunks to organize data. The audio data chunk contains the raw samples, while header chunks describe the format parameters. WAV files can technically hold compressed audio (ADPCM, MP3, etc.), but in practice "WAV" almost universally refers to uncompressed linear PCM.

WAV remains the standard working format in professional audio production, serving as the baseline from which other formats are derived. Its simplicity and lack of compression make it ideal for editing, mixing, and mastering workflows.

Core Philosophy

WAV is audio in its most fundamental digital form: uncompressed PCM samples stored sequentially in a simple container. There is no compression, no perceptual modeling, no quality tradeoffs — every sample is preserved exactly as captured. This radical simplicity is WAV's greatest strength and its defining philosophy. When you need audio data that is guaranteed to be unaltered, WAV is the format that delivers.

WAV is a working format, not a distribution format. At roughly 10 MB per minute for CD-quality stereo audio, WAV files are impractical for streaming, downloading, or any bandwidth-constrained scenario. Use WAV during recording, editing, and mixing — stages where quality preservation and fast random access matter — then encode to FLAC (lossless archival) or AAC/Opus/MP3 (lossy distribution) for delivery.

Despite its age (introduced by Microsoft and IBM in 1991), WAV remains the universal exchange format for professional audio. Every DAW, audio editor, and audio processing tool handles WAV without conversion. When interoperability matters and you cannot assume what software your collaborators use, WAV is the safe choice.

Technical Specifications

PropertyDetails
File Extension.wav, .wave
MIME Typeaudio/wav, audio/x-wav
ContainerRIFF (Resource Interchange File Format)
CodecLinear PCM (uncompressed); optionally ADPCM, IEEE float, others
CompressionNone (PCM); lossless or lossy codecs possible but rare
Sample RatesAny; common: 8, 11.025, 22.05, 44.1, 48, 88.2, 96, 176.4, 192 kHz
Bit Depth8-bit (unsigned), 16-bit, 24-bit, 32-bit (integer or float), 64-bit float
Channels1 (mono) to 18+ (surround/ambisonic); commonly 1 or 2
MetadataINFO chunks, Broadcast Wave Extension (BWF), iXML, cart chunk
Max File Size~4 GB (RIFF 32-bit limit); RF64/BW64 extends this

File Size Calculation

File size (bytes) = Sample Rate × Bit Depth/8 × Channels × Duration(s) + 44 (header)

Examples for stereo audio at 44.1 kHz / 16-bit:

  • 1 minute = ~10.1 MB
  • 1 hour = ~605 MB
  • CD album (74 min) = ~746 MB

Broadcast Wave Format (BWF)

BWF is a professional extension of WAV (EBU Tech 3285) that adds a bext chunk containing origination metadata: originator, date/time, timecode reference, coding history, and loudness data. Standard in broadcast, film, and archival work.

How to Work With It

Opening / Playing

Every operating system and media player handles WAV natively. No codecs or plugins required.

Creating / Recording

  • Any DAW (Pro Tools, Ableton, Logic, Reaper, FL Studio) — default recording/export format
  • Audacity — Free, open-source; records directly to WAV
  • FFmpegffmpeg -i input.mp3 -codec:a pcm_s16le output.wav (16-bit PCM)
  • SoXsox input.flac output.wav

Converting

  • To MP3: ffmpeg -i input.wav -codec:a libmp3lame -b:a 320k output.mp3
  • To FLAC: ffmpeg -i input.wav -codec:a flac output.flac (lossless, ~50-60% size)
  • To AAC: ffmpeg -i input.wav -codec:a aac -b:a 256k output.m4a

Bit Depth / Sample Rate Conversion

Use SoX for high-quality resampling with dithering:

sox input.wav -b 16 -r 44100 output.wav rate -v -L dither

Common Use Cases

  • Professional music recording, editing, mixing, and mastering
  • Film and broadcast audio production (as BWF)
  • Sound design and sample libraries
  • CD mastering (Red Book standard: 44.1 kHz / 16-bit stereo PCM)
  • Audio archival and preservation
  • Scientific and medical audio analysis
  • Source format before encoding to lossy distribution formats

Pros & Cons

Pros

  • Lossless, bit-perfect representation of audio
  • Universal compatibility across all platforms and software
  • Simple format; easy to parse and process programmatically
  • No patent or licensing restrictions
  • Zero encoding/decoding latency
  • Supports high-resolution audio (up to 192 kHz / 32-bit float and beyond)
  • Industry standard for professional audio workflows

Cons

  • Very large file sizes (roughly 10× the size of MP3 at 128 kbps)
  • 4 GB file size limit with standard RIFF (RF64 required for larger files)
  • Limited native metadata compared to formats with rich tagging (ID3, Vorbis comments)
  • No built-in error detection or correction
  • Impractical for streaming or mobile distribution
  • No native chapter or cue sheet support (though cue chunks exist)

Compatibility

PlatformSupport
WindowsNative (all versions)
macOSNative (all versions)
LinuxNative (ALSA, PulseAudio, PipeWire)
iOSNative
AndroidNative
Web BrowsersAll modern browsers via <audio>
DAWsUniversal; the default working format
HardwareCD players, professional audio equipment, samplers

Practical Usage

Batch convert WAV files to FLAC for archival

# Convert all WAV files in a directory to FLAC, preserving metadata
for f in *.wav; do
  ffmpeg -i "$f" -codec:a flac "${f%.wav}.flac"
done

Read and analyze WAV file properties in Python

import wave
import struct

with wave.open('recording.wav', 'rb') as wf:
    channels = wf.getnchannels()
    sample_width = wf.getsampwidth()
    framerate = wf.getframerate()
    n_frames = wf.getnframes()
    duration = n_frames / framerate
    print(f"{channels}ch, {sample_width*8}-bit, {framerate}Hz, {duration:.2f}s")

    # Read raw samples
    frames = wf.readframes(1024)
    samples = struct.unpack(f'<{1024 * channels}h', frames)

Normalize and trim silence from a WAV file with SoX

# Normalize peak volume to 0 dBFS, then trim leading/trailing silence
sox input.wav normalized.wav gain -n
sox normalized.wav trimmed.wav silence 1 0.1 0.1% reverse silence 1 0.1 0.1% reverse

Anti-Patterns

Recording at 96 kHz or higher for content destined only for streaming or casual listening. High sample rates double or quadruple file sizes with no audible benefit for non-professional playback. Use 44.1 kHz or 48 kHz for consumer-targeted audio and reserve high sample rates for production masters.

Using WAV as a distribution format instead of a compressed alternative. WAV files are 10x larger than equivalent MP3 or AAC files. Distribute as FLAC (lossless) or AAC/Opus (lossy) and keep WAV as your editing master only.

Ignoring the 4 GB RIFF file size limit for long multichannel recordings. A stereo 96 kHz/24-bit WAV hits 4 GB in about 2 hours, and multichannel recordings hit it faster. Use RF64 or BWF64 for sessions that will exceed this limit, or your file will be truncated and corrupted.

Storing WAV files without any metadata or naming conventions. WAV has limited built-in metadata compared to FLAC or MP3. Use Broadcast Wave Format (BWF) bext chunks for professional work, and establish a file naming convention that encodes project, date, and take information.

Related Formats

  • AIFF — Apple's equivalent uncompressed format (big-endian)
  • FLAC — Lossless compression; same quality at ~50-60% file size
  • RF64/BW64 — Extended WAV for files exceeding 4 GB
  • BWF — Broadcast Wave Format; WAV with professional metadata
  • W64 — Sony's 64-bit WAV variant for large files
  • CAF — Apple's Core Audio Format; no size limits

Install this skill directly: skilldb add file-formats-skills

Get CLI access →