The problem
I wanted to dictate Dutch text directly into my everyday Mac applications. The existing WhisperDictation project provided a useful starting point, but its English-oriented models and text processing needed a language-aware extension for my workflow.
The approach
I forked sam-pop/WhisperDictation and extended its Swift application and whisper.cpp integration. The app now supports Dutch, English and automatic language detection, with multilingual models for Dutch speech. Spoken language and interface language can be selected independently, while existing English settings and correction behaviour are preserved.
The challenge
Adding Dutch is more than translating the interface. Model compatibility, Dutch number words, decimal commas, punctuation and technical vocabulary all affect the output. Automatic detection also chooses one language per recording or live segment, so mixed Dutch and English speech remains a practical challenge.
What I added
The extension focuses on making Dutch dictation usable within the existing local workflow.
- Dutch, English and automatic language profiles, with compatible multilingual Base, Small and Medium models and checksum verification.
- A Dutch and English interface, plus formatting for Dutch number words, decimal commas, punctuation spacing and personal or technical terms.
- Optional spoken punctuation and line breaks, disabled by default, alongside regression tests and a Dutch evaluation protocol.
Validation and current boundaries
The repository documents a successful universal macOS build, 149 Swift tests and seven tooling tests, plus a DMG for hands-on testing. Those checks establish code and packaging behaviour; they do not establish Dutch recognition accuracy. A 55-sentence evaluation set is included, but measured recognition quality and latency are not yet reported. There is no published stable release or Apple-notarised installer.
Outcome & value
The Dutch extension is merged into my fork’s main branch and available as public source code. It offers local Dutch dictation after model download, with language-specific formatting and test-build tooling. The original dictation application and recognition engine remain the work of their upstream projects; my contribution is the Dutch and multilingual extension.
Lessons learned
Language support reaches across the model, settings, interface, text processing and testing. Passing automated tests is a different milestone from measuring how well an app recognises real speech and inserts it into another application.
Evidence & artifacts
- CODEOriginal WhisperDictation project
Upstream application, retained with its MIT licence and attribution.
- CODE
- CODE
- CODE
