Nodes/MD Nodes/MD: Mastering Limiter
ComfyUI Node

MD: Mastering Limiter

Catch every peak at -0.1 dB before it clips

By MDMAchine·Created about a year ago·Updated 3 months ago· 15
MD: Mastering Limiter
  • audio
  • AUDIO
sample_rate44100
enable_limitertrue
limiter_ceiling_db-0.1
limiter_release_ms50

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.

CategoryMD_Nodes/Audio Processing

Inputs (5)

NameTypeDefaultDescription
audioAUDIOAUDIO INPUT
sample_rateINT441008000–192000SAMPLE RATE • Purpose: Fallback sample rate if not provided by audio dict.
enable_limiterBOOLEANtrueENABLE LIMITER
limiter_ceiling_dbFLOAT-0.1-10–0LIMITER CEILING
limiter_release_msFLOAT501–2000LIMITER RELEASE

Outputs (1)

NameTypeDescription
AUDIOAUDIO