TL;DR
A single fine-tune on ~94.4h of Dutch Common Voice takes WER from
~44.03% (base Whisper-tiny) to ~22.34% (49.3% relative drop) on a held-out, speaker- and
sentence-disjoint test split.
All systems scored on the same held-out panel through one shared text normalizer
(BasicTextNormalizer). RTF = CPU compute seconds per audio second (lower is faster).
Table with columns: Model, params, size (fp32), RTF (CPU), cv17-test, fleurs-test, mean WER| Model | params | size (fp32) | RTF (CPU) | cv17-test | fleurs-test | mean WER |
|---|
| LokaalHub/whisper-klein-nl (ours) | 58M | 230.7 MB | 0.163 | 29.16 | 38.99 | 34.08% |
| openai/whisper-tiny | 38M | 151.0 MB | 0.091 | 46.15 | 49.14 | 47.64% |
Usage
from transformers import pipelineasr = pipeline("automatic-speech-recognition", model="LokaalHub/whisper-klein-nl")asr("audio.wav", generate_kwargs={"language": "nl", "task": "transcribe"})
Training
Standard Hugging Face Seq2SeqTrainer fine-tune (bf16), built and verified by the
tiny-asr-loop pipeline.
Limitations
Tiny-model fine-tune on read speech (Common Voice). The internal test split is small and
speaker-disjoint — see the panel table for FLEURS / out-of-domain numbers.