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.
Name. "Vlotspraak Dutch ASR" is the public model name. Internally each release carries a Dutch lighthouse codename; this card describes Lange Jaap v0.4.2.
Status of the numbers below (updated 2026-10-22). The Common Voice result was merged into the Dutch community board on 30 Sep 2026 (ASR_NL_results PR #7) and is the lowest WER on that page's Common Voice table as of that date. The Open ASR figures are our own runs of that repo's harness, not results the leaderboard has produced; since October 2026 the board has a Dutch column, and our re-run against vanilla Whisper large-v3 on it is in the Open ASR section. Each table says which is which. Every run ships its scorer output so the scoring can be checked independently; apart from PR #7's review, nothing here has been through third-party verification.
Deployed build. Production serves the float16 CTranslate2 conversion of this checkpoint
(v0.4.2, model.bin SHA-256 9189dda9โฆee681). Measured twice on 2026-10-22 on an RTX 5090
(CTranslate2 float16, beam 5, VAD on, no conditioning on previous text, project normaliser):
3.41 % WER on Common Voice 25 NL test n = 2000 (95 % bootstrap CI [3.06, 3.76]) and 3.22 % on
the full 12 247-clip test split (CI [3.08, 3.35]); both runs identical to four decimals. The
client bar is 3.5 % at n = 2000.
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. Merged into the board on 30 Sep 2026: 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.
Re-run against vanilla Whisper large-v3 (2026-10-22). The board now has a Dutch column
(ml_nl, PR #208). We re-ran on the
board's main (7e8d1a1), its current dataset hf-audio/open-asr-leaderboard-multilingual-datasets,
its decode defaults (bfloat16, greedy, --language nl) and its scorer, with openai/whisper-large-v3
as the control. 95 % bootstrap CIs, 10 000 resamples; paired MAPSSWE t-test against large-v3.
| Model | FLEURS NL | Common Voice NL | MLS NL |
|---|---|---|---|
| openai/whisper-large-v3 (control; board column shows 4.37 / 4.10 / 4.80) | 4.43 [3.86, 5.02] | 4.11 [3.68, 4.55] | 4.81 [4.37, 5.28] |
| Vlotspraak, clean-provenance build (airtight) | 4.56 [3.98, 5.18], p = 0.59 | 4.26 [3.85, 4.69], p = 0.40 | 5.02 [4.59, 5.48], p = 0.13 |
| Vlotspraak, deployed checkpoint (Lange Jaap v0.4.2) | 4.53 [3.97, 5.13], p = 0.67 | 3.94 [3.54, 4.34], p = 0.36 | 5.25 [4.81, 5.72], p = 0.002 |
Reading: on the board's Dutch configs Vlotspraak is statistically indistinguishable from vanilla Whisper large-v3; the only significant difference is the deployed checkpoint on MLS, where it is worse. Its advantage is on Common Voice, the set it was fine-tuned on. We no longer say it beats Whisper or NVIDIA on these configs; the July margins over Canary and Parakeet stand as measured.
Limitations. Fine-tuned on Common Voice's train split, so Common Voice numbers overstate out-of-domain accuracy; read speech only (FLEURS, MLS, Common Voice), no conversational or telephone test set yet; 30 of 35 Medicijnjournaal episodes; slower than 0.6B models; closed weights, so board rows are self-reported unless the maintainers are given access.
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