Nodes/comfyui-latent-astronaut-suite/ChatterBox TTS (Manual)
ComfyUI Node

ChatterBox TTS (Manual)

Type text, clone a voice, get audio

By latentastronaut·Created 8 months ago·Updated 8 months ago· 2
ChatterBox TTS (Manual)
  • model
  • voice_audio
  • audio
textHello, this is a test of voice cloning.
exaggeration0.50
cfg_weight0.50
temperature0.80
top_p1.00
min_p0.05
repetition_penalty1.20
seed0

ChatterBox TTS (Manual) is the full-control text-to-speech node in this pack: type any text, give it 6–10 seconds of a reference voice, and it clones that voice and speaks your words. It's the node people actually reach for when they want a character to talk with a consistent voice inside a ComfyUI workflow - voice cloning without a training run. The "(Manual)" in the name means you're driving the full sampler parameter set, not the simplified version.

How it works

The pipeline is a two-stage generative model. Your reference audio is converted to a temp WAV, resampled, and fed through two things: the voice encoder produces a speaker embedding, and the S3Gen tokenizer produces speech-conditioning tokens. Meanwhile your text is normalized and tokenized. Then the T3 model runs autoregressive inference to generate speech tokens conditioned on that voice, and S3Gen turns those tokens into the final waveform. exaggeration scales emotion intensity straight into the conditioning - 0 is flat, 1 is hammed-up - which is a genuinely fun dial for performance-style TTS.

The inputs that matter

  • model - a CHATTERBOX_TTS model from a loader (required)
  • text - what to say (required, multiline)
  • voice_audio - the voice to clone, 6–10 seconds ideal (required)
  • exaggeration - emotion intensity, 0 to 1, default 0.5
  • cfg_weight - classifier-free guidance; higher sticks closer to the text, default 0.5
  • temperature - sampling randomness, default 0.8
  • top_p, min_p, repetition_penalty, seed - standard sampler knobs

Output is a single audio (AUDIO type) for whatever downstream node you have.

Honestly, the defaults are a fine starting point. temperature 0.8 and repetition_penalty 1.2 produce natural speech; nudge exaggeration up only if you want theatrical delivery. If the voice comes out robotic, drop temperature a hair and make sure the reference is clean - no music, no reverb.

Install and models

The pack installs via ComfyUI Manager (search "Latent Astronaut Suite") or:

cd ComfyUI/custom_nodes
git clone https://github.com/latentastronaut/comfyui-latent-astronaut-suite

Restart, and install.py installs chatterbox-tts with --no-deps plus librosa on first boot. This node is "Manual" for a reason: it needs a loader upstream, and the Manual loader wants four files in ComfyUI/models/chatterbox/: s3gen.safetensors, t3_cfg.safetensors, ve.safetensors, and tokenizer.json (plus optional conds.pt). If that sounds like hassle, the Auto loader downloads the model from HuggingFace on first use and you can pair it with the Simple TTS node instead.

Where people get burned

Setup friction is the #1 complaint with ChatterBox in ComfyUI. The dependency chain is delicate - that's exactly why the pack installs it with --no-deps - so if import errors appear, the install script's librosa step is usually the culprit. First generation is slow (model load + reference processing), so don't panic at a long pause. And the watermarker is deliberately disabled in this pack because it segfaults; don't go re-enabling it.

Categoryaudio/latent-astronaut

Inputs (10)

NameTypeDefaultDescription
modelCHATTERBOX_TTSChatterBox TTS model from loader
textSTRINGHello, this is a test of voice cloning.Text to synthesize into speech
voice_audioAUDIOReference audio for voice cloning (6-10 seconds ideal)
exaggerationFLOAT0.500–1Emotion/expression intensity (0=neutral, 1=exaggerated)
cfg_weightFLOAT0.500–1Classifier-free guidance weight (higher=more adherence to text)
temperatureFLOAT0.800.1–1.5Sampling temperature (higher=more varied/random)
top_pFLOAT1.000–1Nucleus sampling threshold
min_pFLOAT0.050–1Minimum probability threshold for sampling
repetition_penaltyFLOAT1.201–2Penalty for repeating tokens (1.0=no penalty)
seedINT00–18446744073709550000Random seed (0=random)

Outputs (1)

NameTypeDescription
audioAUDIO