Nodes/ComfyTV/Audio Repair
ComfyUI Node

Audio Repair

Audio Repair — the de-clicker, de-clipper, and hum-killer in one stage

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Audio Repair
  • audio
  • video
  • audio
  • fx_spec
force_run_token0
project_id
parent_output_id0
methoddeclick
dk_window55.00
dk_threshold2.00
dk_burst2.00
dc_threshold10.00
dc_hsize1000
dn_level-351
wt_sigma0.000
wt_percent85
wt_levels10
hum_freq50
hum_harmonics8
hum_q8.00

Audio Repair is the restoration drawer of the ComfyTV audio suite: the tool you reach for when a recording has specific damage rather than general hiss. Where Noise Reduction is the broad-spectrum net, this stage is the specialist - pick a method and it targets that fault with the right FFmpeg filter. Five methods:

  • declick (default) - zaps clicks and pops: adeclick with window, threshold, and burst settings. Great for vinyl rips and glitchy recordings.
  • declip - reconstructs peaks that got hard-clipped into flat tops: adeclip with threshold and a horizontal window size. The classic fix for "the loud part sounds crunchy."
  • denorm - kills digital silence/noise-floor normalization artifacts via adenorm (the dn_level default of −351 dB is basically "make it quiet, not silent").
  • wavelet - wavelet-domain denoise (afwtdn) with sigma, percent, and levels. Needs wt_sigma above 0; the node errors out if you leave it at 0, so set it before you Run.
  • hum - removes mains hum (50/60 Hz and its harmonics) with a stack of notch filters at hum_freq, hum_harmonics, and hum_q. Default 50 Hz - flip it to 60 if you're in North America.

Each method has its own dk_ / dc_ / dn_ / wt_ / hum_ parameter group, and only the group for the selected method applies - the rest are inert, same pattern as Audio Modulation. Input is audio or video (it repairs the video's audio), outputs are audio plus an fx_spec you can feed into an FX Chain to stack with other effects and render in a single pass.

The one worth calling out is hum - that 50/60 Hz notch is the difference between a dialogue clip that sounds like a bad radio and one that's clean, and it's the method beginners most often overlook because it lives here instead of in the EQ stage. Set hum_freq to your local mains frequency and let the harmonics ride; the notch stack handles up to 16 harmonics before it starts touching real content.

Honest limitations: these are surgical filters, and the difference between "declick fixed it" and "declick made it worse" is mostly the threshold being too aggressive. Start with the defaults and nudge one parameter at a time. And don't expect de-clipping to reconstruct a waveform that was slammed flat for an entire song - it fixes clipped events, not deliberately overdriven mixes. For those, the Saturate stage is the tool, ironically, because it's what you'd use to add the grit back deliberately.

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. ComfyTV declares zero extra pip dependencies - every method here is a stock PyAV/FFmpeg filter, no models, CPU-only.

CategoryComfyTV/AudioFX

Inputs (18)

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.
methodCOMBOdeclick5 options: declick, declip, denorm, wavelet, hum
dk_windowFLOAT55.0010–100
dk_thresholdFLOAT2.001–100
dk_burstFLOAT2.000–10
dc_thresholdFLOAT10.001–100
dc_hsizeINT1000100–9999
dn_levelINT-351-451–-90
wt_sigmaFLOAT0.0000–1
wt_percentFLOAT850–100
wt_levelsINT101–12
hum_freqFLOAT5010–2000
hum_harmonicsINT81–16
hum_qFLOAT8.001–100
audiooptCOMFYTV_AUDIO
videooptCOMFYTV_VIDEO

Outputs (2)

NameTypeDescription
audioCOMFYTV_AUDIO
fx_specCOMFYTV_FXSPEC