Gabor Denoiser (S42)
A denoiser that's really a spectral gate — useful for hiss, not for 'make it magical'
- audio
- AUDIO
Calling this "Gabor Denoiser" sets it up as something fancier than it is. S42_GaborNoiseReduction is a spectral noise gate: it looks at the audio's frequency content and kills anything below a volume threshold. No learned model, no weights, no "AI" - just STFT thresholding with a blend knob. That's genuinely useful for one specific job (hisssy, roomy, or buzz-laden audio), and it's a poor fit for the other one (making a clean recording "magically cleaner").
The display name is "Gabor Denoiser (S42)," so if you see that in your node list, this is the one. Keep the honest framing in mind: it's a gate, and gates have a well-known failure mode - they also eat quiet, legitimate content that happens to sit below the threshold.
How it works
It takes an STFT of the audio, computes the magnitude of every time-frequency bin, and builds a hard mask: bins above threshold_db survive, bins below get muted. Then it cross-fades between the gated result and the original, controlled by harmonic_preservation:
harmonic_preservationat 1.0 → the gated (muted) version wins; only the "loud enough" parts remain.- At 0.8 (default) → mostly gated, but the original is still mixed in enough that quiet musical details don't fully vanish.
- At 0 → effectively bypass.
So it's really a "spectral noise gate with a wet/dry blend," and atom_window_ms (default 25) sets the STFT window size - smaller windows are snappier but get mushy on low frequencies; larger windows are smoother but lag.
Inputs
audio- the waveform.threshold_db- default -45, range -90 to 0. This is the kill line. Set it just above your noise floor and below your wanted signal. Too high and you eat real content; too low and it does nothing.atom_window_ms- 5–100, default 25.harmonic_preservation- 0–1, default 0.8.
Output
A single AUDIO out. No info, no meters - you're judging by ear, so A/B it against the original.
Installing it
Standard S42 CutFlow install: ComfyUI Manager → search "S42 CutFlow", or git clone https://github.com/GeekyGhost/S42-CutFlow into ComfyUI/custom_nodes/, install requirements, restart. It needs torch and torchaudio (both present in the portable build) - no model files, which is the entire point.
Gotchas
The trap is threshold placement. -45dB is fine for a quiet analog hiss, but if you have music with a real dynamic range, the quiet intro bars will get gated into silence before the gate opens. Drop harmonic_preservation to ~0.5 if you hear pumping. Also expect some "watery" artifacts on sustained low notes - that's the nature of STFT gating. And it's CPU-only per-frame math, so a long clip isn't instant; budget a little time for the first run. It's a hiss killer, not a magic wand - pair it with the pack's compressor afterward to even out what survives.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | The input audio waveform. | |
| threshold_db | FLOAT | -45.0-90–0 | — |
| atom_window_ms | INT | 255–100 | — |
| harmonic_preservation | FLOAT | 0.800–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |