If you've ever seen a "normalize" button in audio software and assumed it works the same way as the loudness normalization on Spotify — they don't. If you've read that streaming platforms "normalize" audio and assumed that means they're just turning tracks up or down uniformly — they're not. The word "normalize" covers at least two fundamentally different operations, and "compression" is often what's actually happening inside what gets called normalization.
Getting this straight matters. If you're trying to understand why your audio still has sudden loud spikes after "normalizing" it, or why Spotify's loudness normalization doesn't prevent ads from being jarring, the answer lives in this distinction.
Normalization: The Linear Volume Adjustment
Normalization is the simpler of the two. It analyzes an audio file or stream, measures the level, and scales the entire signal uniformly to hit a target. Every part of the signal gets scaled by the same factor. The relationship between loud moments and quiet moments — the dynamic range — is preserved exactly.
Think of it as adjusting the volume knob on a recording: everything gets louder or quieter together. A quiet passage stays quiet relative to a loud chorus. A sudden spike stays as dramatic as it was before you normalized. You've just moved the whole thing up or down.
Two types are worth knowing:
- Peak normalization — finds the single loudest sample in the file and scales everything so that peak hits 0 dBFS (or whatever target you set). Fast and simple, but it ignores perceptual loudness entirely. A track with one brief loud spike will normalize quietly because the spike defines the ceiling.
- Loudness normalization (LUFS) — measures integrated loudness over time, weighted to match how human hearing perceives level. This is the standard streaming platforms use: Spotify targets −14 LUFS, YouTube targets −14 LUFS, Netflix targets −27 LKFS for dialogue content. For a full breakdown of those platform differences, see our guide to streaming volume differences.
The key property in both cases: normalization is linear. Apply it to a file, and the dynamics inside that file don't change. The loud parts are still loud relative to the quiet parts — they've all moved together.
Compression: Changing the Dynamic Range
Dynamic range compression does something fundamentally different. It doesn't just adjust the overall level — it changes the relationship between loud and quiet parts.
A compressor monitors the incoming audio signal in real time. When the signal exceeds a set threshold, it reduces the gain. How much it reduces is controlled by the ratio: a 4:1 ratio means that for every 4 dB the signal rises above the threshold, only 1 dB passes through. Attack controls how quickly the compressor kicks in when a loud moment arrives; release controls how quickly it stops compressing when the signal drops back below the threshold.
The result: loud moments are quieter. Quiet moments are relatively louder compared to what used to be the loud parts. The dynamic range — the gap between loudest and quietest — narrows. Add make-up gain to bring the overall level back up, and the previously-quiet parts now sit noticeably higher in the mix.
Think of a compressor as having someone ride the fader for you: they constantly pull back when something gets loud, and ease up when it drops. The audio stays within a tighter band. An explosion doesn't blow out; whispered dialogue doesn't disappear.
Normalization moves everything up or down together — dynamics unchanged.
Compression squeezes the gap between loud and quiet — dynamics changed.
Side by Side
| Property | Normalization | Compression |
|---|---|---|
| What it adjusts | Overall gain, uniformly | Gain dynamically, based on level |
| Dynamic range | Unchanged — preserved exactly | Reduced — loud quieter, quiet relatively louder |
| Operation type | Linear (one scalar multiply) | Non-linear (gain changes over time) |
| Key parameters | Target level (dBFS or LUFS) | Threshold, ratio, attack, release |
| Works in real time? | Only if pre-analyzed; otherwise needs lookahead | Yes — reacts instantaneously to the signal |
| Catches sudden spikes? | No — linear scale doesn't reshape peaks | Yes — fast attack catches spikes before they pass |
When You Want Normalization
Normalization is the right tool when:
- You're matching the average loudness of multiple recordings (podcast episodes, music tracks) to a consistent target level for publishing
- You're preparing audio for a streaming platform that enforces a LUFS ceiling — normalize to that target before upload to prevent the platform from turning your track down
- A recording was captured too quietly or too hot, and you want to correct the overall level without changing anything about the internal dynamics
- You want to preserve the original dynamics exactly — just repositioned at a different level
Normalization is fundamentally a batch or preparation operation. It works well on finished content where you've already analyzed the level. For the detailed breakdown of how YouTube handles its loudness normalization target (and why ads bypass it), see our YouTube audio normalization guide.
When You Want Compression
Compression is the right tool when:
- You need to tame sudden loud peaks — an explosion in a movie, a dog bark in a podcast, a reaction clip in a stream, a screamer ad that blows in at full volume
- You're trying to make dialogue consistently audible over background music or ambient noise — the compressor lifts quiet speech relative to the overall level
- You're doing broadcast, podcast, or livestream production where listeners expect a consistent perceived loudness even when the source material varies wildly
- You're protecting speakers, amplifiers, or ears from instantaneous peaks that a linear gain adjustment won't touch
That last point is worth emphasizing. If you normalize a recording louder and the content has a sudden peak — a gunshot, a crash, a laugh that clips the mic — that spike arrives at full relative intensity, now louder than before. Normalization moved it up with everything else. Compression would have caught it. The role compression plays in hearing safety is covered in detail in our hearing protection guide.
SoundBound applies loudness normalization to hit your target level, then uses compression to catch unexpected peaks before they reach your ears.
Why Most "Normalizers" Actually Compress
Here's the practical problem: pure loudness normalization requires pre-analyzing the content to know its integrated LUFS level. On a finished file, that's straightforward — scan it, calculate, apply gain. In real time on an unpredictable stream, it's not possible. You can't know the integrated loudness of content you haven't heard yet.
So when Spotify says it normalizes music, it analyzes the file first and adjusts gain. But it also applies a limiter — a compressor with a very high ratio (often 100:1 or higher) — to ensure nothing clips after the gain adjustment. When YouTube normalizes uploaded content, same story: measure the loudness, apply gain, limit the peaks. These aren't purely linear operations.
"Loudness normalization" in streaming platforms means: adjust gain to hit the target LUFS, then apply a limiter to prevent clipping. It's normalization plus compression. The compression piece is what allows it to handle content that would otherwise clip at the target gain level.
For real-time browser tools that have to handle unpredictable content from any tab — ads, streams, podcasts, movies, all arriving without pre-analysis — the compressor isn't optional. It's what makes real-time normalization possible. The platform normalization built into YouTube doesn't apply to ads, which is why ads blast you louder than the video even on a normalized platform.
How SoundBound Uses Both
SoundBound applies both techniques deliberately, in sequence. First, loudness normalization: you set a ceiling (e.g., −14 dBFS), and SoundBound adjusts the incoming gain to target that output level. That's the linear piece — bring everything up or down to match the ceiling you chose.
But targeting a ceiling doesn't prevent a sudden spike from blowing past it. A quiet podcast that's normalized to −14 dBFS can still have a moment that jumps 10 dB above the average — and after normalization, that spike is now sitting at −4 dBFS. Loud.
That's where the Web Audio API's DynamicsCompressorNode comes in. SoundBound
routes the captured tab audio through a compressor configured as a limiter — high ratio,
fast attack, short release. Any sudden peak that would exceed the ceiling gets caught
before it reaches your speakers. The average output stays at the level you set; the
surprises don't get through.
The technical name in the Web Audio API is revealing: it's a dynamics compressor, not a normalizer. Which is exactly why it can handle real-time audio from unpredictable content. For the full technical walkthrough of how this works in the browser — including the parameters, the signal graph, and the latency characteristics — see our deep-dive on real-time audio normalization.
For gamers who need this applied to Discord voice, game audio, and stream alerts simultaneously, the setup details are in our gaming and streaming audio settings guide.
The Hearing Angle
Noise-induced hearing loss research focuses on peak exposure, not just average level. Your auditory system doesn't average out the damage — a single unexpected spike at high intensity causes more harm than hours at a moderate level. This is documented in detail in our hearing protection guide.
Normalization alone doesn't protect against this. If you normalize everything loud, the spikes are loud too. Compression is what actually smooths those peaks before they hit. That's the practical reason SoundBound's architecture puts the compressor between the audio stream and your output — not just to handle volume consistency, but to ensure that a surprise moment in whatever you're watching doesn't hit your ears at full intensity.
The combination is what gives you real control: normalization to hit a consistent level, compression to make sure nothing breaks through the ceiling.
Normalization and compression, handled automatically.
SoundBound applies loudness normalization to hit your target level and compression to catch unexpected peaks — in real time, across any browser tab. No plugins, no setup. Works in Chrome and Edge on desktop.
Try SoundBound FreeFirst 100 users get a free trial