Instructions to use sucrette/chatterbox-turbo-t3-coreai with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Chatterbox
How to use sucrette/chatterbox-turbo-t3-coreai with Chatterbox:
# pip install chatterbox-tts 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) - Notebooks
- Google Colab
- Kaggle
Chatterbox Turbo T3 for Core AI
The text-to-speech-token model (T3, a GPT-2 style decoder with 24 layers, width 1024, 16 heads) of Resemble AI's
Chatterbox Turbo (MIT), converted to Apple's Core AI (.aimodel, macOS 27) as two fixed-shape
fp16 graphs that share one caller-owned K/V cache: a prefill graph that consumes the voice conditioning and the text in one call, and a decode
graph that then runs once per speech token. The speech tokens go to chatterbox-s3gen-coreai
for audio. Weights from t3_turbo_v1.safetensors. Converted for Asa (AsaTTS.T3Engine).
Files, inputs and outputs
| file | inputs | outputs |
|---|---|---|
t3_turbo_prefill_80.aimodel |
cond fp16 [1, 376, 1024] voice conditioning (speaker projection plus prompt-speech embeddings), ids int32 [1, 81] text token ids, then the START speech token, then padding, sel fp16 [1, 81, 1] 1 where ids indexes the speech table, last int32 [1] index of the START token |
logits fp16 [1, 6563] at the START token |
t3_turbo_1024.aimodel |
token int32 [1], pos int32 [1] |
logits fp16 [1, 6563] |
Both graphs hold the state k0, v0 ... k23, v23, each fp16 [1024, 16, 64], owned by the caller: prefill writes positions 0 to 456, decode
writes pos and attends to positions up to it. Padding sits after the real text tokens, so causal attention never lets it touch them; decode
overwrites the stale entries. Text is up to 80 tokens of Chatterbox's English BPE tokenizer. The 376-row conditioning is made per voice (see
chatterbox-voice-encoders-coreai, t3cond_turbo). Sampling is on the host.
Checked on
Apple silicon Mac, macOS 27, Core AI GPU, coreai-core 1.0.0b3: decode median 11.9 ms per token after export. End to end (prefill, decode, flow,
vocoder) through Asa's swift test and asa-tts; Asa's tools/dump_t3_golden.py and tools/t3_parity.py compare the tokens against
Chatterbox's PyTorch T3.
How it was made
uv run tools/export_t3_decode.py turbo # t3_turbo_1024.aimodel
uv run tools/export_t3_prefill.py turbo # t3_turbo_prefill_80.aimodel
from Asa's tools/. Pins: coreai-core 1.0.0b3, coreai-torch 0.4.3, torch 2.13.0; weights read from the Hugging Face repository with safetensors.
License
MIT, as Chatterbox (LICENSE, Copyright (c) 2025 Resemble AI).
Model tree for sucrette/chatterbox-turbo-t3-coreai
Base model
ResembleAI/chatterbox-turbo