Instructions to use mrmuminov/f5-tts-uzbek with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- F5-TTS
How to use mrmuminov/f5-tts-uzbek with F5-TTS:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
F5-TTS Uzbek (experimental)
F5-TTS F5TTS_v1_Base (335M) fine-tuned for Uzbek (Latin script).
This is a first experiment, not a polished release.
Training
- Base:
SWivid/F5-TTSF5TTS_v1_Base(English/Chinese). The pretrained vocabulary is unchanged: every character in the Uzbek transcripts is already in it. - Data: 14.6 hours, 12,327 clips from two speakers (one female, one male, both Samarqand region) of the crowd-sourced UzbekVoice corpus. Both were picked for being the cleanest among the biggest contributors. About 73% of the clips were not peer-reviewed, and transcripts were not verified against the audio.
- Text:
สปandโare folded into a plain', soo'zbekandma'nouse the same apostrophe. Use plain'in your input. - Schedule: 55,000 updates, bf16, 8-bit Adam, lr 2e-5, ~2 minutes of audio per update, on a single 8 GB RTX 4060 with activation checkpointing. The checkpoint is the EMA weights.
- Uses the standard F5-TTS architecture and vocoder (Vocos); no code changes are needed.
Usage
F5-TTS clones the voice from a reference clip, so you supply one (a few seconds of clean speech plus its exact transcript). Install f5-tts, then:
from huggingface_hub import hf_hub_download
from f5_tts.api import F5TTS
ckpt = hf_hub_download("mrmuminov/f5-tts-uzbek", "model.safetensors")
vocab = hf_hub_download("mrmuminov/f5-tts-uzbek", "vocab.txt")
tts = F5TTS(model="F5TTS_v1_Base", ckpt_file=ckpt, vocab_file=vocab)
wav, sample_rate, _ = tts.infer(
ref_file="reference.wav",
ref_text="Transcript of the reference clip.",
gen_text="Assalomu alaykum, bugun havo juda yaxshi.",
nfe_step=16,
file_wave="out.wav",
)
speak.py is the small script used to produce the samples (it expects local reference clips).
Evaluation (small and informal)
I synthesised 14 sentences (seven per voice, nfe_step=16; 8 texts of held-out corpus clips plus 6 fresh sentences; the held-out clips were excluded from training, but the same sentence text may appear in other clips of the corpus) and transcribed them with a separate Uzbek ASR model: relaxed WER 10.8%, CER 1.8%. This is a rough intelligibility check on a tiny sample; some of the errors come from the ASR model itself. No MOS or speaker-similarity evaluation was done.
Speed on an RTX 4060 (8 GB), about 3 s utterances: real-time factor ~0.2โ0.3 at nfe_step=16, ~0.15โ0.2 at 8, ~0.6 at 32 (after warm-up). On CPU it was far from real-time (RTF ~8โ25 at 32 steps).
samples/ holds the 14 synthesised clips (female_* and male_*).
Limitations
- Trained on two voices only. Other reference voices may sound less like the target or less stable.
- Numbers, abbreviations and foreign words are not verbalised; spell them out.
- Occasional dropped or substituted sounds (e.g.
to'liqread astunlik). - Quality is about intelligibility of short sentences; long text, prosody and naturalness were not tested.
License and responsible use
Released under CC BY-NC 4.0 (non-commercial), matching the F5-TTS v1 base weights, which were trained on non-commercial data (Emilia). The UzbekVoice corpus has no license stated in the copy used here, so check its terms before any use beyond research.
The model was fine-tuned on the voices of two real contributors. Do not use it to impersonate them or anyone else without consent, and disclose that speech is synthetic.
- Downloads last month
- 8
Model tree for mrmuminov/f5-tts-uzbek
Base model
SWivid/F5-TTS