MD: Mastering Limiter
Catch every peak at -0.1 dB before it clips
- audio
- AUDIO
Every mastering chain ends the same way: with a limiter that says "nothing gets past this level, ever." MD_Mastering_Limiter is that final stage - the safety net that lets you be aggressive with the compressor and EQ before it, because it guarantees the output won't clip. If you're exporting AI-generated audio to a platform, this is the node between "sounds good" and "survives encoding."
It's deliberately minimal, which is a compliment. A mastering limiter with a ceiling and a release time is all the control you realistically want at the end of a chain; anything fancier belongs earlier, in the compressor. The defaults (-0.1 dB ceiling, 50 ms release) are the boring, correct settings that will serve almost everyone.
How it works
The node runs the waveform through a lookahead-style peak limiter in the pack's DSP core: it detects peaks that would exceed your limiter_ceiling_db and reduces gain fast enough to keep them under it, then recovers at the release rate. The ceiling is your hard cap in dBFS; the release controls how quickly the gain recovers after a peak - too fast and you hear pumping, too slow and loud sections stay squashed. It doesn't measure loudness (that's the LUFS normalizer's job) and doesn't compress gently (that's the compressor's job). It's the last word.
The inputs that matter
- enable_limiter - master on/off. Off makes it a pass-through, which is a handy way to A/B.
- limiter_ceiling_db - the hard cap. Default -0.1 dB, which is the standard for streaming exports; -1 is even safer if you're pushing toward lossy codecs, since inter-sample peaks can still clip after encoding.
- limiter_release_ms - recovery speed. 50 ms default; raise toward 100+ for smoother, more transparent limiting on music, lower if you're chasing maximum loudness.
Input audio, single AUDIO out. Wire it after the compressor and before the LUFS normalizer (if you normalize, do loudness through the limiter's ceiling so the boost never clips) or straight into your save node.
Installing
Part of MD Nodes; the pack install is once:
cd path/to/ComfyUI/custom_nodes
git clone https://github.com/MDMAchine/ComfyUI_MD_Nodes.git
cd ComfyUI_MD_Nodes
pip install -r requirements.txt
Or ComfyUI Manager → MD Nodes → install → restart. The limiter DSP ships in-repo; no model downloads.
Common issues
The trap with limiters is expecting them to do the compressor's job. If your audio is wildly dynamic, a limiter with a low ceiling just makes everything slam against it - you get a loud, flat, pumping mess. Give the compressor reasonable levels first and let the limiter catch only the stray peaks. And watch the release: on percussion-heavy AI music, a release that's too fast (under ~30 ms) turns every drum hit into a volume dip you can hear. If you want genuinely loud masters, use the LUFS normalizer to set the level, then let the limiter's ceiling be the final guard - not the other way around.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | AUDIO INPUT | |
| sample_rate | INT | 441008000–192000 | SAMPLE RATE • Purpose: Fallback sample rate if not provided by audio dict. |
| enable_limiter | BOOLEAN | true | ENABLE LIMITER |
| limiter_ceiling_db | FLOAT | -0.1-10–0 | LIMITER CEILING |
| limiter_release_ms | FLOAT | 501–2000 | LIMITER RELEASE |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |