Skip to main content

Overview

ChatterboxMultilingualTTS extends Chatterbox’s capabilities to 23 languages with high-quality voice cloning and synthesis. It supports cross-lingual voice cloning, allowing you to clone a voice in one language and synthesize speech in another.

Class Signature

Parameters

T3
required
The T3 text-to-speech tokens model instance configured for multilingual support
S3Gen
required
The S3Gen vocoder model instance for token-to-audio conversion
VoiceEncoder
required
Voice encoder for extracting speaker embeddings from reference audio
MTLTokenizer
required
Multilingual text tokenizer instance
str
required
Device to run inference on (“cuda”, “cpu”, or “mps”)
Conditionals
Optional pre-computed conditionals for voice and style. See Conditionals reference

Class Methods

from_pretrained()

Load the pre-trained ChatterboxMultilingualTTS model from Hugging Face.

Parameters

str
required
Device to load the model on (“cuda”, “cpu”, or “mps”)

Returns

ChatterboxMultilingualTTS
Initialized ChatterboxMultilingualTTS model with pre-trained weights from ResembleAI/chatterbox

Example

from_local()

Load the model from a local checkpoint directory.

Parameters

str
required
Path to the directory containing model checkpoint files
str
required
Device to load the model on (“cuda”, “cpu”, or “mps”)

Returns

ChatterboxMultilingualTTS
Initialized ChatterboxMultilingualTTS model with weights loaded from local directory

get_supported_languages()

Return a dictionary of all supported language codes and their names.

Returns

dict
Dictionary mapping language codes to language names. See Supported Languages for the full list

Example

Instance Methods

prepare_conditionals()

Prepare voice conditionals from an audio prompt for subsequent generation calls.

Parameters

str
required
Path to the audio file to use as voice reference
float
default:"0.5"
Voice exaggeration level (0.0 to 1.0). Higher values produce more expressive speech

Example

generate()

Generate speech from text in the specified language using the prepared voice conditionals.

Parameters

str
required
The text to convert to speech
str
required
Language code for the text (e.g., “en”, “es”, “fr”). See Supported Languages for valid codes
str
Optional path to audio file for voice cloning. If provided, will override existing conditionals
float
default:"0.5"
Voice exaggeration level (0.0 to 1.0). Higher values produce more expressive and animated speech
float
default:"0.5"
Classifier-free guidance weight (0.0 to 1.0+). Higher values increase adherence to conditioning
float
default:"0.8"
Sampling temperature (higher = more random, lower = more deterministic)
float
default:"2.0"
Penalty for repeating tokens (1.0 = no penalty, higher values discourage repetition)
float
default:"0.05"
Minimum probability threshold for sampling. Filters out tokens below this probability
float
default:"1.0"
Nucleus sampling threshold (0.0 to 1.0). Only tokens with cumulative probability up to top_p are considered

Returns

torch.Tensor
Generated audio waveform as a PyTorch tensor with shape [1, samples]. Sample rate is 44100 Hz (accessible via model.sr). Audio includes perceptual watermarking

Example

Attributes

int
Sample rate of generated audio (44100 Hz)
str
Device the model is running on
Conditionals
Current voice conditionals used for generation

Notes

  • Supports 23 languages with cross-lingual voice cloning capabilities
  • Language code validation is performed automatically - invalid codes will raise a ValueError
  • Generated audio is automatically watermarked using the Perth implicit watermarker
  • Text is automatically normalized for the target language (capitalization, punctuation)
  • The exaggeration parameter can be updated on-the-fly without re-preparing conditionals
  • Higher repetition_penalty (default 2.0) helps prevent repetition in multilingual synthesis