CzechVoice: Czech speech to text on the device
Whisper large-v3-turbo fine-tuned on Czech speech on the LUMI supercomputer. It transcribes parliamentary speech, read speech and speech in noise more accurately than the open models we tried. Quantised to 4 bits it fits in 452 MiB and runs offline on a laptop and on an ordinary phone; the audio stays in the device's memory.
Accuracy against open models
Word error rate (WER, lower is better) on the same segments with the same text normalisation and greedy decoding for every model; laptop with an RTX 4050. Numbers: share of numeric entities transcribed correctly. Legal terms: share of legal terms from our list transcribed correctly. Both on the parliamentary set.
| model | parameters | parliament | FLEURS | noise | numbers | legal terms |
|---|---|---|---|---|---|---|
| CzechVoice (ours) | 0.81 B | 1.8 % | 7.3 % | 6.5 % | 99.3 % | 99.5 % |
| NVIDIA Canary-1b-v2 | 0.98 B | 7.5 % | 8.4 % | 22.4 % | 94.8 % | 94.2 % |
| Whisper large-v3, fine-tuned on Czech Common Voice 13 | 1.55 B | 8.0 % | 9.6 % | 29.1 % | – | – |
| Whisper large-v3 | 1.55 B | 8.1 % | 10.2 % | 27.8 % | – | – |
| Whisper large-v3-turbo (our starting point) | 0.81 B | 9.5 % | 11.4 % | 29.5 % | 96.5 % | 96.3 % |
| NVIDIA Parakeet-TDT-0.6b-v3 | 0.6 B | 10.3 % | 11.9 % | 25.8 % | 94.6 % | 92.1 % |
Parliamentary speech is the training domain of CzechVoice (different segments than the test), and the FLEURS training split was in its training data too. The least favourable comparison is therefore FLEURS: 7.3 % against 8.4 % for Canary-1b-v2. –: not measured.
Size, memory and speed
| device | file | size | memory | speed | WER parliament / FLEURS / noise |
|---|---|---|---|---|---|
| Pixel 9a phone, processor only, 4 threads | 4 bits (q4_0) | 452 MiB | 0.83 GB RAM | 6.9 s of speech in 2.7 s | 1.9 / 7.7 / 6.8 % |
| Laptop with an RTX 4050 (6 GB) | 5 bits (q5_0) | 547 MiB | 0.89 GB VRAM | 0.33 s per segment | 1.8 / 7.4 / 6.6 % |
Memory: the peak of the whole app on the phone, the added GPU memory on the laptop. Laptop speed: median per parliamentary segment, about 25× faster than real time. GPTQ quantisation with Czech calibration data: 5 bits lose nothing against 8 bits, 4 bits lose 0.1 to 0.3 points of WER. On the phone the encoder processes only the recorded speech instead of a fixed 30-second window, and the model is loaded only while recording and transcribing (about 1 s, in parallel with the recording). The WER of the 4-bit file was measured on the laptop with the same file. Phone speed: whisper.cpp, repeated run; the first transcription after the app starts is slower.
The audio stays on the device
- The audio is processed only in the device's memory and overwritten with zeros right after the transcription. Nothing is written to disk and nothing goes to a cloud.
- The transcript stays on the device.
- No analysis of emotions or tone of voice.
Google on the same phone
On a Pixel 9a on 3 November 2026, through the public Android API: the system on-device recogniser offers 37 languages including Polish and Russian, but not Czech, and Speech Services by Google (the service behind Gboard dictation) answers "language not supported" for Czech when asked to work offline. An English sentence went through offline correctly. Czech dictation from Google on this phone therefore goes through the cloud.
How it was measured
- Parliament: the test split of ParCzech4Speech, 729 segments (106 min): random segments, segments with numbers and segments with legal terms.
- FLEURS: the Czech test set, 723 sentences (147 min).
- Noise: the parliamentary segments with reverberation and crowd babble at 10 dB signal-to-noise ratio.
- CzechVoice in whisper.cpp without timestamps (8-bit file in the accuracy table); Whisper large-v3 and its Czech fine-tune in whisper.cpp; Canary-1b-v2 and Parakeet-TDT-0.6b-v3 in ONNX (fp32).
Licence and release
- Weights: free for non-commercial use. Commercial use needs a licence: info@moravian.ai
- Release on Hugging Face as moravianai/CzechVoice is being prepared.
- Base model: Whisper large-v3-turbo (OpenAI, MIT). Fine-tuned on Czech speech from ParCzech4Speech, YODAS, FLEURS and VoxPopuli on the LUMI supercomputer.