What Is VBR vs CBR? Bit Allocation in Audio Encoding
VBR (Variable Bitrate) and CBR (Constant Bitrate) describe how an audio encoder distributes bits across a recording. Learn the encoding theory, masking thresholds, and why VBR usually wins.
VBR and CBR are two opposing strategies for spending a budget. The budget is bits-per-second of audio. CBR (Constant Bitrate) spends the same amount every second whether the music is silent or a full orchestra hitting fortissimo. VBR (Variable Bitrate) spends a lot when the music is complex and almost nothing when it is silent. Both produce files with roughly the same average bitrate; one of them sounds better. This post is about why — the encoding theory underneath the labels.
How CBR Works
Constant Bitrate encodes every second of audio at exactly the same bitrate. A 128 kbps CBR MP3 uses exactly 128,000 bits per second, whether that second contains a loud, complex orchestral passage or 1 second of silence.
Silence encoded at 128 kbps wastes bits. Complex audio encoded at 128 kbps may not have enough bits to represent all the detail accurately. CBR is simple and universally compatible, but it is not the most efficient use of bits.
When to use CBR: Podcasting, streaming, any context where older device or player compatibility matters. Car stereos, some Bluetooth players, and old iPods occasionally have issues with VBR. CBR eliminates these edge cases.
How VBR Works
Variable Bitrate adjusts the bit allocation moment-by-moment based on the complexity of the audio. Silence and simple passages get fewer bits (saving space). Complex passages with many instruments and high-frequency content get more bits (preserving quality).
The LAME MP3 encoder's VBR quality scale goes from 0 (highest quality, most bits) to 9 (lowest quality, fewest bits). The most commonly recommended setting is '-q:a 2' or 'V2', which averages around 190 kbps but ranges between approximately 170–210 kbps depending on the content.
VBR benefits: Better quality per file size than CBR. The same perceptual quality as a higher CBR bitrate but in a smaller file. A V2 VBR file often sounds equivalent to 256 kbps CBR but is the size of a 190 kbps CBR file.
VBR drawbacks: Some older devices misread duration (showing the wrong length). Some streaming infrastructure or podcast apps have minor compatibility issues. Rare, but real.
ABR: Average Bitrate
ABR (Average Bitrate) is a middle ground: VBR encoding that targets a specific average bitrate. If you want the efficiency of VBR but need a predictable file size for storage or streaming planning, ABR achieves this. '--abr 192' in LAME produces a file that averages 192 kbps with variable allocation.
Choosing for Your Use Case
Podcasting: Use CBR 128 kbps mono. Player compatibility is paramount and the quality difference from VBR is negligible for voice content.
Music for personal listening: V2 VBR (approximately 190 kbps average) gives excellent quality and efficient file size. This is the recommended setting for music ripping.
Music for sharing (maximum compatibility): CBR 320 kbps. No device or player rejects 320 kbps CBR, and the quality ceiling is high.
Archiving: Do not use MP3 at all. Use FLAC or WAV for archives — keep a lossy copy for devices separately.
Streaming services (Spotify, Apple Music upload): These platforms re-encode regardless. Upload lossless WAV or FLAC; VBR vs. CBR in your upload file is irrelevant.
VBR vs. CBR in FFmpeg
CBR 320 kbps: 'ffmpeg -i input.wav -b:a 320k output.mp3' VBR V2 (approximately 190 kbps): 'ffmpeg -i input.wav -q:a 2 output.mp3' ABR 192 kbps: 'ffmpeg -i input.wav -abr 192k output.mp3'
The Psychoacoustic Foundation
Lossy compression works by discarding audio that humans cannot hear. The MP3, AAC, Opus, and Vorbis encoders all share the same conceptual framework: a psychoacoustic model analyzes each chunk of audio (typically 20–40 ms windows) and decides which frequency components are masked by louder neighbors and therefore inaudible. Those components get fewer bits or zero bits.
The masking phenomenon is well-studied. A loud 1 kHz tone makes a quiet 1.1 kHz tone inaudible — frequency masking. A loud transient makes the milliseconds immediately before and after it harder to hear — temporal masking. Encoders compute a masking threshold for each frequency band per window and allocate bits only to content above the threshold.
Now the bit-allocation question. A complex orchestral chord has many simultaneous frequencies above the masking threshold and needs many bits to represent them all without audible distortion. Silence has nothing above threshold and needs almost none. This is where VBR and CBR diverge.
How CBR Spends Bits
CBR ignores the per-window complexity signal. Every frame in a 128 kbps CBR MP3 receives the same 384 bytes (128,000 bits/s ÷ 8 ÷ ~38 frames/s). Silence wastes those bytes — the encoder writes near-zero coefficients into space the file doesn't need. Complex passages run out of bytes — the encoder must coarsen the quantization, audibly distorting the result.
Why anyone still uses CBR:
- Streaming protocol simplicity. A constant byte-rate stream is trivial to seek, splice, and packetize. Internet radio and live broadcast often mandate CBR for that reason.
- Older hardware predictability. Some 2000s-era car stereos and MP3 players assumed CBR when computing track duration and seek positions. Feeding them a VBR file broke the progress bar.
- DRM and forensic chain-of-custody. Some legal recording standards require CBR to keep file size mathematically derivable from duration.
How VBR Spends Bits
VBR uses the psychoacoustic model output to allocate bits where they matter. The LAME MP3 encoder's VBR mode operates on a quality scale (V0 highest through V9 lowest); each setting defines a target perceptual quality, and the encoder spends whatever bits are needed per frame to hit it. A V2 file averages roughly 190 kbps but ranges from ~70 kbps in silence to ~320 kbps in a dense chord with cymbals.
Same average, dramatically better outcome. The bits are no longer evenly distributed — they pile up exactly where the psychoacoustic model says human ears can detect compression damage.
ABR — The Compromise
ABR (Average Bitrate) is constrained VBR: the encoder is told to hit a specific average (say, 192 kbps) but can spend slightly more or fewer bits per frame within a small window. ABR is a compromise for use cases that need predictable file size (download stores quoting "192 kbps" to consumers) but still want some perceptual benefit. Quality lands between true CBR and free-running VBR.
The lineage of MP3 encoder modes from worst-quality to best-quality at the same average bitrate: CBR < ABR < VBR. The differences are largest at low bitrates (128 kbps) and shrink to near-zero at high bitrates (320 kbps), where even a poorly-allocated bit budget exceeds what is perceptually necessary.
Why CBR Looks Bad on Spectrograms
If you load a CBR 128 kbps MP3 and a V2 VBR MP3 of the same source into a spectrogram analyzer (Sonic Visualiser, Audacity's spectrogram view), the CBR file shows uniform high-frequency rolloff — the encoder ran out of bits everywhere and chopped off content above ~16 kHz consistently. The VBR file shows ragged, content-dependent rolloff: the highs survive in quiet sections where bits were available and get crushed in dense sections where they had to be sacrificed. The total damage is similar but the VBR damage is harder to hear because it lines up with the masking threshold.
VBR Across Other Codecs
Every modern lossy codec supports both modes, with the same conceptual trade-off:
- AAC: CBR or VBR; LC-AAC VBR ranges from quality 1 (~80 kbps) to quality 5 (~250 kbps).
- Opus: VBR is the default and the recommended mode at every bitrate; CBR is an option for low-latency streaming.
- Vorbis: -q quality scale from -1 to 10; always VBR-style.
- WMA Pro: supported both, with VBR called "Quality based" in the Microsoft toolchain.
Opus's design is interesting because the encoder can switch its internal mode (SILK for speech, CELT for music) per frame, making it a more aggressive form of variable allocation than even traditional VBR.
Practical Defaults
- Personal music library: LAME V2 VBR. Average ~190 kbps, transparent for nearly all listeners, smaller than 256 kbps CBR with the same perceived quality.
- Podcast distribution: CBR 128 kbps mono. Predictable size for hosts, universal compatibility.
- Streaming with adaptive bitrate (HLS/DASH): CBR variants. The protocol expects fixed byte-rates per ladder rung.
- Sharing a single file: CBR 320 kbps. Hits the codec's quality ceiling and bypasses the rare VBR-incompatible player.
For the practical, format-specific comparison see VBR vs CBR for MP3. For the underlying bitrate concept, see what is audio bitrate. For how bitrate interacts with sample rate, see audio bitrate vs sample rate.