Instructions to use Tohirju/chatterbox-mtl-tajik with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Chatterbox
How to use Tohirju/chatterbox-mtl-tajik 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 Multilingual — Tajik (t3 fine-tune)
Chatterbox Multilingual v3 fine-tuned for Tajik by Saidzoda Lab.
Only the t3 text-to-speech-token transformer was fine-tuned; s3gen and ve (voice encoder) are the frozen upstream weights. The model does voice cloning: a reference wav is required at inference time.
Training
| Setting | Value |
|---|---|
| Base | Chatterbox Multilingual v3 (t3_mtl23ls_v2, stock 2454-token vocab) |
| Trained modules | t3 only (s3gen / ve frozen) |
| Precision | fp32 |
| Learning rate | 1e-5 |
| Steps trained | 12,500 |
| Shipped checkpoint | step 8,000 (winner of a WER sweep over checkpoints) |
| Data | 100k utterances / 205.5 h Tajik subset of our 642k-utterance Tajik pool |
| Language token | ru (Tajik is out-of-vocab for Chatterbox; the Russian token fits Tajik Cyrillic best) |
Results
Round-trip WER on FLEURS-tg (n=60): synthesize the reference text, transcribe with our Tajik ASR scorer (Whisper-large-v3-tg, checkpoint-14450), score against the reference.
| Model | Mean WER | Median WER |
|---|---|---|
| This model (Chatterbox-mtl-tajik, step 8000) | 10.7% | 8.3% |
| CosyVoice3-tajik-642k | 10.8% | 7.7% |
| Orpheus-3B Tajik | ~15.9% | — |
| CosyVoice2 Tajik | 16.7% | — |
Per-utterance evidence for this model is in eval/per_utt.jsonl and
eval/scores.json.
Usage
Download the repo files into a directory, then load with the
chatterbox-tts package
(pip install chatterbox-tts, or add a source checkout to sys.path):
import torchaudio
from huggingface_hub import snapshot_download
from chatterbox.mtl_tts import ChatterboxMultilingualTTS
ckpt_dir = snapshot_download("Tohirju/chatterbox-mtl-tajik")
# Workaround for newer transformers: the loader expects eager attention.
# If loading fails with an attention-implementation error, patch the t3 config
# before/while loading: cfg._attn_implementation = "eager"
model = ChatterboxMultilingualTTS.from_local(ckpt_dir, device="cuda")
wav = model.generate(
"Салом! Ин як намунаи овозӣ бо забони тоҷикӣ аст.",
language_id="ru", # Tajik uses the "ru" language token
audio_prompt_path="ref.wav", # REQUIRED: reference speaker wav (voice cloning)
)
torchaudio.save("out.wav", wav, model.sr)
Notes:
audio_prompt_path(a reference wav of the target speaker) is required — this is a voice-cloning model.- Pass
language_id="ru"— the model was fine-tuned under the Russian language token. - With newer
transformersversions the loader needs eager attention (cfg._attn_implementation = "eager").
Files
| File | Role |
|---|---|
t3_mtl23ls_v2.safetensors |
Fine-tuned t3 (Tajik) |
s3gen.pt |
Upstream speech-token-to-wav generator (frozen) |
ve.pt |
Upstream voice encoder (frozen) |
conds.pt |
Default conditioning |
grapheme_mtl_merged_expanded_v1.json |
Grapheme tokenizer |
License and data
- Model / code: MIT (upstream Chatterbox is MIT).
- Training data:
muhtasham/tajik-audioand the Peacockery Tajik corpus (CC-BY-4.0). Downstream users should observe CC-BY-4.0 attribution for the training data sources.
Citation
Saidzoda Lab, Central-Asian speech program (Tajik / Uzbek / Kazakh / Kyrgyz), 2026.
- Downloads last month
- -
Model tree for Tohirju/chatterbox-mtl-tajik
Base model
ResembleAI/chatterbox