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.
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.