CosyVoice3-Uzbek (645k)
Zero-shot Uzbek text-to-speech and voice cloning, fine-tuned from
FunAudioLLM CosyVoice3-0.5B on a 645,000-utterance Uzbek speech corpus.
Sibling of Tohirju/cosyvoice3-tajik-642k.
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-uzbek-full645k', load_trt=False, load_vllm=False, fp16=False)
for out in cosy.inference_zero_shot(
'Salom! Bu oʻzbek tilidagi ovozli model.', # 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
Results — round-trip WER (FLEURS-uz, synth → Whisper-CA uz ASR → WER, n=30)
| checkpoint | median WER | mean WER | best |
|---|---|---|---|
| step 35k (this model) | 16.0% | 45.9% | 0% |
Selected for stability (step 35k: ~3% collapse rate, vs 60% at step 20k — Uzbek needs more training than Tajik for stable stopping). The typical sentence synthesizes at ~16% WER; the higher mean reflects a small tail of unstable clips. Scored with a fine-tuned Uzbek ASR (Whisper-large-v3-CA, uz ~13.8%) — a base Whisper scorer inflates WER via Uzbek orthographic mismatch (oʻ/gʻ/q/x) and is not used.
License
Apache-2.0 (inherits from CosyVoice3-0.5B base). Access is gated (manual approval).