Downloads · 30 days
55
23% of all-time downloads
navai-uz/whisper-tiny-uzbek
whisper-tiny-uzbek is a automatic speech recognition model from navai-uz. Use it when you need speech turned into text. It is set up for transformers. The card lists the license as apache-2.0.
Uzbek automatic speech recognition, fine-tuned from openai/whisper-tiny on 753 hours of exclusively human-transcribed Uzbek speech.
Downloads · 30 days
55
23% of all-time downloads
All-time downloads
235
Public
Parameters
37.8M
303 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors151 MB · 99%
From the Hugging Face model README
Uzbek automatic speech recognition, fine-tuned from openai/whisper-tiny on 753 hours of exclusively human-transcribed Uzbek speech.
This is the tiny (39M parameters) model in the NavAI Whisper family. It is trained only on data with genuine human transcripts — no pseudo-labels, no scraped audio — and no evaluation test set is present in the training data.
The NavAI Whisper family spans four sizes so you can trade accuracy for latency:

Macro WER is the mean Word Error Rate across four held-out Uzbek test sets (see Evaluation). Lower is better. All four models live in the NavAI Whisper Collection.
Flagship —
whisper-mediumreaches 9.73 macro-WER / 8.81 micro-WER. See the full benchmark.
The NavAI Whisper family on four held-out Uzbek test domains. Word Error Rate (%), lower is better.
| model | params | macro | micro | feruza | FLEURS | USC | CV |
|---|---|---|---|---|---|---|---|
whisper-tiny | 39M | 18.13 | 17.2 | 11.51 | 26.33 | 18.71 | 15.98 |
whisper-base | 74M | 15.13 | 14.05 | 10.38 | 22.4 | 14.95 | 12.79 |
whisper-small | 244M | 11.57 | 10.69 | 7.95 | 16.96 | 11.81 | 9.58 |
whisper-medium | 769M | 9.73 | 8.81 | 7.41 | 14.11 | 9.7 | 7.69 |
WER %, lower is better. Macro = mean of the four domains (equal weight); micro = pooled by utterance.
Every result is re-decoded on one greedy harness and scored with uzbek_text_norm.
See how these compare across the open field in the open Uzbek Whisper leaderboard — every open Uzbek Whisper model, re-decoded on this same harness.
# pip install "transformers>=4.40" librosa soundfile
import librosa
from transformers import pipeline
asr = pipeline(
"automatic-speech-recognition",
model="navai-uz/whisper-tiny-uzbek",
chunk_length_s=30, # long-form audio is windowed automatically
)
# load & resample to 16 kHz — decodes wav/flac without ffmpeg
speech, sr = librosa.load("audio.wav", sr=16000)
result = asr(
{"array": speech, "sampling_rate": sr},
generate_kwargs={"language": "uz", "task": "transcribe"},
)
print(result["text"])
Passing a file path straight to
asr("audio.wav", ...)also works, but the pipeline decodes it with ffmpeg, which must be installed separately (conda install -c conda-forge ffmpeg). Loading the array withlibrosaas above needs no ffmpeg.
Batched transcription:
files = ["a.wav", "b.wav", "c.wav"]
batch = [{"array": librosa.load(f, sr=16000)[0], "sampling_rate": 16000} for f in files]
for out in asr(batch, batch_size=8, generate_kwargs={"language": "uz"}):
print(out["text"])
generate_kwargs={"language": "uz"} for best results.chunk_length_s=30; Whisper transcribes in 30-second windows.generation_config sets no_repeat_ngram_size=4, and all reported numbers are scored with it on.753 hours of human-transcribed Uzbek speech, from four openly-licensed corpora:
| Source | Version | License | Description |
|---|---|---|---|
| Common Voice | Corpus 22.0 (uz) | CC0-1.0 | crowd-sourced read speech (Mozilla Foundation) |
| FLEURS | uz | CC-BY-4.0 | encyclopedic read speech (Google) — train split only; the disjoint test split is held out for evaluation |
| Uzbek Speech Corpus (USC) | v1 | CC-BY-4.0 | read speech (ISSAI & TUIT) — attribution required, see below |
| UzbekVoice | — | Apache-2.0 | crowd-sourced read speech; distributed on Hugging Face as DavronSherbaev/uzbekvoice-filtered (Apache-2.0), linked from the official site (accessed 19 July 2026) |
Explicitly excluded from training: machine pseudo-labels, scraped YouTube audio, and every evaluation test set (including FeruzaSpeech and FLEURS
test). No evaluation data appears in training.
<a id="attribution"></a>
Attribution (USC, CC BY 4.0). "Our product uses ISSAI and TUIT Uzbek Speech Corpus, which is available under a Creative Commons Attribution 4.0 International License." — Musaev et al., USC: An Open-Source Uzbek Speech Corpus (arXiv:2107.14419).
uzbek_text_norm package: Cyrillic→Latin folding, spelled-out numbers/ordinals, Latin apostrophe folding (oʻ/gʻ), and punctuation handling.Full fine-tune of openai/whisper-tiny on the 753 h corpus above. Hyperparameters were selected per size by a hyperparameter search:
no_repeat_ngram_size=4.Four held-out Uzbek test splits, spanning distinct acoustic and lexical conditions:
| Set | Domain | Source |
|---|---|---|
| FLEURS | encyclopedic read speech | google/fleurs (uz, test) |
| Common Voice | crowd read speech | Common Voice Corpus 22.0 (uz, test) |
| USC | read speech | issai/uzbek_speech_corpus (test) |
| FeruzaSpeech | single-speaker read speech | k2speech/FeruzaSpeech (test) |
num_beams=1, no sampling. No model is advantaged by beam search.uzbek_text_norm (v0.3.0, Apache-2.0), applied symmetrically to reference and hypothesis for every system: lowercase, all punctuation removed, hyphens → space (splitting hyphenated compounds, matching Whisper's BasicTextNormalizer), every apostrophe variant folded to the Uzbek okina (oʻ/gʻ), Cyrillic→Latin folding, and digits/ordinals spelled out. pip install uzbek-text-norm to reproduce every number in this card.no_repeat_ngram_size=4), so none is advantaged by its own decode defaults.This model transcribes Uzbek speech and inherits biases present in its training data (speaker demographics, recording conditions, vocabulary). It should not be used as the sole basis for consequential decisions about individuals. Transcriptions of sensitive audio should be handled under appropriate privacy safeguards.
Released under the Apache License 2.0. Model weights are licensed independently of the training data; each training source retains its own license (documented above).
If you use these models or the uzbek_text_norm benchmark, please cite:
@misc{navai_whisper_uzbek_2026,
title = {NavAI Whisper: Open Uzbek Speech Recognition},
author = {NavAI},
year = {2026},
howpublished = {\url{https://huggingface.co/navai-uz}}
}
@inproceedings{musaev2021usc,
title = {USC: An Open-Source Uzbek Speech Corpus and Initial Speech Recognition Experiments},
author = {Musaev, Muhammadjon and others},
booktitle = {Speech and Computer (SPECOM)},
year = {2021},
note = {arXiv:2107.14419}
}
@misc{commonvoice22,
title = {Common Voice Corpus 22.0 (Uzbek)},
author = {{Mozilla Foundation}},
url = {https://commonvoice.mozilla.org/en}
}
@article{conneau2022fleurs,
title = {FLEURS: Few-shot Learning Evaluation of Universal Representations of Speech},
author = {Conneau, Alexis and others},
journal = {arXiv:2205.12446},
year = {2022}
}
Datasets: Common Voice 22.0 · google/fleurs · issai/uzbek_speech_corpus · k2speech/FeruzaSpeech · UzbekVoice.