Matchering Limiter Config
A recipe card for the limiter, not a processor
- limiter_config
This node is a config builder, not an audio processor. It doesn't touch a single sample itself - instead it assembles a MATCHERING_LIMITER_CONFIG object that you hand to the optional limiter_config input on Matchering (Advanced). Think of it as a recipe card for the brickwall limiter that sits at the end of the matchering chain: the stage that turns "matched and EQ'd" into "loud, tight, and not clipping."
Quick honesty check: if you're not actively fighting with the limiter, you don't need this node. Both the basic Matchering node and MatcheringAdvanced run with a built-in, well-tuned limiter config whether you plug anything in or not. This node exists for the people who do want to change how the limiter grabs transients - and in audio, that's a real, audible decision.
How it works
The limiter here is a lookahead-style brickwall limiter (the matchering library's own implementation) that measures the signal's peaks and builds a gain-envelope to pull everything under a ceiling. Its behavior is shaped by three timing stages - attack, hold, and release - plus a few filter coefficients that shape how aggressively each stage moves. When you wire the output into MatcheringAdvanced, it replaces that node's default limiter settings.
The inputs
All eight inputs define the limiter envelope, and they map onto that attack / hold / release model:
- attack (default 1) and hold (default 1) - in milliseconds. How fast the limiter engages when a peak arrives and how long it holds the gain down.
- release (default 3000) - in milliseconds. How slowly the limiter lets go. A long release keeps things smooth and pump-free; a short one can "breathe" audibly.
- The five filter settings - attack_filter_coefficient, hold_filter_order / hold_filter_coefficient, release_filter_order / release_filter_coefficient - shape the smoothing filters behind each stage. The defaults (like the
-2attack coefficient and the800release coefficient) are the values the library was tuned with; these are deep tweaks for when you've already decided the timing isn't the problem.
The one and only output, limiter_config, wires into MatcheringAdvanced's optional limiter_config input. Nothing else accepts it.
Installing it
Same pack, same routine: install "Matchering" via ComfyUI Manager and restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/MuziekMagie/ComfyUI-Matchering
# restart ComfyUI
All dependencies (numpy, scipy, soundfile, resampy, statsmodels) come along automatically - no models, no weights.
When to reach for it
Use it when the loud parts of a matched track feel harsh or the transients get squashed - that's a limiter-attack/release problem, and this is the tool that lets you fix just that stage instead of the whole match. For everything else, remember that the defaults are somebody's deliberate work. Changing the limiter because it's there, rather than because you hear a problem, is how you end up with a worse master and no idea why.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| attack | FLOAT | 1.0 | — |
| hold | FLOAT | 1.0 | — |
| release | FLOAT | 3000 | — |
| attack_filter_coefficient | FLOAT | -2.0 | — |
| hold_filter_order | INT | 1 | — |
| hold_filter_coefficient | FLOAT | 7.0 | — |
| release_filter_order | INT | 1 | — |
| release_filter_coefficient | FLOAT | 800 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| limiter_config | MATCHERING_LIMITER_CONFIG | — |