Music - Compressor
The Two-Knob Compressor That Won't Let You Break It
- audio
- AUDIO
Compression is the tool everyone needs and nobody wants to configure. Real compressors have attack, release, knee, makeup gain and three more knobs that all interact, and the failure mode is spending an hour making it worse. Music - Compressor from ComfyUI Music Tools strips that down to the two parameters that matter most: threshold and ratio. That's it.
threshold(0–1, default 0.5) - the level at which compression starts grabbing. Below it, audio passes untouched; above it, gain reduction kicks in.ratio(1–16, default 4) - how hard it grabs. 1:1 is no compression, 4:1 is a solid bus glue, 16:1 is basically a limiter.
One AUDIO in, one AUDIO out. The compression is stereo-linked, which matters more than it sounds: linked compression keeps the stereo image stable while it pumps the level, so you don't get the image collapsing inward on loud hits that unlinked channels cause.
How to think about it
The threshold in normalized 0–1 scale maps to the audio's peak level (1.0 = full scale). Defaults of 0.5/4 are a genuinely sane place to start for taming a track's dynamics before loudness normalization - this is the "make the quiet parts louder by making the loud parts quieter" move, which is exactly what generated audio needs, since AI renders tend to have lumpy dynamics.
A practical knob flow:
- Start threshold at 0.5, ratio at 4.
- If the track is already pretty even, lower the ratio to 2 - over-compressing a clean source is how you get the lifeless, squashed sound.
- If the track is wild (big swings between verse and chorus), lower the threshold toward 0.3 so more of it gets grabbed.
Then follow it with Music - LUFS Normalizer, because compression frees up headroom that loudness normalization can actually use. That pairing (compress, then normalize) is the canonical "make it loud without making it clip" recipe, and it's exactly the sequence the pack's own master chain uses internally.
The honest take
This is a utility node, not a character compressor. No attack/release controls (it uses sensible fixed timing), no makeup gain (the node handles output level), no multiband. If you want a "warm" or "punchy" box, this isn't it. What it is: a zero-fiddling compressor that does the one job - even out the level so the next stage can work - without a single parameter that can bite you. For a pack aimed at "make my generated audio sound finished," that's the right design.
Worth knowing: a compressor at ratio 16 with a low threshold is a poor man's limiter, and the pack does have a proper true-peak limiter inside its mastering chain. If your real goal is "never clip," use the master node or Music Fix, which put the limiter after loudness management where it belongs.
Install
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/jeankassio/ComfyUI_MusicTools.git
cd ComfyUI_MusicTools
python -m pip install -r requirements.txt
Restart, find it under music. Pure NumPy/SciPy dynamics processing - no models, no GPU.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| threshold | FLOAT | 0.500–1 | — |
| ratio | FLOAT | 4.01–16 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |