Instructions to use rustam1221/UzASR-CTC-600M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use rustam1221/UzASR-CTC-600M with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="rustam1221/UzASR-CTC-600M")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("rustam1221/UzASR-CTC-600M", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Access Uzbek ASR (GigaAM fine-tune)
Free for evaluation and non-commercial research. Commercial use requires a written license β contact rustam@clarion.uz. Approved participants of the Clarion Startup Program use the Model under the program terms at https://clarion.uz/startups/terms.
Log in or Sign Up to review the conditions and access this model content.
UzASR-CTC-600M
Live API free 30 min: clarion.uz
Commercial use, on-prem deployment & custom fine-tuning: rustam@clarion.uz Β· startups: free program at https://clarion.uz/startups
The most accurate Uzbek speech recognition model we ship: 8.1% WER on real conversational speech, with punctuation and sentence capitalization. 600M-parameter CTC model fine-tuned from GigaAM-Multilingual (MIT), decoded with a 4-gram KenLM.
This repository always holds the latest release. Every release is also an
immutable tag (v0.3.0, β¦) β pin one in production. Need speed or a smaller
GPU? See UzASR-CTC-220M.
Open-weight, research license: the weights are downloadable (gated form) and free for evaluation and non-commercial research; commercial use is available on request under a written license.
Results
Uzbek Spontaneous Speech benchmark v3: 311 human-verified clips of real Uzbek conversation (podcasts, interviews, talks). Corpus-level, lowercased, punctuation stripped.
| Model | Params | WER | WER (canonical) | CER |
|---|---|---|---|---|
| UzASR-CTC-600M v0.3.0 | 600M | 8.1% | 7.4% | 2.5% |
| UzASR-CTC-220M v0.3.0 | 220M | 9.4% | 8.7% | 3.0% |
| GigaAM-large β untuned | 600M | 14.4% | 13.2% | 5.3% |
| whisper-large-v3-turbo-uzbek | 809M | 38.6% | 38.2% | 18.5% |
The canonical column joins Uzbek clitics on both sides before scoring. Per-clip predictions are in the benchmark repository.
Speed: 163Γ realtime on one RTX 4090 with KenLM (beam 64), 3.6 GB VRAM.
Usage
pip install -r https://huggingface.co/rustam1221/UzASR-CTC-600M/raw/main/requirements.txt
wget https://huggingface.co/rustam1221/UzASR-CTC-600M/raw/main/inference.py
python inference.py interview.mp3
python inference.py interview.mp3 --revision v0.3.0 # pin a release
python inference.py interview.mp3 --no-lm # greedy, no kenlm needed
pip install "transformers>=5.22.1" librosa # optional, for --speakers
python inference.py interview.mp3 --speakers
With --speakers the transcript is split by who speaks when:
[00:00:27.9 - 00:00:36.1] Speaker 2: Sizni asosiy daromadingiz reklamadan va bitta reklamniy video sizdan buyurtma berish qancha turadi?
[00:00:38.9 - 00:00:42.2] Speaker 3: Bir yuz ellik dollar. Bitta video bir yuz ellik dollar.
Speaker turns come from NVIDIA Nemotron-3-Diarization (OpenMDW-1.1, up to 8 speakers, downloaded on first use). On synthetic Uzbek conversations it reaches 2.2% DER with two speakers and 3.8% with four (collar 0.25 s); five or more speakers are less reliable for now.
from inference import UzbekAsr
asr = UzbekAsr("rustam1221/UzASR-CTC-600M", revision="v0.3.0")
print(asr.transcribe("interview.mp3"))
# Assalomu alaykum, bugungi suhbatimizda ta'lim tizimi haqida gaplashamiz.
ffmpeg must be on PATH β any audio or video container works. Long audio
is split at its quietest points.
Files
| File | What it is |
|---|---|
model.safetensors |
acoustic model weights (fp32) |
config.json |
base model commit, vocabulary, LM weights and beam |
lm/uz-4gram-2026-10-27.* |
KenLM 4-gram, 10.2M sentences, benchmark-decontaminated |
inference.py |
standalone inference script |
How it was built
- Fine-tuned on 1.6k hours of Uzbek speech, with
. , ? !added as four extra CTC outputs so the model punctuates from prosody. - Adapted to spontaneous speech on a conversational mix (podcasts, IT talks, YouTube) with read-speech replay.
- Trained on ~250 hours of YouTube speech whose transcript was cross-checked by two independent systems.
The language model text is tahrirchi/uz-crawl (Apache-2.0) plus the training transcripts, with every sentence that shares a 10-word sequence with a benchmark reference removed.
The full ablation ladder (ten checkpoints), training configs and history live in the archive repository uzbek-asr-gigaam.
Releases
| Tag | Benchmark v3 WER | Notes |
|---|---|---|
v0.3.0 |
8.1% | spontaneous-speech adaptation + uz-crawl LM; = uzasr-large-v0.3.0 |
- Downloads last month
- -
Model tree for rustam1221/UzASR-CTC-600M
Base model
ai-sage/GigaAM-MultilingualDatasets used to train rustam1221/UzASR-CTC-600M
rustam1221/uzbek-asr-train-manifests
Evaluation results
- WER on Uzbek Spontaneous Speech ASR Benchmarkself-reported8.140
- CER on Uzbek Spontaneous Speech ASR Benchmarkself-reported2.540