Nodes/ComfyUI F5-TTS/F5-TTS Audio advanced
ComfyUI Node

F5-TTS Audio advanced

Every voice-cloning knob F5-TTS actually exposes

By niknah·Created 2 years ago·Updated 13 days ago· 271
F5-TTS Audio advanced
  • sample_audio
  • AUDIO
sample
speechThis is what I want to say
seed1
model
vocoder
speed1.00
model_typeF5TTS_Base
sample_textText of sample_audio
target_rms0.10
cross_fade_duration0.15
nfe_step32
cfg_strength2.00
sway_sampling_coef-1.000
speed_typetorch-time-stretch
fix_duration-1.00

This is the node to reach for once the plain F5-TTS nodes get you close but not quite right. "F5-TTS Audio advanced" is a superset of both simpler nodes - it takes reference audio either as a file-folder sample dropdown or as a connected sample_audio input, your choice - plus every tuning knob the underlying F5-TTS model actually exposes: loudness, crossfade, denoising steps, guidance strength, sway sampling, and how speed changes get applied. It's also the newest node in the pack, added in version 1.0.21 with time-domain harmonic scaling (TDHS) bolted on a version later, which tells you where niknah's been putting his effort lately.

F5-TTS clones a voice zero-shot: a short reference clip plus its transcript, then new text spoken in that voice. What the plain nodes hide from you is that this is a diffusion-style generation process - the model denoises audio over a number of steps, steered by classifier-free guidance, same family of ideas as image diffusion. The advanced node is where those internals actually surface as parameters instead of being baked-in defaults.

How it works

Feed it a reference voice the same way you would either sibling node - pick a sample from your input folder, or wire in sample_audio + sample_text directly (the tooltip is explicit: "when this is connected, sample is ignored"). From there it runs the same denoising process as always, but you get to touch the process itself: how many steps it takes, how strongly it follows the guidance signal, and where in that process the guidance leans hardest.

The inputs and outputs that matter

The baseline set is shared with the other two nodes - sample/sample_audio+sample_text, speech, model, model_type, vocoder, speed, seed. What's new here:

  • nfe_step (default 32) - "the number of function evaluation (denoising steps)," per the node's own tooltip. More steps costs more time; if output sounds tinny or muffled, this is the first knob worth raising.
  • cfg_strength (default 2) - classifier-free guidance strength; higher pushes generation to follow the reference voice more strictly.
  • sway_sampling_coef (default -1, min -10) - biases where in the denoising process the guidance is strongest.
  • target_rms (default 0.1) - target loudness normalization for the output.
  • cross_fade_duration (default 0.15s) - how long segments cross-fade into each other, most relevant if you're generating multiple chunks or switching voices.
  • speed_type - how the speed value is actually applied: torch-time-stretch (torchaudio's TimeStretch, the default), F5TTS (F5-TTS's own built-in stretch), or TDHS (time-domain harmonic scaling, added 1.0.22) - worth trying if the default stretch introduces artifacts at non-1.0 speeds.
  • fix_duration (default -1, disabled) - pin the total output duration in seconds instead of letting it vary naturally.

Output is a single AUDIO, same as both sibling nodes.

How to install it

Since this node is fairly recent (1.0.21+), if it's missing from your node list, update the pack rather than assume it's not there. In ComfyUI Manager, search "ComfyUI F5-TTS" and hit "update all" - the README specifically recommends Manager over manual git for this reason. Manual install:

cd ComfyUI/custom_nodes
git clone https://github.com/niknah/ComfyUI-F5-TTS
cd ComfyUI-F5-TTS
git submodule update --init --recursive
pip install -r requirements.txt

The submodule step is not optional - the real F5-TTS code lives in a nested repo the wrapper depends on. Windows needs the shared-library ffmpeg build (winget "ffmpeg (Shared)").

Common issues & troubleshooting

Wanting BigVGAN as your vocoder. Most models are fine on vocos (the auto default resolves there), but if you pick bigvgan you'll likely hit an import error - it needs a one-character manual patch in F5-TTS/src/third_party/BigVGAN/bigvgan.py, changing from utils import init_weights, get_padding to from .utils import init_weights, get_padding. This is a known quirk of the vendored BigVGAN code, not a bug in niknah's node.

Tinny, muffled, or over-processed output. Push nfe_step up before you touch anything else, and double-check your reference sample is clean and well under the 15-second cutoff F5-TTS enforces - bad or borderline-length samples are the most common real cause, not the guidance settings.

"No module named f5_tts." A submodule didn't clone properly. Delete custom_nodes/ComfyUI-F5-TTS/F5-TTS and run git clone https://github.com/SWivid/F5-TTS.git F5-TTS in its place.

Fiddly install, breaks on updates. This is a heavier dependency chain than most nodes - torch, torchaudio, a nested submodule - and that combination is a recurring source of pain across ComfyUI's custom-node ecosystem in general. If audio work is a regular thing for you, a separate ComfyUI environment for it keeps this pack's dependencies from colliding with your image/video stack.

Categoryaudio

Inputs (16)

NameTypeDefaultDescription
sampleCOMBO5-15 seconds of audio
speechSTRINGThis is what I want to say
seedINT1Seed. -1 = random
modelCOMBO10 options: F5v1, F5, F5-DE, F5-ES, F5-FR, F5-HI, +4
vocoderCOMBOMost models are usally vocos
speedFLOAT1.00Seed. -1 = random
model_typeCOMBOF5TTS_BaseType of model
sample_audiooptAUDIOWhen this is connected, sample is ignored. Also put the words into sample_text
sample_textoptSTRINGText of sample_audio
target_rmsoptFLOAT0.10Target output speech loudness normalization value
cross_fade_durationoptFLOAT0.15Duration of cross-fade between audio segments in seconds
nfe_stepoptINT32The number of function evaluation (denoising steps)
cfg_strengthoptFLOAT2.00Classifier-free guidance strength
sway_sampling_coefoptFLOAT-1.000Sway Sampling coefficient
speed_typeoptCOMBOtorch-time-stretchTDHS - Time-domain harmonic scaling. torch-time-stretch - torchaudio.transforms.TimeStretch. F5TTS's default time stretch.
fix_durationoptFLOAT-1.00Fix the total duration (ref and gen audios) in second. -1 = disable

Outputs (1)

NameTypeDescription
AUDIOAUDIO