Nodes/ComfyTV/Noise Reduction (Spectral)
ComfyUI Node

Noise Reduction (Spectral)

Noise Reduction (Spectral) — the hiss-killer that samples your silence first

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Noise Reduction (Spectral)
  • audio
  • video
  • noise_sample
  • audio
force_run_token0
project_id
parent_output_id0
reduction_db12.0
sensitivity6.00
freq_smooth_bands6

Every recording has a floor of noise you didn't ask for - a fan, a preamp hiss, the ambient room that came along with your video clip. ComfyTV's Noise Reduction (Spectral) stage is the tool that subtracts that floor. It's the "denoise" of the audio suite, and unlike the AI-based stem splitters around it, this one is straight spectral gating: pure DSP, no model, no GPU, and it works on a video clip's audio just as easily as a standalone WAV.

Here's the mechanism, because it changes how you use it. The stage runs a short-time Fourier transform on the audio, builds a noise profile, and then attenuates any time-frequency bin that falls below a threshold relative to that profile. Three knobs control it: reduction_db (1–48 dB, default 12) is how hard it squashes noise, sensitivity (0.5–24, default 6) sets how strict the gate is about what counts as noise, and freq_smooth_bands (0–12) smooths the decision across adjacent frequency bands so you don't get that watery, comb-filtered "corduroy" artifact.

The part most people miss: the optional noise_sample input. If you wire in a short clip of just the noise (a few seconds of silence between takes, the room tone), the stage uses that as its noise profile - which is dramatically better than letting it auto-estimate from the quietest fraction of your track. If you don't provide one, it takes the quietest ~10% of the source as the profile, which is usually fine and occasionally wrong. For voice-over or dialogue cleanup, always grab a real noise sample first.

You feed it audio or video, you get back audio. And that's the whole thing - one output, one job. Where people overdo it: cranking reduction_db past ~20 dB or sensitivity too low starts eating the actual signal along with the noise, and you hear the music "breathe" or vocals get thin. Start at the defaults, nudge sensitivity down until the hiss sits under the content, only then raise reduction_db.

Install is the pack-wide story: ComfyUI Manager → search "ComfyTV", or clone into custom_nodes/ and restart the backend fully. On Desktop/macOS with multiple instances, clone by absolute path into the running one or the nodes silently never appear. ComfyTV declares zero extra pip dependencies - this runs on torch's STFT and numpy, both already in ComfyUI. First run takes a moment for the FFT setup on long files; long videos can be slow-ish, but it's CPU work, so it won't touch your VRAM or your queue. If the result is still noisy, the companion Audio Repair stage has more specialized weapons (declick, hum removal); this stage is the everyday broad-spectrum cleanup.

CategoryComfyTV/AudioFX

Inputs (9)

NameTypeDefaultDescription
force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
project_idSTRINGInternal — populated by the projectStore on the frontend.
parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
reduction_dbFLOAT12.01–48
sensitivityFLOAT6.000.5–24
freq_smooth_bandsINT60–12
audiooptCOMFYTV_AUDIO
videooptCOMFYTV_VIDEO
noise_sampleoptCOMFYTV_AUDIO

Outputs (1)

NameTypeDescription
audioCOMFYTV_AUDIO