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

ChatterBox TTS (Simple)

Fewer knobs, same ChatterBox voice

By latentastronaut·Created 8 months ago·Updated 7 months ago· 2
ChatterBox TTS (Simple)
  • model
  • voice_audio
  • audio
textHello, this is a test of voice cloning.
exaggeration0.50
cfg_weight0.50
temperature0.80

ChatterBox TTS (Simple) is the version of this pack's voice cloning you install when you don't want to babysit twelve sampler parameters. It takes the same ChatterBox TTS engine, the same voice cloning, and strips the controls down to three that matter: text, reference voice, and how expressive the delivery should be. If the Manual TTS node looks like a cockpit, this is the point-and-shoot camera that gets you 90% of the way there.

How it works

Instead of reimplementing the whole two-stage generation pipeline in the node, the Simple variant calls ChatterBox's own official generate() API directly - model.generate(text, audio_prompt_path, exaggeration, cfg_weight, temperature). Under the hood that's the same T3 text-to-token model plus S3Gen synthesis, but all the sampler plumbing (top_p, min_p, repetition penalty, seeding) is handled by sensible library defaults you don't see. Your reference voice_audio gets written to a temp WAV, processed, and cleaned up after each run.

The catch: this node pairs with the Auto loaders, not the Manual ones. The tooltip on model says "from auto-loader," and it expects the official ChatterBox model object with the generate() method - not the hand-rolled wrapper the Manual loaders produce. So the intended combo is ChatterBox TTS Loader (Auto) → ChatterBox TTS (Simple) → audio out.

Inputs and outputs

  • model - a CHATTERBOX_TTS model from the Auto loader (required)
  • text - what to synthesize (required, multiline)
  • voice_audio - the reference voice, 6–10 seconds ideal (required)
  • exaggeration - emotion/expression intensity, 0 to 1, default 0.5
  • cfg_weight - how hard the output sticks to the text, 0 to 1, default 0.5
  • temperature - sampling randomness, default 0.8

One output: audio, ready for any audio consumer.

That's genuinely all there is. 0.5 exaggeration is a safe neutral; crank it toward 1 for theatrical reads, drop toward 0 for flat, monotone narration.

Install

Standard pack install - ComfyUI Manager (search "Latent Astronaut Suite") or:

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

Restart. First boot runs install.py, which installs chatterbox-tts with --no-deps (its version pins conflict with ComfyUI) plus librosa. The Auto loader downloads the model from HuggingFace on first use and caches it, so the first run is slow and later ones are fast.

Where people get burned

Mixing the loaders is the classic mistake - a Manual-loaded model into the Simple node fails because the API differs. Also remember the Simple node has no seed input, so results vary between runs unless you're happy with that. And the pack's deliberate choice to disable ChatterBox's watermarker (it segfaults) means you get clean audio, which is what you want anyway. First-run download times surprise people; give it a few minutes on the first generation.

Categoryaudio/latent-astronaut

Inputs (6)

NameTypeDefaultDescription
modelCHATTERBOX_TTSChatterBox TTS model from auto-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
cfg_weightFLOAT0.500–1Classifier-free guidance weight
temperatureFLOAT0.800.1–1.5Sampling temperature

Outputs (1)

NameTypeDescription
audioAUDIO