Views
No views yet

[cough], [laugh], [chuckle], and more to add distinct realism. While Turbo was built primarily for low-latency voice agents, it excels at narration and creative workflows.
| Model | Size | Languages | Key Features | Best For | 🤗 | Examples |
|---|---|---|---|---|---|---|
| Chatterbox-Turbo | 350M | English | Paralinguistic Tags ([laugh]), Lower Compute and VRAM | Zero-shot voice agents, Production | Demo | Listen |
| Chatterbox-Multilingual (Language list) | 500M | 23+ | Zero-shot cloning, Multiple Languages | Global applications, Localization | Demo | Listen |
| Chatterbox (Tips and Tricks) | 500M | English | CFG & Exaggeration tuning | General zero-shot TTS with creative controls | Demo | Listen |
pip install chatterbox-tts1# conda create -yn chatterbox python=3.11
2# conda activate chatterbox
3
4git clone https://github.com/resemble-ai/chatterbox.git
5cd chatterbox
6pip install -e .pyproject.toml to ensure consistency. You can modify the code or dependencies in this installation mode.1import torchaudio as ta
2import torch
3from chatterbox.tts_turbo import ChatterboxTurboTTS
4
5# Load the Turbo model
6model = ChatterboxTurboTTS.from_pretrained(device="cuda")
7
8# Generate with Paralinguistic Tags
9text = "Hi there, Sarah here from MochaFone calling you back [chuckle], have you got one minute to chat about the billing issue?"
10
11# Generate audio (requires a reference clip for voice cloning)
12wav = model.generate(text, audio_prompt_path="your_10s_ref_clip.wav")
13
14ta.save("test-turbo.wav", wav, model.sr)1
2import torchaudio as ta
3from chatterbox.tts import ChatterboxTTS
4from chatterbox.mtl_tts import ChatterboxMultilingualTTS
5
6# English example
7model = ChatterboxTTS.from_pretrained(device="cuda")
8
9text = "Ezreal and Jinx teamed up with Ahri, Yasuo, and Teemo to take down the enemy's Nexus in an epic late-game pentakill."
10wav = model.generate(text)
11ta.save("test-english.wav", wav, model.sr)
12
13# Multilingual examples
14multilingual_model = ChatterboxMultilingualTTS.from_pretrained(device=device)
15
16french_text = "Bonjour, comment ça va? Ceci est le modèle de synthèse vocale multilingue Chatterbox, il prend en charge 23 langues."
17wav_french = multilingual_model.generate(spanish_text, language_id="fr")
18ta.save("test-french.wav", wav_french, model.sr)
19
20chinese_text = "你好,今天天气真不错,希望你有一个愉快的周末。"
21wav_chinese = multilingual_model.generate(chinese_text, language_id="zh")
22ta.save("test-chinese.wav", wav_chinese, model.sr)
23
24# If you want to synthesize with a different voice, specify the audio prompt
25AUDIO_PROMPT_PATH = "YOUR_FILE.wav"
26wav = model.generate(text, audio_prompt_path=AUDIO_PROMPT_PATH)
27ta.save("test-2.wav", wav, model.sr)example_tts.py and example_vc.py for more examples.cfg_weight to 0.exaggeration=0.5, cfg_weight=0.5) work well for most prompts across all languages.cfg_weight to around 0.3 can improve pacing.cfg_weight values (e.g. ~0.3) and increase exaggeration to around 0.7 or higher.exaggeration tends to speed up speech; reducing cfg_weight helps compensate with slower, more deliberate pacing.1import perth
2import librosa
3
4AUDIO_PATH = "YOUR_FILE.wav"
5
6# Load the watermarked audio
7watermarked_audio, sr = librosa.load(AUDIO_PATH, sr=None)
8
9# Initialize watermarker (same as used for embedding)
10watermarker = perth.PerthImplicitWatermarker()
11
12# Extract watermark
13watermark = watermarker.get_watermark(watermarked_audio, sample_rate=sr)
14print(f"Extracted watermark: {watermark}")
15# Output: 0.0 (no watermark) or 1.0 (watermarked)@misc{chatterboxtts2025,
author = {{Resemble AI}},
title = {{Chatterbox-TTS}},
year = {2025},
howpublished = {\url{https://github.com/resemble-ai/chatterbox}},
note = {GitHub repository}
}