ComfyUI Node

Egregora DeepFilterNet Denoise

The speech denoiser that doesn't turn your voice into mush

By lucasgattas·Created 12 months ago·Updated 7 months ago· 60
Egregora DeepFilterNet Denoise
  • audio
  • AUDIO
dfn_modelDeepFilterNet2
deviceauto
use_postfilterfalse
limit_ceilingtrue
stereo_modeper_channel
frame_ms20
strength0.65
mix_curveequal_power
adaptive_vad_sourcerms
adaptive_modemore_on_noise
adaptive_amount0.45
vad_threshold0.90
vad_smooth_ms60
post_gain_db0.5
ceiling0.980

DeepFilterNet is one of the best open-source speech denoisers around, full stop. It's the thing people route through for podcasts, voiceovers, and discord-tier recordings where the vocal track sounds like it was captured inside a running dishwasher. This node wraps DeepFilterNet 2 or 3 for ComfyUI, and unlike a lot of naive noise-reduction plugins it has the one property you actually want: it cleans the noise without making the voice sound like it was processed through a cheese grater.

Where does it sit in the Egregora pack? Right at the front of the recommended chain. The README's suggested workflow is denoise → dereverb → optional FlashSR → a light Fat Llama pass → verify with the eval/null-test nodes. This node is the "denoise" step. It's the step you run before super-resolution, because FlashSR will happily amplify noise along with signal - you want the cleanest possible input.

How it works

DeepFilterNet runs at 48 kHz natively (the node resamples to match). It's a two-stage DNN: one stage learns a spectral mask, a second harmonic-plus-noise stage cleans up the residual, and there's a post-filter that can be toggled. The dfn_model dropdown picks between DeepFilterNet2 (the default, lighter and very well-trodden) and DeepFilterNet3 (newer architecture, generally better on hard cases, a bit more demanding). The device setting is auto by default - it'll use your GPU if present, else CPU.

What makes this node nicer than a plain wrapper is the mix stage bolted on top. strength (default 0.65) does a wet/dry blend with an equal-power or linear crossfade, so you're not forced all-in on the denoiser. And adaptive_mode lets the amount of denoising ride on a voice-activity detector - more_on_noise pushes strength up when no one's talking, gate_on_noise switches hard between a noisy frame (heavy denoise) and a speech frame (light touch). The VAD source can be RMS-based, real RNNoise, or none.

The inputs that matter

There are a lot of knobs here, and you can ignore most of them. The ones to touch:

  • dfn_model - start with DeepFilterNet2. Move to 3 only if 2 leaves audible noise.
  • strength - 0.65 default is a sane starting point; dial to ~0.85 for truly terrible recordings.
  • stereo_mode - per_channel keeps the stereo image; downmix_mono is faster and fine for voice-over.
  • post_gain_db and ceiling - post-processing trim and a peak limiter (defaults 0.5 dB and 0.98) so denoised audio doesn't clip.

Output is a single AUDIO buffer. Everything else - frame_ms, mix_curve, vad_threshold, adaptive_amount - is genuinely useful but tweak-once-and-forget material.

Install notes

This is one of the pack's heavier dependencies. deepfilternet gets installed via the pack's requirements.txt / install.py, and the installer deliberately tries --no-deps first so it doesn't drag in a CPU-only torch that fights your ComfyUI install. The install script also does a warmup pass that fetches the model weights on first run. If you skip install.py and only clone, you'll see "deepfilternet not installed" - run the installer.

The trap

The use_postfilter toggle defaults to false for a reason: the post-filter can over-process some sources and give voice a slightly "processed" sheen. Leave it off until you've listened to the straight output. And remember the pack's own framing - these nodes improve audio, they don't fix a garbage source. Feed it a clip with a reasonable vocal-to-noise ratio and DeepFilterNet shines; feed it a wall of white noise and it'll do its best but you'll still hear it straining.

CategoryEgregora/Enhance

Inputs (16)

NameTypeDefaultDescription
audioAUDIO
dfn_modelCOMBODeepFilterNet22 options: DeepFilterNet2, DeepFilterNet3
deviceCOMBOauto3 options: auto, cuda:0, cpu
use_postfilterBOOLEANfalse
limit_ceilingBOOLEANtrue
stereo_modeCOMBOper_channel2 options: per_channel, downmix_mono
frame_msINT205–60
strengthFLOAT0.650–1
mix_curveCOMBOequal_power2 options: equal_power, linear
adaptive_vad_sourceCOMBOrms3 options: rms, rnnoise, none
adaptive_modeCOMBOmore_on_noise4 options: off, more_on_noise, more_on_speech, gate_on_noise
adaptive_amountFLOAT0.450–1
vad_thresholdFLOAT0.900–1
vad_smooth_msINT600–500
post_gain_dbFLOAT0.5-24–24
ceilingFLOAT0.9800.1–1

Outputs (1)

NameTypeDescription
AUDIOAUDIO