Open-source fork · Local speech recognition

WhisperDictation: Dutch dictation for macOS

Extending an existing macOS dictation app with Dutch speech recognition, multilingual models and a Dutch interface, with audio processed locally.

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

Something to work on?

Let’s talk.

About data, AI, horticulture or a product you want to build.

Get in touch