Nodes/FireRedAudio · T8star-Aix/FireRedAudio 参考音频清理副本 · T8star-Aix
ComfyUI Node

FireRedAudio 参考音频清理副本 · T8star-Aix

A clean 24 kHz reference copy, without wrecking the original

By T8mars·Created 19 days ago·Updated 15 days ago· 21
FireRedAudio 参考音频清理副本 · T8star-Aix
  • model
  • audio
  • 清理副本
  • 清理报告 JSON
  • 副本路径
trim_silencetrue
normalize_loudnessfalse
speech_highpasstrue

Voice cloning has a dirty secret that applies to every model, FireRedAudio included: the reference clip is 80% of the result. A recording with two seconds of room tone before the voice starts, or a loud breath baked into the first word, gets cloned right along with the voice. This node makes a cleaned copy of your reference - converted to 24 kHz mono, with leading/trailing silence trimmed, loudness optionally normalized to −23 LUFS, and a 60 Hz speech high-pass - without ever touching the source file. If you've got one good take buried inside an otherwise messy recording, this is the node that turns it into a proper clone reference.

What it deliberately won't do

Read the description twice, because the restraint is the point: it does not do noise reduction, de-reverb, or clipping "repair." Those change timbre - the thing a clone is supposed to preserve. The pack's README is blunt about it: cleanup is trimming and leveling, never fake restoration. If your reference has music or someone coughing in the background, this node is not the rescue. That's a feature, not an omission.

The inputs that matter

  • model - yes, this needs a connected runtime even though it's mostly waveform math. The processing runs inside the isolated worker, so you need the FireRedAudio 模型/隔离运行时 wired in (the lite profile is fine).
  • trim_silence (default on) - strips dead air off the ends. This is the one that fixes "the clone stutters at the start" more often than anything else.
  • normalize_loudness (default off) - brings the copy to −23 LUFS. Turn it on when your reference is whisper-quiet or varies wildly in level.
  • speech_highpass (default on) - 60 Hz high-pass to kill rumble and DC-ish low-end noise. Leave it on.

Outputs are the useful part: 清理副本 (the cleaned AUDIO you feed to the clone input), 清理报告 JSON (what got changed, including the target loudness and high-pass values), and 副本路径 (the file on disk, under ComfyUI/output/fireredaudio/).

Where it fits

In the reference-prep chain, it sits right after a quality check: Load Audio → 参考音频质检 → this node → the clone's prompt_audio input. The pack even ships a full example workflow (15_reference_cleanup) showing exactly that path - QC the original, produce the clean copy, then generate from the copy so the original stays untouched. That SHA-256-safe, never-overwrite discipline is a theme across this whole pack, and this is where it starts.

Installing

Same pack install as everything else: ComfyUI Manager search comfyui-fireredaudio-T8, or:

cd ComfyUI\custom_nodes
git clone https://github.com/T8mars/comfyui-fireredaudio-T8.git
cd comfyui-fireredaudio-T8
python scripts\setup_runtime.py

then download models with python scripts\download_models.py --target "ComfyUI\models\TTS\FireRedAudio". The gotcha to remember: because this node calls into the worker, "I'm just trimming silence, why do I need a model?" is the wrong question - it needs the runtime handle, and the worker needs the setup script run first. If you skip setup_runtime.py, this node (and every other model-taking node in the pack) will fail at the RPC layer, not with a friendly message.

CategoryT8star-Aix/Audio/FireRedAudio

Inputs (5)

NameTypeDefaultDescription
modelT8_FIREREDAUDIO_MODEL
audioAUDIO
trim_silenceBOOLEANtrue
normalize_loudnessBOOLEANfalse
speech_highpassBOOLEANtrue

Outputs (3)

NameTypeDescription
清理副本AUDIO
清理报告 JSONSTRING
副本路径STRING