FL Chatterbox Turbo TTS
The voice that laughs, sighs and clears its throat
- audio_prompt
- audio
- message
The standard FL Chatterbox TTS will read your line competently. This one will laugh at it. FL Chatterbox Turbo TTS is the variant in filliptm's pack that swaps in a faster, GPT2-based model with paralinguistic tags - drop [laugh] or [sigh] into your text and the speech actually expresses it. It's the node you reach for when a flat robot reading won't do, and it's the one the README demo is built around.
Same Chatterbox family, same zero-shot voice cloning idea: feed it a reference clip and it speaks in that voice. But the Turbo model (t3_turbo_v1) is built for speed and for acting, not for raw quality. Where the standard node leans on classifier-free guidance and an exaggeration dial, Turbo samples tokens directly with classic language-model knobs - top_k, top_p, temperature, repetition_penalty. Fewer parameters, faster generation, and the trade-off is that it's English-only, and the emotive tags don't carry across languages.
How it works. Same three-part architecture as the rest of the pack - a text-to-token transformer, the S3 tokenizer, and an S3Gen vocoder producing 24 kHz audio. Turbo's tokenizer understands the paralinguistic tags and turns them into the acoustic details that make a laugh a laugh instead of a vocalized "ha ha". Models download automatically on first run from the ResembleAI/chatterbox-turbo HuggingFace repo into ComfyUI/models/chatterbox/chatterbox_turbo/, so budget some time for that first generation.
The inputs that matter. The tag support lives in text, so that's the fun one:
Hello there! [laugh] Isn't this amazing? [sigh] I just love text to speech.
Supported tags: [laugh], [sigh], [gasp], [chuckle], [cough], [sniff], [groan], [shush], [clear throat]. Don't over-stuff a line - one or two tags reads natural, five reads like a cartoon.
The rest of the required inputs are sampling dials: temperature (0.05–2.0) for randomness, top_k (1–5000, default 1000) for how many candidate tokens, top_p (0.1–1.0, default 0.95) nucleus sampling, repetition_penalty (1.0–3.0, default 1.2) to stop the model chewing on a word, and seed for reproducible output. Defaults are sensible; you'll mainly touch temperature and repetition_penalty if output gets weird.
audio_prompt (optional) is your clone reference - and Turbo is pickier than the standard model: the code warns you if your clip is under 5 seconds. use_cpu and keep_model_loaded round out the optional inputs.
Outputs. audio (AUDIO) and message (STRING) - the same status log as the rest of the pack, telling you the device, cache state and any errors.
Install. Identical to the whole pack - ComfyUI Manager, search "FL ChatterBox", or:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-ChatterBox
cd ComfyUI_Fill-ChatterBox
pip install -r requirements.txt
No extra model download beyond what the pack already pulls; Turbo's weights land in ComfyUI/models/chatterbox/ on first use. Dependencies are the pack's shared set (librosa, transformers, diffusers, s3tokenizer, soundfile, …), and the optional resemble-perth watermarking is best skipped on Python 3.12+.
Gotchas. Tags are English-only - fine, since Turbo is English-only anyway. Keep keep_model_loaded = True once you're iterating on delivery, because loading the model is the slow part, not the generation. And remember the 40-second-per-generation cap applies here too; script accordingly.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Hello, this is a test. [laugh] Isn't that funny? | — |
| temperature | FLOAT | 0.800.05–2 | — |
| top_k | INT | 10001–5000 | — |
| top_p | FLOAT | 0.950.1–1 | — |
| repetition_penalty | FLOAT | 1.21–3 | — |
| seed | INT | 00–4294967295 | — |
| audio_promptopt | AUDIO | — | |
| use_cpuopt | BOOLEAN | false | — |
| keep_model_loadedopt | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| message | STRING | — |