Handy: Sprache zu Text auf Knopfdruck, vollständig offline
Projektüberblick: Eine kostenlose, quelloffene und erweiterbare Sprache-zu-Text-Anwendung, die vollständig offline funktioniert.
Auf einen Blick
- Was ist das?
- Die Rust-Anwendung cjpais/Handy transkribiert Diktate lokal per Whisper oder Parakeet V3 und fügt den Text in beliebige Felder ein. Architektur, Modellwahl und echte Schwachstellen im Blick.
- Für wen ist es gedacht?
- Handy passt für Nutzerinnen und Nutzer, die Datenschutz ernst nehmen und ein Diktatwerkzeug wollen, das Audio nie verlässt, etwa für medizinische, rechtliche oder einfach private Texte. Weniger geeignet ist es auf Wayland ohne wtype oder dotool und bei Abhängigkeit von fn-basierten Kurzbefehlen auf Dritttastaturen.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 1 Tag.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Rust, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Handy: Diktat in jedes Textfeld, ganz ohne Cloud
Handy ist eine plattformübergreifende Desktop-Anwendung für Sprachtranskription mit einem simplen Ablauf: Ein konfigurierbarer Kurzbefehl startet und stoppt die Aufnahme, alternativ gibt es einen Push-to-Talk-Modus. Nach dem Loslassen verarbeitet die App die Aufnahme lokal und fügt den transkribierten Text direkt in das Feld ein, das gerade fokussiert ist, unabhängig davon, in welcher Anwendung man arbeitet. Laut README verlässt kein Audio den Rechner, und genau darauf gründet das Projekt seine Existenzberechtigung.
Die Selbstbeschreibung auf handy.computer nennt vier Prinzipien: frei zugänglich ohne Paywall, quelloffen, privat und auf eine einzige Aufgabe reduziert. Bemerkenswert ist die Formulierung, Handy wolle nicht die beste Spracherkennung sein, sondern die am leichtesten forkbare. Das Repository untermauert den Anspruch mit rund 30.500 Sternen, 2.744 Forks, MIT-Lizenz und einer aktiven Release-Reihe: v0.9.4 vom 21. Juli 2026, v0.9.5 vom 8. August und v0.9.6 vom 24. August 2026.
Tauri-Architektur mit transcribe-cpp und transcribe-rs
Technisch ist Handy eine Tauri-Anwendung, also eine hybride Struktur aus Webfrontend und nativem Kern. Die Einstellungsoberfläche besteht aus React mit TypeScript und Tailwind CSS, während Rust die Systemintegration, Audioverarbeitung und ML-Inferenz übernimmt. Die Kernbibliotheken sind nach Funktion getrennt: transcribe-cpp übernimmt die lokale Spracherkennung mit Whisper-Familienmodellen im GGML- beziehungsweise GGUF-Format, transcribe-rs deckt die CPU-optimierte Erkennung mit Parakeet-Modellen ab.
Dazu kommen Bibliotheken für den Rest der Pipeline: cpal für plattformübergreifende Audio-Ein- und Ausgabe, vad-rs für die Sprachaktivitätserkennung, rdev für globale Tastenkürzel und Systemereignisse sowie rubato für das Resampling des Audiomaterials. Diese Aufteilung in kleine, benannte Bausteine erklärt den Fork-Anspruch: Wer ein Modell oder eine Eingabemethode austauschen will, greift an einer klar umrissenen Stelle an. Für Fehlersuche existiert ein Debug-Modus, erreichbar unter macOS mit Cmd+Shift+D und unter Windows sowie Linux mit Ctrl+Shift+D.
Whisper, Parakeet V3 und Silero-VAD im Datenfluss
Der Verarbeitungspfad beginnt mit dem Filtern von Stille: Eine Sprachaktivitätserkennung auf Silero-Basis sondert Pausen aus, bevor überhaupt ein Modell arbeitet. Dann folgt die Erkennung, und hier hat man die Wahl. Die Whisper-Modelle in den Größen Small, Medium, Turbo und Large nutzen GPU-Beschleunigung, sobald sie verfügbar sind, und decken den klassischen Mehrsprachigkeitsfall ab. Parakeet V3 ist laut README ein CPU-optimiertes Modell mit sehr guter Leistung und automatischer Spracherkennung, also ohne manuelle Sprachwahl.
Das README berichtet über Parakeet V3 rund fünfmal Echtzeitgeschwindigkeit auf mittlerer Hardware, getestet auf einem i5-Prozessor, und verlangt dafür mindestens eine Intel-CPU ab der Skylake-Generation oder gleichwertige AMD-Modelle. Das sind Angaben der Projektseite, keine unabhängigen Messungen; auf Maschinen unterhalb der genannten Anforderungen ist mit spürbar geringerer Geschwindigkeit zu rechnen. Für die Modellpfade gilt: Whisper-Dateien im .bin-Format und Parakeet-Dateien im .gguf-Format landen im models-Unterordner des App-Datenverzeichnisses, unter Linux etwa in ~/.config/com.pais.handy/models, und GGUF-Modelle aus dem Hugging-Face-Cache werden automatisch erkannt.
CLI-Flags, --toggle-transcription und Linux-Hotkey-Daemons
Eine laufende Handy-Instanz lässt sich von außen steuern. Die Fernsteuerungsflags --toggle-transcription, --toggle-post-process und --cancel werden über das Single-Instance-Plugin an die laufende Anwendung durchgereicht; Startflags sind --start-hidden, --no-tray, --debug und --help, und sie lassen sich kombinieren, etwa handy --start-hidden --no-tray für Autostart-Szenarien. Unter macOS mit installiertem App-Bundle ruft man die Binärdatei direkt über /Applications/Handy.app/Contents/MacOS/Handy --toggle-transcription auf.
Unter Linux eröffnet das die Integration in externe Hotkey-Daemons: Das README zeigt Konfigurationsbeispiele für GNOME, KDE Plasma, Sway/i3 und Hyprland, entweder über die CLI-Flags oder über pkill -USR2 -n handy. Der Signalweg hat eine Geschichte, die man kennen sollte: Ältere Versionen hörten auf SIGUSR1, was mit der internen Nutzung dieses Signals durch WebKitGTK kollidierte und Phantomaufnahmen verursachte. Der Handler wurde deshalb auf SIGUSR2 verlegt und entfernt, was alten Autostart-Skripten eine Anpassung abverlangt. Über eine Raycast-Erweiterung lässt sich Handy zudem vom Launcher aus starten, stoppen und in der Transkripthistorie durchblättern.
Bekannte Grenzen: Wayland, fn-Taste und Bluetooth unter macOS
Das README führt seine Schwachstellen ungewöhnlich offen an. Auf Linux ist die Wayland-Unterstützung begrenzt: Damit die Texteingabe korrekt funktioniert, braucht es wtype oder dotool, ohne diese Werkzeuge fällt die App auf enigo zurück, das nur eingeschränkt kompatibel ist. Das Aufnahme-Overlay kann das Einfügen unter Linux stören, Abhilfe schafft das Setzen der Overlay-Position auf None in den erweiterten Einstellungen. Eine fehlende Laufzeitbibliothek libgtk-layer-shell.so.0 kann Startfehler auslösen, was über die Paketverwaltung der Distribution zu beheben ist.
Zwei macOS-Grenzen sind hardwarebedingter Natur. Bluetooth-Headset-Mikrofone können während der Aufnahme die Wiedergabequalität senken, weil Bluetooth in bidirektionalen Audiomodus schaltet; empfohlen ist, Kopfhörer als Ausgabe zu belassen und das eingebaute oder ein externes Mikrofon auszuwählen. Kurzbefehle mit der fn- oder Globe-Taste funktionieren dagegen nur auf Apple-Tastaturen, weil fn nicht Teil des USB-HID-Standards ist und macOS das Ereignis nur von Apple-Geräten annimmt; auf Dritttastaturen gibt es schlicht kein Ereignis zum Lauschen. Dazu kommen Abstürze von Whisper-Modellen auf bestimmten Windows- und Linux-Konfigurationen, abhängig von der Systemkonfiguration und vom Projekt ausdrücklich als Hilfegesuch an Entwickler formuliert.
Installation über winget, Homebrew und manuelle Modellablage
Die Installationswege sind klassisch: Downloads über die GitHub-Releases-Seite oder handy.computer, unter macOS zusätzlich als Homebrew-Cask mit brew install --cask handy, unter Windows über winget install cjpais.Handy. Wichtig ist der Hinweis, dass weder Cask noch winget-Paket von den Handy-Entwicklern gepflegt werden; die Paketierung läuft extern. Nach der Installation verlangt die App Mikrofon- und Bedienungshilfen-Berechtigungen, danach werden die Kurzbefehle in den Einstellungen konfiguriert. Wer hinter Proxys oder in eingeschränkten Netzwerken arbeitet, dokumentiert das README für die manuelle Modellinstallation: Archive für Parakeet müssen in Verzeichnisse mit exakten Namen wie parakeet-tdt-0.6b-v3-int8 entpackt werden, damit die App sie findet.
Für den Selbstbau verweist das README auf BUILD.md mit plattformspezifischen Anforderungen. Release-Artefakte sind im Tauri-Updater-Signaturformat signiert, der öffentliche Schlüssel liegt in src-tauri/tauri.conf.json, und die Verifizierung erfolgt mit minisign, nicht mit gpg. Wer das Werkzeug gegen Alternativen abwägt, kann als konkreten Vergleichspunkt den Unterschied zu Cloud-Diktatdiensten wie der Built-in-Diktierfunktion der Betriebssysteme nennen: Letztere sind schneller einsatzbereit, übertragen aber Audio an entfernte Dienste, während Handys Pipeline von der Stille-Erkennung bis zum Einfügen im Rechner bleibt. Der Preis dafür ist die Pflege von Modellen und Eingabe-Werkzeugen selbst.
Redaktionelles Fazit
Handy passt für Nutzerinnen und Nutzer, die Datenschutz ernst nehmen und ein Diktatwerkzeug wollen, das Audio nie verlässt, etwa für medizinische, rechtliche oder einfach private Texte. Weniger geeignet ist es auf Wayland ohne wtype oder dotool und bei Abhängigkeit von fn-basierten Kurzbefehlen auf Dritttastaturen. Vor dem regulären Einsatz sollte man unter Linux die Texteingabe-Tools installieren und mit dem eigenen Mikrofon einen Testlauf über das Aufnahme-Overlay prüfen.
Community-Notizen