Egregora Resample Audio (HQ)
The quality node that belongs upstream of everything
- audio
- audio_out
Resampling is the most underrated node in any audio pack, and this one is the pack's quiet workhorse. Change an audio file's sample rate badly and you get aliasing artifacts, a dull top end, or just weirdness that you'll chase for an hour assuming it's the enhancement model's fault. This node does sample-rate conversion properly - the kind of resampling the FlashSR node itself uses internally when it has to move audio to 48 kHz and back.
Here's why it matters in practice: the Egregora enhancement nodes (FlashSR especially) are picky about input rate, and downstream delivery targets (video pipelines, streaming specs, CD master) all want specific rates. Slipping this node at the front of your chain - resample to the rate your enhancement model wants, then resample back to your delivery rate at the end - keeps every stage honest.
How it works
The mode dropdown picks the backend, and auto (the default) makes a sensible choice for you:
scipy_polyphase- SciPy'sresample_poly, a high-quality FIR polyphase filter. This is the default when SciPy is available.torchaudio- a Kaiser-windowed resampler, withkaiser_beta(default 14.769) controlling the window shape. Torchaudio is likely present since ComfyUI ships it.linear- linear interpolation fallback. Fast, but it's the aliasing generator; only used if the other two are unavailable.
target_sr (default 48000, range 4,000–384,000) is the only required setting beyond the audio itself. If the input is already at the target rate, the node short-circuits and passes audio straight through - no work, no degradation.
Output is audio_out, one AUDIO buffer.
The inputs that matter
target_sr- the sample rate you actually want.mode- leaveautounless you have a reason; if you ever hear high-frequency shimmer after conversion, trytorchaudiowith a higherkaiser_beta.kaiser_beta- only relevant intorchaudiomode; default 14.769 is a solid high-quality window.
Install notes
The Egregora pack's requirements.txt includes SciPy (scipy>=1.11), so the polyphase path is covered once the pack is installed. The eval pack degrades gracefully if SciPy or torchaudio is missing - it falls back to linear, which is a fine "it runs" fallback but not something you want to ship on. If you're doing serious resampling, make sure at least one HQ backend is installed.
The take
There's not much to trip over here, which is the compliment. This is the node you drop in without thinking and quietly benefits from - the anti-glory utility that prevents the "why does my upscaled audio sound crunchy" question from ever being asked. If you're new to the pack, put it at the front of the chain, resample to 48 kHz, and let the enhancement nodes do their thing on a clean, properly-sampled signal.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| target_sr | INT | 480004000–384000 | — |
| modeopt | COMBO | 4 options: auto, scipy_polyphase, torchaudio, linear | |
| kaiser_betaopt | FLOAT | 14.85–20 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio_out | AUDIO | — |