⚙️ ChatterBox Official 23-Lang Engine
One model, 23 languages, no swapping
- TTS_engine
This is the grown-up ChatterBox. Where the community-model engine loads a separate finetune per language, this one is ResembleAI's official multilingual model - 23 languages baked into a single checkpoint, and you switch between them with a parameter instead of reloading a whole model. If you're doing anything multilingual, this is the ChatterBox you want. It's the same lineage that ResembleAI benchmarked against closed systems like ElevenLabs, it's MIT-licensed, and it landed to a lot of interest when "ChatterBox now supports 23 languages" made the rounds.
Like every engine in the suite, it's a configurator: it outputs a TTS_ENGINE, and the actual speech happens over in 🎤 TTS Text or 📺 TTS SRT.
How it works
One model holds all the languages, so [En:Alice] Hello [De:Hans] Guten Tag [Es:Maria] ¡Hola! in your TTS Text prompt switches language and voice inline without the model-reload stall you get from community finetunes. That's the practical win: language switching is a parameter flip, not a disk load. Zero-shot voice cloning works across all 23 languages from a few seconds of reference audio, and the clone comes from the TTS Text side (via narrator_voice or Character Voices), not from this node.
The inputs and outputs that matter
The two you'll actually set:
- model_version (default
v2) - v2 is the current tokenization with the experimental emotion/sound tokens; v1 is the plain original. There are also two community finetunes in the dropdown, Vietnamese (Viterbox) and Egyptian Arabic (oddadmix). Just leave it on v2 for normal use. - language (default English) - the language to speak. 23 options plus Vietnamese. This is the whole reason you're here.
The generation knobs matter less but exist:
- exaggeration (0–5, default 1) - expressiveness, same idea as classic ChatterBox but a wider range. 1 is a fine baseline.
- temperature (default 0.8) - randomness; keep it near default.
- cfg_weight (default 0.5), repetition_penalty (default 2), min_p (default 0.05), top_p (default 1) - the fine-tuning sampler controls. The 23-Lang model exposes more of these than the community engine; you can mostly ignore them until a specific voice is misbehaving, then nudge
repetition_penaltyup if it loops ormin_pif it rambles.
Single output: TTS_engine, straight into TTS Text or TTS SRT.
Installing it
Part of TTS Audio Suite, so you install the pack. ComfyUI Manager is easiest: search TTS Audio Suite, install, restart - Manager runs install.py, which sorts out the dependency tangle (NumPy, librosa, s3tokenizer) and Python 3.13. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/diodiogod/TTS-Audio-Suite.git, then python install.py inside the folder with your venv active (run the script, don't just pip-install requirements). Linux needs portaudio19-dev libsamplerate0-dev. The official model (~4.3GB) auto-downloads on first use into ComfyUI/models/TTS/chatterbox_official_23lang/, and v1/v2 coexist in that same folder.
Common issues
- The v2 emotion/sound tokens barely do anything. The README is blunt about this: the
<laughter>,<whisper>-style special tokens are experimental and often produce "minimal or no audible effects" - ResembleAI hasn't documented them and there's an open upstream issue. Don't build a workflow that depends on them working; treat them as a maybe. - Perth watermarking. The official model can embed an inaudible watermark for responsible-use tracking. The suite ships it disabled by default for compatibility, but it's worth knowing it exists if you care either way.
- Picking the wrong ChatterBox. If you only ever generate English and want the maximum community-finetune quality for a specific language, the community ⚙️ ChatterBox TTS Engine may suit you better. Use this node when you need multiple languages in one workflow without model-swap latency.
- First run is slow. That's the 4GB+ download, not a hang. Watch the console.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model_version | COMBO | v2 | ChatterBox model version: • v1: Original 23-language model • v2: Enhanced with special tokens for emotions ([giggle], [laughter], [sigh]), sounds ([cough], [sneeze]), vocal styles ([singing], [whisper]), and improved Russian support • Vietnamese (Viterbox): Community finetune optimized for Vietnamese (3000+ hours training data), supports all 24 languages with Vietnamese language support • Egyptian Arabic (oddadmix): Community finetune optimized for Egyptian Arabic (requires 'Arabic' language selection) |
| language | COMBO | English | ChatterBox language model to use for text-to-speech generation. Local models are preferred over remote downloads. |
| device | COMBO | auto | Device to run ChatterBox model on: • auto: Automatically select best available (MPS on Apple Silicon, CUDA on NVIDIA, XPU on Intel, CPU fallback) • cuda: NVIDIA GPU (requires CUDA-capable GPU) • xpu: Intel GPU (requires Intel PyTorch XPU) • cpu: CPU-only processing (slower) • mps: Apple Metal Performance Shaders (Apple Silicon Macs only) |
| exaggeration | FLOAT | 1.00–5 | Emotion exaggeration control. WARNING: This parameter has minimal effect in the multilingual models (v1 and v2) due to model training issues. Values are internally scaled by 50000x. Even at extreme values (100000+), changes are barely noticeable. This appears to be a fundamental model limitation, not an implementation issue. Classic ChatterBox works as expected. |
| temperature | FLOAT | 0.800.05–5 | Controls randomness in ChatterBox generation. Higher values = more creative/varied speech, lower values = more consistent speech. |
| cfg_weight | FLOAT | 0.500–1 | Classifier-Free Guidance weight for ChatterBox. Controls how strongly the model follows the text prompt. |
| repetition_penalty | FLOAT | 2.01–5 | Penalty for repeated tokens. Higher values reduce repetition in generated speech. |
| min_p | FLOAT | 0.050–1 | Minimum probability threshold for token selection. Lower values allow more diverse tokens. |
| top_p | FLOAT | 1.000–1 | Nucleus sampling threshold. Controls the probability mass of tokens to consider. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| TTS_engine | TTS_ENGINE | — |