Blog
A 153 MB Danish model beats Whisper Large V3 at Danish dictation
7 min read
Emil Lykke Grann
Danish has been one of the worst language in every benchmark Codictate has published. The only advice we could give a Danish user was "download the biggest Whisper model your machine can hold, and accept 15% of your words coming back wrong."
That advice is now wrong. syvai/hviske-v5-tiny is in Codictate, and on our Danish benchmark it beat every Whisper model we have ever measured, including Large v3 at 2.9 GB. The quantization that won is 181 MB. The smallest one is 153 MB and lost by 0.1 percentage points.
Here is the headline number, all three models measured in the same run, on the same audio, under the same ASR Harness:
| Model | Disk | Avg peak RAM | ms / sec audio | Danish word accuracy |
|---|---|---|---|---|
| Hviske V5 Tiny Q5 | 181 MB | 282 MB | 16 ms | 88.7% |
| Large V3 Turbo q5_0 | 574 MB | 742 MB | 52 ms | 84.8% |
| Parakeet TDT v3 | 500 MB | 79 MB | 17 ms | 80.6% |
How we measure Danish accuracy
Two numbers matter, and they disagree with each other more often than you would expect.
Word Error Rate (WER) counts whole words the model got wrong: substitutions, insertions and deletions, divided by the number of words actually spoken. It is the number that decides whether you have to reach for the mouse and fix the sentence. Word accuracy in the tables below is 100% - WER.
Character Error Rate (CER) does the same at the character level. A model that writes "kobenhavn" for "København" takes a small CER hit and a full WER hit, because the word is still wrong.
The audio is FLEURS da_dk: 197 scored utterances, 36 minutes and 47 seconds of Danish speech, with 3 warmup utterances discarded before measurement. Everything ran on an Apple M4 Max with 36 GB of RAM, macOS 26.5.1, through the crispasr harness that ships in the app today. Speed is milliseconds of processing per second of audio, so lower is better. Memory is average peak resident set size.
The full run: five hviske quantizations against the two shipping defaults
| Model | Disk | Avg peak RAM | ms / sec audio | Word accuracy | Char accuracy |
|---|---|---|---|---|---|
| Hviske V5 Tiny F16 | 503 MB | 601 MB | 21 ms | 88.5% | 93.2% |
| Hviske V5 Tiny Q8 | 268 MB | 368 MB | 18 ms | 88.5% | 93.2% |
| Hviske V5 Tiny Q6 | 232 MB | 332 MB | 17 ms | 88.3% | 93.2% |
| Hviske V5 Tiny Q5 | 181 MB | 282 MB | 16 ms | 88.7% | 93.3% |
| Hviske V5 Tiny Q4 | 153 MB | 253 MB | 16 ms | 88.6% | 93.2% |
| Large V3 Turbo q5_0 | 574 MB | 742 MB | 52 ms | 84.8% | 93.5% |
| Parakeet TDT v3 | 500 MB | 79 MB | 17 ms | 80.6% | 91.5% |
Large V3 Turbo is Codictate's default model. Against it, hviske Q5 makes fewer word errors, runs 3.1x faster (16 ms against 52 ms per second of audio, which is 61x realtime against 19x), and holds 2.6x less memory at peak.
Against Parakeet, which is the fast option, hviske makes fewer word errors again at the same speed. Parakeet keeps one clear win, and it is not a small one: 79 MB of peak RAM against 282 MB.
The Danish wall, and what it used to cost to climb it
Our earlier full model benchmark measured 33 Whisper models on this same Danish set. The pattern was brutal and monotonic:
| Whisper model | Disk | Danish word accuracy |
|---|---|---|
| Tiny full | 75 MB | 14.2% |
| Base full | 142 MB | 39.5% |
| Small q5_1 | 181 MB | 63.6% |
| Medium full | 1.5 GB | 78.2% |
| Large V3 Turbo q5_0 | 574 MB | 84.5% |
| Large V3 q5_0 | 1.1 GB | 86.9% |
| Large V3 full | 2.9 GB | 87.3% |
Danish is about 6 million speakers' worth of training data in a model that was optimised for 99 languages at once. To get past 85% you had to load at least a gigabyte, and the ceiling was 87.3% at 2.9 GB.
hviske Q5 clears that ceiling at 181 MB, and hviske Q4 clears it at 153 MB, which is 1/19th the size of Large V3 for 1.3 points more word accuracy. That is the entire story of a specialist model: syvai trained for one language instead of ninety-nine, and one language is all a Danish user needs.
One cross-run caveat, since I am comparing tables measured months apart. The Whisper numbers above were recorded under the old whisper-cli harness, and this run used crispasr. When we swapped harnesses we measured accuracy as parity between them, mean WER 4.68% against 4.78%, so the comparison is fair. It is still not one run, which is why the 26% and 42% figures earlier in this post only quote models that were in the same run as hviske.
Which quantization to download
The five quantizations span a 3.3x range in file size, 153 MB to 503 MB, and 0.4 percentage points in accuracy. Ordered by measured WER, the ranking is Q5 (11.29), Q4 (11.43), F16 (11.48), Q8 (11.53), Q6 (11.67).
That ordering is noise. On 197 utterances a 0.4 point spread is not a real ranking, and I am not going to pretend F16 losing to Q4 means anything. What the run does establish is the useful part: there is no accuracy penalty for taking the small one. syvai's model card claims an identical Danish WER of 10.51 across all five, and while our absolute numbers came out about a point higher on FLEURS, the "identical across quantizations" claim held up.
So download Q4 at 153 MB or Q5 at 181 MB. Q5 won this run by a hair and Q4 ties it on speed at a smaller size. F16 costs you 3.3x the disk, 2.4x the memory and 30% more time per second of audio for nothing measurable.
Where hviske is worse
Character accuracy goes the other way. Large V3 Turbo scored 93.5% character accuracy against hviske's 93.3%. Turbo makes more wrong words, but its wrong words are closer to right. If you dictate proper nouns and product names and then hand-fix them, turbo's mistakes may be cheaper to repair than hviske's, even though there are more of them. This is the one number in the run that does not point at hviske, and it is a real trade-off rather than a rounding artifact.
It is Danish and nothing else. hviske is a Danish-only model, so Codictate pins it to Danish rather than auto-detecting, and it will not appear in the main model list. It also cannot do "Translate to English," and it cannot run Live Transcription (yet), which needs Parakeet's streaming helper. Selecting hviske and then asking for either one gets you a blocked dictation with a stated reason, not a silent fallback to another model. That is deliberate, and it is ADR-0005.
FLEURS is read speech. These are people reading sentences cleanly, not dictating a Slack message with a coffee machine running. Read-speech benchmarks flatter every model, so treat 88.7% as a ranking between models rather than as the accuracy you will personally see.
The license is non-commercial. Hviske v5 Tiny is CC BY-NC 4.0. Codictate is free, has no paid tier and is not getting one, which is what makes that license workable here.
How to get it
Open Settings, go to Models, and click Browse more models. The five hviske quantizations are in that list. Download Q4 or Q5, select it, and dictate in Danish. Codictate handles the language pin. There is nothing to configure and nothing leaves your machine, same as every other model in the app.
One packaging note: the weights are downloaded from our mirror rather than from syvai directly, because syvai/hviske-v5-tiny is a manually gated Hugging Face repo and a gated download cannot work from inside a desktop app. The mirror is a byte-for-byte copy of the GGUF files with the license attached.
The raw JSON for this run, and for every run we have published, is on the benchmarks page. If you work with Danish audio, the people to pay attention to are syvai, who trained the thing. We downloaded a file and measured it.
FAQ
What is the best speech-to-text model for Danish dictation? On our benchmark, Hviske v5 Tiny Q5 scored 88.7% word accuracy on FLEURS Danish against 84.8% for Whisper Large V3 Turbo, 87.3% for Whisper Large V3 at 2.9 GB, and 80.6% for Parakeet TDT v3.
Does Danish dictation work offline? Yes. Codictate runs every model on-device, hviske included. There is no account, no cloud service and no analytics, and audio never leaves the machine.
Is a small model always worse than a large one? For a specific language, no. hviske is a tiny-sized model trained for Danish alone, and it beat every multilingual Whisper model on Danish, including ones 19x its size. Whisper Large is still the better answer for the other 98 languages.
Which hviske quantization should I download? Q4 (153 MB) or Q5 (181 MB). Across all five quantizations accuracy varied by 0.4 percentage points, which is inside the noise on a 197-utterance sample, so the larger files buy disk and memory cost rather than accuracy.