Nodes/ComfyUI_AIIA/Audio Post-Process (Resample/Fade/Norm)
ComfyUI Node

Audio Post-Process (Resample/Fade/Norm)

The mastering chain that hides the seams

By havvk·Created about a year ago·Updated 6 months ago· 13
Audio Post-Process (Resample/Fade/Norm)
  • audio
  • splice_info
  • audio
  • splice_info
target_rate44100
fade_length0.1
normalizetrue
resampling_algsinc_interp_hann
lowpass_cutoff11000
highpass_cutoff60

This is the "mastering" node - the last thing in your audio chain before the file lands on disk, doing what a real mixing engineer does at the end of a session: resample, filter, fade, normalize. If you've been generating speech with CosyVoice or running voice conversion, you've probably noticed the audio doesn't sound bad, exactly, but it has a digital sheen and the occasional blip at cut points. That's precisely what this node exists to kill.

What it actually does

Four distinct jobs, all standard and all explainable:

  • Resample - up-sample to 44.1kHz or 48kHz with a high-quality Sinc interpolation (sinc_interp_hann default; sinc_interp_kaiser is the alternative). Output at 22–24kHz just sounds cheap; this fixes that.
  • LowPass filter - default 11000Hz, and it's the most interesting part. The README calls it a 6-stage cascade designed like a "brick wall" to smash the high-frequency aliasing artifacts that CosyVoice's resampling leaves behind. 0 disables it.
  • HighPass filter - default 60Hz, a gentler single-stage roll-off that kills low rumble and DC offset without eating the bass warmth of a voice.
  • Fade in/out + Normalize - small fades on the edges so joins and cuts don't pop, and a normalize-to-−1dB so the loudness is full but safe.

The inputs

  • audio - whatever came out of your TTS/VC/enhance node.
  • target_rate - 44100 (default), 48000, 24000, 22050, or Original. 44.1k is the standard call.
  • lowpass_cutoff (11000 default, 0=off) and highpass_cutoff (60 default, 0=off) - the two filters above. Leave the defaults unless you hear something specific; they were tuned for this pack's own output.
  • fade_length - seconds of fade on each end, 0.1 default.
  • normalize - on by default.
  • resampling_alg - the interpolation kernel; sinc_interp_hann is the default for good reason.
  • splice_info (optional) - the passthrough again, so this node can sit inside a voice-conversion pipeline without dropping the seam metadata. It comes back out the other side.

Outputs

audio (the finished track) and splice_info (passthrough).

Where it goes in a graph

The README is specific: put it after Voice Conversion. The full "sounds recorded, not generated" chain is:

TTS → Audio Enhance (Resemble) → Audio Post-Process → save

or for the long-conversion path:

source → Smart Chunker → Voice Conversion → Audio Post-Process

Gotchas

  • It can't fix what's not there. Post-processing is cosmetic; if the conversion itself landed a seam mid-word, this won't repair it - that's what the Silence Splitter/Splice Analyzer pair is for, upstream.
  • Don't stack resamples. If you set target_rate but your save/preview node also resamples, you're doing two Sinc passes for nothing. Pick one place.
  • The defaults are genuinely good for this pack's output. Tweak only on evidence - e.g. raise lowpass_cutoff if you're feeding it a real instrument recording and it's getting dull.
CategoryAIIA/Audio

Inputs (8)

NameTypeDefaultDescription
audioAUDIO
target_rateCOMBO441005 options: 44100, 48000, 24000, 22050, Original
fade_lengthFLOAT0.10–5Fade in/out duration in seconds
normalizeBOOLEANtrueNormalize to -1dB
resampling_algCOMBOsinc_interp_hann2 options: sinc_interp_hann, sinc_interp_kaiser
lowpass_cutoffINT110000–24000Apply LowPass filter at this frequency (Hz) to remove aliasing noise. 0 to disable.
highpass_cutoffINT600–2000Apply HighPass filter at this frequency (Hz) to remove low-end rumble/DC offset. 0 to disable.
splice_infooptSPLICE_INFO

Outputs (2)

NameTypeDescription
audioAUDIO
splice_infoSPLICE_INFO