CosyVoice3-Tajik (642k)
How to get access: please fill in the short form at saidzoda.com/access. We approve requests after we receive the form.
Zero-shot Tajik text-to-speech and voice cloning, fine-tuned from FunAudioLLM CosyVoice3-0.5B on a 642,000-utterance Tajik speech corpus.
Results — round-trip WER (synthesize FLEURS-tg text → ASR → WER), n=60, zero-shot voice cloning
| Model | mean WER | median |
|---|---|---|
| CosyVoice3-Tajik (642k) — this model | 10.8% | 7.7% |
| CosyVoice2-Tajik (68k) — predecessor | 16.7% | 15.4% |
Usage — IMPORTANT: correct prompt format
CosyVoice3 zero-shot needs the instruct prefix on the reference transcript, NOT the target text:
import sys; sys.path.append('third_party/Matcha-TTS')
from cosyvoice.cli.cosyvoice import CosyVoice3
cosy = CosyVoice3('cosyvoice3-tajik-642k', load_trt=False, load_vllm=False, fp16=False)
for out in cosy.inference_zero_shot(
'Матни тоҷикӣ барои гуфтан.', # target text (PLAIN)
'You are a helpful assistant.<|endofprompt|>' + REF_TRANSCRIPT, # instruct + reference transcript
REF_WAV_PATH, stream=False):
audio = out['tts_speech'] # 24 kHz waveform
Putting <|endofprompt|> on the target text instead of the reference transcript breaks the model's stopping behavior and causes over-generation. Keep it on the reference transcript.
License
Apache-2.0 (inherits from the CosyVoice3-0.5B base). Access is gated (manual approval).