ResembleAI
ResembleAI/chatterbox
No description available.
Model Documentation
Chatterbox TTS
Made with ❤️ by
09/04 🔥 Introducing Chatterbox Multilingual in 23 Languages!
We're excited to introduce Chatterbox and Chatterbox Multilingual, Resemble AI's production-grade open source TTS models. Chatterbox Multilingual supports Arabic, Danish, German, Greek, English, Spanish, Finnish, French, Hebrew, Hindi, Italian, Japanese, Korean, Malay, Dutch, Norwegian, Polish, Portuguese, Russian, Swedish, Swahili, Turkish, Chinese out of the box. Licensed under MIT, Chatterbox has been benchmarked against leading closed-source systems like ElevenLabs, and is consistently preferred in side-by-side evaluations.
Whether you're working on memes, videos, games, or AI agents, Chatterbox brings your content to life. It's also the first open source TTS model to support emotion exaggeration control, a powerful feature that makes your voices stand out. Try it now on our Hugging Face Gradio app.
If you like the model but need to scale or tune it for higher accuracy, check out our competitively priced TTS service (link). It delivers reliable performance with ultra-low latency of sub 200ms—ideal for production use in agents, applications, or interactive media.
Key Details
Tips
exaggeration=0.5, cfg=0.5) work well for most prompts.cfg to around 0.3 can improve pacing.cfg values (e.g. ~0.3) and increase exaggeration to around 0.7 or higher.exaggeration tends to speed up speech; reducing cfg helps compensate with slower, more deliberate pacing.*Note:* Ensure that the reference clip matches the specified language tag. Otherwise, language transfer outputs may inherit the accent of the reference clip’s language. *To mitigate this, set the CFG weight to 0.*
Installation
pip install chatterbox-tts
Usage
python
import torchaudio as ta
from chatterbox.tts import ChatterboxTTS
model = ChatterboxTTS.from_pretrained(device="cuda")
text = "Ezreal and Jinx teamed up with Ahri, Yasuo, and Teemo to take down the enemy's Nexus in an epic late-game pentakill."
wav = model.generate(text)
ta.save("test-1.wav", wav, model.sr)
If you want to synthesize with a different voice, specify the audio prompt
AUDIO_PROMPT_PATH="YOUR_FILE.wav"
wav = model.generate(text, audio_prompt_path=AUDIO_PROMPT_PATH)
ta.save("test-2.wav", wav, model.sr)
Multilingual Quickstart
python
import torchaudio as ta
from chatterbox.mtl_tts import ChatterboxMultilingualTTS
multilingual_model = ChatterboxMultilingualTTS.from_pretrained(device="cuda")
french_text = "Bonjour, comment ça va? Ceci est le modèle de synthèse vocale multilingue Chatterbox, il prend en charge 23 langues."
wav_french = multilingual_model.generate(french_text, language_id="fr")
ta.save("test-french.wav", wav_french, model.sr)
chinese_text = "你好,今天天气真不错,希望你有一个愉快的周末。"
wav_chinese = multilingual_model.generate(chinese_text, language_id="zh")
ta.save("test-chinese.wav", wav_chinese, model.sr)
example_tts.py for more examples.Acknowledgements
Built-in PerTh Watermarking for Responsible AI
Every audio file generated by Chatterbox includes Resemble AI's Perth (Perceptual Threshold) Watermarker
Disclaimer
Don't use this model to do bad things. Prompts are sourced from freely available data on the internet.Files & Weights
| Filename | Size | Action |
|---|---|---|
| conds.pt | 0.00 GB | |
| s3gen.pt | 0.98 GB | |
| s3gen.safetensors | 0.98 GB | |
| t3_23lang.safetensors | 2.00 GB | |
| t3_cfg.pt | 0.99 GB | |
| t3_cfg.safetensors | 1.98 GB | |
| t3_mtl23ls_v2.safetensors | 2.00 GB | |
| ve.pt | 0.01 GB | |
| ve.safetensors | 0.01 GB |