Mundwerk 1.0 ausgeliefert — Lokales Diktieren auf dem Mac
06.05.2026 · Erstellt von Björn Kindler
Mundwerk ist seit dem 4. Mai 2026 draußen. Ein paar Notizen aus Entwicklersicht: warum die App so aussieht, welche Entscheidungen weh getan haben und was bewusst nicht in v1 ist.
Mundwerk ist am 4. Mai veröffentlicht worden. Eine Diktiersoftware für macOS, die gesprochene Sprache direkt am Cursor in Text verwandelt, komplett auf dem eigenen Mac, ohne Cloud-Anbindung. Dieser Beitrag erklärt nicht, warum man Mundwerk kaufen sollte — diesen Job macht die Produktseite. Hier geht es um die Bauphase: was ich entschieden habe, woran ich gescheitert bin und was bewusst nicht in v1 ist.
Warum es das Projekt gibt
Der konkrete Auslöser war Apples integriertes Diktat. Es funktioniert für saubere Prosa und versagt zuverlässig in dem Moment, in dem englische Fachbegriffe in einen deutschen Satz rutschen. Mein Arbeitstag besteht zu großen Teilen aus Texten über TYPO3, AWS, Swift und eine Menge weiterer Eigennamen, die das System schlicht nicht kennt. Es korrigierte „Sparkle“ zu „sparkle“ und „EdDSA“ zu „et cetera“. Irgendwann war Schluss.
Der tiefere Grund: Ich wollte ein Diktat-Werkzeug, das ich auch mit Kundenmaterial nutzen kann, ohne nachzudenken. Nicht „wir anonymisieren vor der Übertragung“, sondern: nichts verlässt den Rechner. Wer schon einmal in einem Mandantengespräch saß und überlegt hat, welche Audio-Schnipsel besser nicht zu einem fremden Server gehen, kennt das Gefühl. Lokal-zuerst macht die Frage überflüssig.
Technische Entscheidungen
Mundwerk läuft auf Swift 6 mit strict concurrency, SwiftUI für die Oberfläche, GRDB für die Datenbank und AVAudioEngine für die Audioaufnahme. Die Transkription übernimmt whisper.cpp mit Metal-Backend — die Erkennung läuft auf der GPU jedes Apple-Silicon-Macs. Die Sprachaktivitätserkennung nutzt Silero VAD v5 via ONNX, mit einem RMS-Fallback für seltene Edge-Cases, in denen das ONNX-Modell beim ersten Start zickt.
Die Brücken zwischen Swift und dem darunterliegenden C++ liegen in zwei dedizierten Targets — WhisperBridge und SileroVADBridge, beide in Objective-C++. Eine schmale, gut testbare Bridge-Schicht war am Ende wichtiger als ich am Anfang angenommen habe. Jeder Versuch, in der Bridge clever zu sein, hat das Debugging schlechter gemacht.
Kompromisse
Lokal-zuerst hat einen ehrlichen Preis: Modelldateien sind groß, und die App läuft universell nur auf Apple Silicon. Es gibt keinen Intel-Build. Es gibt auch keinen Notausgang in eine Cloud-API, wenn das lokale Modell fehlt — ohne Modell keine Erkennung. Diese Einschränkung war eine bewusste Entscheidung: Mischwege aus lokal und Cloud sind genau die Sorte Komplexität, die das Datenschutz-Versprechen über die Zeit ausfranst.
Vertrieb
Mundwerk wird direkt verkauft, nicht über den App Store. Zwei Gründe. Erstens lässt die App-Store-Sandbox nicht zu, mit CGEvent.post in andere Anwendungen zu schreiben — und genau das ist der Sinn der App. Zweitens wollte ich schnelle Updates über EdDSA-signierte Sparkle-Deltas, statt wochenlange Review-Schleifen. Notarisierung und Gatekeeper greifen trotzdem, nur ohne App Store als Zwischenschicht.
Was nicht in v1 reingekommen ist
Die englische Oberfläche fehlt in v1. Die App spricht Deutsch. Die Transkription versteht beide Sprachen und wechselt mitten im Satz, aber die Menüpunkte und Onboarding-Texte sind vorerst deutsch. Eine englische UI steht auf der Roadmap. Genauso ein Hotkey-Builder, mit dem sich das Diktat auf beliebige Modifier oder Chords binden lässt.
Live-Teil-Transkripte während eines längeren Diktats sind ebenfalls aufgeschoben. Aktuell rechnet das Modell zu Ende und gibt einen Block aus; in der nächsten Version erscheint die Erkennung schon während des Sprechens.
Wohin von hier
Wer Mundwerk ausprobieren möchte, findet die App und die Dokumentation auf mundwerkapp.de — eine kurze Übersicht gibt es hier auf der Mundwerk-Seite. Wer mehr zum Build-Prozess oder den Werkzeugen lesen möchte, mit denen ich nebenbei arbeite, sollte diesen Blog im Auge behalten — weitere Engineering-Posts folgen.
Mundwerk ist ein Ein-Personen-Projekt. Feedback hilft.