Vlotspraak Dutch ASR
Proprietary Dutch automatic speech recognition by CodeSpark Tech B.V. (product: VeraDossier).
A fine-tune of yuriyvnv/whisper-large-v3-high-mixed-nl
(Apache-2.0), 1.55B parameters, closed weights.
Status of the numbers below. None of them are on a published leaderboard yet. The Common Voice result is submitted to the Dutch community board and awaiting review; the Open ASR figures are our own runs of that repo's harness, not results the leaderboard has produced. Each table says which is which. Every run ships its scorer output so the scoring can be checked independently, but nothing here has been through third-party verification.
Full receipts, contamination check and reproduction: https://github.com/CodeSpark-Tech/dutch-asr-benchmarks
Common Voice (nl) โ official ASR_NL / NIST sclite
On the Dutch community ASR benchmark
(Common Voice 17.0 NL test), scored with the official ASR_NL_benchmark Docker tool (NIST sclite):
| System | WER | Test set |
|---|---|---|
| Vlotspraak Dutch ASR | 3.5% | full 11,266 clips |
| faster-whisper v3 (previous best on the board) | 4.3% | full 11,266 clips |
| our faster-whisper-large-v3 control (same pipeline) | 4.3% | identical clips |
The control reproduces the board's incumbent exactly, so the improvement is not a decoding artifact. A train-on-test check (Common Voice filenames are stable across releases) found only 9 of 11,266 test clips (0.08%) in our training data; the full and leak-free numbers differ by 0.1pp. Submitted for inclusion: ASR_NL_results PR #7.
Open ASR harness (nl) โ our own runs, not leaderboard results
We ran all three models ourselves using that repo's harness and scorer. The leaderboard does not
currently have a Dutch track, so these are not board-published numbers and nobody has reproduced
them. Same harness, same scorer (normalizer.eval_utils.score_results), eval-set identity verified:
| Benchmark | n | Vlotspraak | NVIDIA Canary-1b-v2 | NVIDIA Parakeet-TDT-0.6b-v3 |
|---|---|---|---|---|
| FLEURS NL | 364 utts | 4.63 | 5.27 | 6.50 |
| Common Voice NL | 1,699 utts | 4.30 | 5.78 | 5.47 |
| MLS NL | 628 utts | 5.11 | 9.64 | 11.27 |
These are the harness's own Dutch subsets, not the full FLEURS or MLS test sets. FLEURS NL in particular is 364 utterances, so treat a sub-point gap there as indicative rather than settled.
WER (%), lower is better. Our Parakeet run reproduces NVIDIA's published FLEURS figure to ~0.2pp, confirming the setup. Proposed for the board's Dutch track: open_asr_leaderboard #187. Note: Vlotspraak is a 1.55B Whisper-large-v3 derivative and is slower (lower RTFx) than the 0.6B NeMo models โ we optimise for accuracy, not throughput.
Held-out medical (Dutch)
On the Radboud/HoMed Medicijnjournaal corpus (official ASR_NL NIST-sclite): 11.4% WER, with no medical data in training.
This is measured on 30 of the 35 episodes, the audio we could retrieve. The published Wav2vec2.0 (12.8%) and Kaldi-NL (16.1%) figures are on all 35, so our number is not comparable to them and should not be read as beating them. It is a different file set. Treat 11.4% as a standalone indication of general-domain performance on medical audio until someone runs all 35.
Intended use
Dutch transcription for regulated, on-premise / air-gapped deployment (healthcare, GGZ, government, finance). Runs entirely inside the customer perimeter โ no external cloud dependency. Data is protected with hybrid post-quantum encryption (NIST-standardised ML-KEM-1024 + ML-DSA-65, FIPS 203/204, over AES-256-GCM).
Availability
Weights are commercial and licensed per-tenant (Vlotspraak Commercial License), not downloadable here. The full evaluation is open: per-sample sclite output, the harness, the contamination check, and a one-command reproduction โ contact info@codesparktech.nl. This card exists so the results are public and independently checkable. Building Dutch healthcare software and want to license or validate the engine on your own test data under NDA? Same contact.
Provenance & honesty
- Fine-tune of the open
yuriyvnv/whisper-large-v3-high-mixed-nl(Apache-2.0) on public Dutch corpora: Common Voice 25 NL, FLEURS NL, VoxPopuli NL, MLS NL and VoxForge NL. Not trained from scratch; not open-weight. Upstream attribution preserved per Apache-2.0. - Corpus licensing, in full. Common Voice 25 NL is CC0-1.0. FLEURS NL and MLS NL are CC-BY-4.0 (attribution to Google Research and to Pratap et al. respectively). VoxPopuli NL is CC0 plus European Parliament source terms. VoxForge NL is GPL-3.0. On that last one: there is no industry consensus that model weights trained on GPL-licensed audio become GPL-encumbered, and we treat trained weights as not a derivative work of the training data, since the model redistributes neither the audio nor the transcripts. We list it rather than leave it out, so the corpus can be judged instead of assumed. A VoxForge-free build is available on request for buyers who want a stricter provenance chain.
- Common Voice: fine-tuned on the CV train split; the board's incumbent is zero-shot. Fine-tuning on a benchmark's train split is legitimate (that is its purpose) but is a real advantage on Common Voice's recording conditions โ stated plainly, as the board's existing XLS-R FT entry also is.
- Medical figure is on 30/35 HoMed episodes (disclosed).
- Numbers scored on different harnesses use different normalizers and splits and are not interchangeable; each table above names its scorer.
Citation
No paper. If you cite this model, cite this card and the dated benchmark artifacts it links to.
ยฉ CodeSpark Tech B.V., Amsterdam. Model IP is proprietary; upstream components carry their own licenses.
Model tree for codesparktech/vlotspraak-dutch-asr
Base model
openai/whisper-large-v3Evaluation results
- WER (NIST sclite, ASR_NL_benchmark) on Common Voice 17.0 (nl) test - full, 11266 clipstest set self-reported3.500
- WER (self-run, open_asr_leaderboard scorer) on FLEURS nl - Open ASR harness subset, 364 uttstest set self-reported4.630
- WER (self-run, open_asr_leaderboard scorer) on MLS nl - Open ASR harness subset, 628 uttstest set self-reported5.110