Results (normalized CER / WER, %)
Table with columns: Test set, CER, WER, Whisper-large-v3 (zero-shot) CER| Test set | CER | WER | Whisper-large-v3 (zero-shot) CER |
|---|
| FLEURS | 3.79 | 13.33 | 4.06 |
| Common Voice 25 | 0.36 | 1.44 | 4.29 |
| Combined | 1.21 | 4.39 | 4.19 |
~3.5x CER reduction over Whisper zero-shot on the combined test set.
Usage
import torch, torchaudio
from transformers import WhisperForConditionalGeneration, WhisperProcessor
model = WhisperForConditionalGeneration.from_pretrained("BuzzASR/bulgarian", torch_dtype=torch.float16).to("cuda").eval()
proc = WhisperProcessor.from_pretrained("BuzzASR/bulgarian")
wav, sr = torchaudio.load("audio.wav")
feats = proc(wav[0], sampling_rate=16000, return_tensors="pt").input_features.to("cuda").half()
ids = model.generate(feats, num_beams=1, no_repeat_ngram_size=3, repetition_penalty=1.2)
print(proc.batch_decode(ids, skip_special_tokens=True)[0])
The language/task prompt is baked into the generation config, so no language= argument is needed.
Training data
FLEURS + Common Voice Corpus 25.0 (Mozilla, March 2025; https://commonvoice.mozilla.org/en/datasets), capped per the paper. Text-only data from the Goldfish corpus (Chang et al., 2026).
Limitations
Monolingual (Bulgarian only). Evaluated on FLEURS / Common Voice test splits; other domains or dialects may differ.
Citation
Project page: https://lemn-lab.github.io/buzzasr-docs/