Loading…
Loading…
openai/whisper-large-v3, fully fine-tuned on Common Voice Scripted Speech 27.0 Tatar (CC0). It writes Tatar in Cyrillic, with capital letters and punctuation.
For transcription, use run 2 instead: same recipe, trained on 165 speakers instead of 9, and 16% fewer errors. This model is kept for one reason: it never saw the official Common Voice test split, so it is the one to use for comparisons on that split.
Error rates in percent. CER and WER are computed after lowercasing and removing punctuation; raw CER compares the output exactly as produced.
| Test set | Clips | Speakers | CER | WER | raw CER |
|---|---|---|---|---|---|
| official test split | 4,983 | 258 | 5.5 | 23.6 | 7.0 |
| run 2's test set | 1,122 | 80 | 5.2 | 22.8 | 6.7 |
For comparison, stock Whisper-large-v3 gets 33.0% CER on the official test split. The full comparison is in the write-up.
import torch
from transformers import pipeline
asr = pipeline(
"automatic-speech-recognition",
model="ifs/whisper-large-v3-tt-cv27-run1",
dtype=torch.float16, # torch.float32 on a CPU
device="cuda", # or "cpu"
)
result = asr(
"audio.mp3",
return_timestamps=True, # needed for audio longer than 30 seconds
generate_kwargs={
"language": "tatar",
"task": "transcribe",
"num_beams": 1,
"no_repeat_ngram_size": 3,
"repetition_penalty": 1.2,
},
)
print(result["text"])
The decoding settings are the ones used in evaluation; they follow BuzzASR. The weights are stored in float32 (6.2 GB); float16 halves the memory and works well for inference.
All clips come from the validated bucket of Common Voice Scripted Speech 27.0 Tatar. This run kept the official test split untouched, which leaves few speakers for everything else:
| Split | Clips | Speakers | How it was built |
|---|---|---|---|
| test | 4,983 | 258 | the official test split |
| dev | 628 | 2 | two light speakers, one clip per sentence |
| train | 19,605 | 9 | every other validated clip sharing no speaker and no sentence with dev or test |
One speaker accounts for 58% of the training clips. The exact splits are in
the splits/ folder of this repository. Labels keep their
original casing and punctuation.
Full fine-tuning following the BuzzASR recipe, with
finetune.py --max-dev-speaker-clips 350:
Hardware: one NVIDIA A100 80GB on RunPod. Software: PyTorch 2.8.0, Transformers 5.18.0 (full environment in the write-up).
MIT, like the base model. The training data is CC0.
openai/whisper-large-v3