Nodes/ComfyUI · Egregora Audio Super‑Resolution/🎛️ Spectral Enhance (Fat Llama — CPU/FFTW)
ComfyUI Node

🎛️ Spectral Enhance (Fat Llama — CPU/FFTW)

Same spectral enhancement, zero CUDA drama

By lucasgattas·Created 12 months ago·Updated 7 months ago· 60
🎛️ Spectral Enhance (Fat Llama — CPU/FFTW)
  • AUDIO
  • AUDIO
â—„target_formatâ–ľâ–ş
â—„max_iterations800â–ş
â—„threshold_value0.60â–ş
â—„target_bitrate_kbps1411â–ş
â—„audio_pathâ–ş
â—„audio_urlâ–ş

This is the sibling node to the GPU Fat Llama, and it exists for one very good reason: not everyone has a CUDA GPU that's willing to play nice with CuPy. The CPU/FFTW variant runs the same iterative spectral enhancement idea - via the fat-llama-fftw package, which swaps CuPy for the FFTW (Fastest Fourier Transform in the West) backend - and needs none of the NVIDIA runtime wheels or the CuPy import dance. If the GPU node's error messages made you want to close the laptop, this is your off-ramp.

It's the same spectral "fattener" concept: take flat, over-compressed, or noisy audio and iteratively shape its spectrum to restore body and air. Same target_format, threshold_value, and target_bitrate_kbps knobs. The differences are the ones you'd expect from a CPU fallback:

  • max_iterations defaults higher (800 vs 300) because the CPU path is inherently slower, so you get a head start on quality.
  • The normalize/autoscale toggles from the GPU node are gone - the CPU variant just runs the library defaults.

The inputs that matter

  • max_iterations - 800 default; on CPU, each iteration costs real time, so don't crank to 10,000 and go make a sandwich. Well, go make a sandwich anyway, just know what you're signing up for.
  • threshold_value (default 0.6) - spectral gating aggressiveness.
  • target_bitrate_kbps / target_format - write target for the intermediate file.

Like its sibling, it accepts a ComfyUI AUDIO buffer, or audio_path / audio_url if you want to point at files directly, and outputs one AUDIO buffer.

Install

It's the easy one: fat-llama-fftw is in the pack's requirements.txt and install.py double-checks it. No CUDA, no CuPy, no NVIDIA runtime wheels. If you're on a Mac, an AMD card, or an NVIDIA machine where you just don't want the CuPy fight, this is the node you'll actually use. The README notes that if you feed it non-WAV inputs via path/URL, the upstream package may want ffmpeg on your PATH - for plain AUDIO buffers you won't hit that.

When to pick which

Honestly, the cleanest advice: if the GPU node works on your box, use it - it's faster and gives you the normalize/autoscale safety toggles. But if you get "CUDA GPU not detected" or a CuPy import failure, do not go down the rabbit hole of rebuilding your Python environment to make it happy. The CPU node gets you the same effect with none of the setup tax. The whole pack is built on "verify what you changed," and the CPU Fat Llama is the same enhancement, just more patient about it.

CategoryEgregora/Audio

Inputs (7)

NameTypeDefaultDescription
target_formatCOMBO2 options: wav, flac
max_iterationsINT8001–10000—
threshold_valueFLOAT0.600–1—
target_bitrate_kbpsINT141164–5000—
AUDIOoptAUDIO—
audio_pathoptSTRING—
audio_urloptSTRING—

Outputs (1)

NameTypeDescription
AUDIOAUDIO—