Ghost Pepper – Lokale Speech-to-Text-App für macOS
(github.com/matthartman)- Lokale Spracherkennungs-App für macOS, die automatisch in Text umwandelt und einfügt, wenn man die Control-Taste gedrückt hält und spricht
- Die gesamte Spracherkennung und Textbereinigung erfolgt ausschließlich lokal, wodurch Datenschutz ohne Cloud-Übertragung gewährleistet ist
- Basiert auf WhisperKit und LLM.swift und lädt Hugging Face-Modelle automatisch herunter und speichert sie im Cache
- Mit intelligenter Bereinigung werden unnötige Füllwörter entfernt und Selbstkorrekturen bereinigt; läuft als Menüleisten-App im Hintergrund
- Als Open Source unter MIT-Lizenz veröffentlicht und lauffähig auf Apple Silicon mit macOS 14 oder neuer
Überblick
- Ghost Pepper ist eine vollständig lokale Speech-to-Text-App für macOS, die die Funktion bietet, nach dem Gedrückthalten der Control-Taste zu sprechen und beim Loslassen automatisch in Text umzuwandeln und einzufügen
- Es werden keine Cloud-APIs verwendet, alle Daten und Modelle werden ausschließlich lokal verarbeitet
- Läuft auf macOS 14.0 oder neuer mit Apple Silicon (M1 oder neuer)
- Wird als Menüleisten-App ausgeführt und kann beim Login automatisch gestartet werden
- Open-Source-Projekt unter MIT-Lizenz
Hauptfunktionen
- Control-Taste gedrückt halten und sprechen → beim Loslassen automatische Textumwandlung und Einfügen
- Lokale Ausführungsarchitektur, bei der sowohl die Spracherkennung als auch die Nachbearbeitungsmodelle vollständig auf dem Mac laufen
- Mit intelligenter Bereinigung werden unnötige Füllwörter (uh, um usw.) entfernt und Selbstkorrekturen automatisch geglättet
- Ausschließliche Menüleisten-Oberfläche, arbeitet ohne Dock-Symbol im Hintergrund
- Unterstützt Benutzereinstellungen: Bereinigungs-Prompt anpassen, Mikrofon auswählen, Funktionen ein-/ausschalten
Funktionsweise
- Alle Modelle basieren auf Open Source und werden beim ersten Start automatisch heruntergeladen und lokal im Cache gespeichert
- Die Spracherkennung erfolgt über WhisperKit, die Textbereinigung über LLM.swift
- Die Modelldateien werden über Hugging Face bereitgestellt
-
Spracherkennungsmodelle
- Whisper tiny.en (~75MB): schnellstes englischspezifisches Modell
- Whisper small.en (~466MB): Standard, englischspezifisches Modell mit hoher Genauigkeit
- Whisper small (multilingual): Unterstützung für mehrere Sprachen
- Parakeet v3 (~1.4GB): Unterstützung für 25 Sprachen, basierend auf FluidAudio
-
Textbereinigungsmodelle
- Qwen 3.5 0.8B (~535MB): Standard, Verarbeitung in etwa 1–2 Sekunden
- Qwen 3.5 2B (~1.3GB): schnelle Verarbeitungsgeschwindigkeit (ca. 4–5 Sekunden)
- Qwen 3.5 4B (~2.8GB): höchste Qualität (ca. 5–7 Sekunden)
Installation und Start
-
App-Installation
- GhostPepper.dmg herunterladen
- DMG öffnen und in den Applications-Ordner ziehen
- Mikrofon- und Bedienungshilfen-Berechtigungen erlauben
- Mit Control-Taste gedrückt halten und sprechen loslegen
-
Aus dem Quellcode bauen
- Repository klonen
GhostPepper.xcodeprojin Xcode öffnen- Mit Cmd+R bauen und ausführen
Erforderliche Berechtigungen
| Berechtigung | Zweck |
|---|---|
| Microphone | Sprachaufnahme |
| Accessibility | Globale Tastenkombination und automatisches Einfügen |
Weitere Informationen
- Automatischer Start beim Login ist standardmäßig aktiviert und kann in den Einstellungen deaktiviert werden
- Keine Protokollspeicherung auf der Festplatte — umgewandelter Text wird nicht als Datei gespeichert, und Debug-Logs bleiben nur im Arbeitsspeicher und werden beim Beenden der App gelöscht
Technischer Aufbau und Abhängigkeiten
- WhisperKit: Spracherkennungs-Engine
- LLM.swift: lokales LLM zur Textbereinigung
- Hugging Face: Hosting der Modelle
- Sparkle: Verwaltung von macOS-App-Updates
Bedeutung des Namens
- Alle Modelle laufen ausschließlich lokal, sodass keine persönlichen Daten nach außen übertragen werden
- Der Name Ghost Pepper steht sinnbildlich für leistungsstarke Funktionen, die kostenlos bereitgestellt werden
Unterstützung für Unternehmen und verwaltete Geräte
- Die App benötigt die Berechtigung Accessibility und erfordert in der Regel Administratorrechte
- In MDM-Umgebungen (Jamf, Kandji, Mosaic usw.) kann die Freigabe vorab über ein PPPC-(Privacy Preferences Policy Control)-Profil erteilt werden
- Bundle ID:
com.github.matthartman.ghostpepper - Team ID:
BBVMGXR9AY - Permission: Accessibility (
com.apple.security.accessibility)
- Bundle ID:
1 Kommentare
Hacker-News-Kommentare
Diese App ist wirklich großartig. Aber jedes Mal, wenn ich sie sehe, muss ich an mein Pixel 6 denken.
Ein Modell von 2021, das Sprache auch offline in Text umwandelt und je nach Kontext automatisch korrigiert. Es korrigiert sogar frühere Satzteile noch einmal, wenn ich weiterrede.
Erstaunlich, dass Google solche Technik 5 Jahre früher als Whisper oder Qwen eingebaut hat. Ich frage mich nur, warum man heute auf deutlich leistungsfähigeren Plattformen ein 1-GB-Transformer-Modell braucht.
Google hat vor etwa 10 Jahren das Training dieses Modells unterstützt, und es ist noch immer ziemlich gut.
Es ist in Browsern auf WebKit- oder Blink-Basis eingebaut, weshalb viele Websites es einfach als Frontend nutzen.
Das Modell selbst liegt jedoch als proprietärer Blob vor und wird deshalb in Firefox nicht unterstützt.
MDN-Dokumentation / Chrome-Demo
Ich war damals in dem Team, und weil es kein Personal für die Wartung gab, haben wir das Offline-Modell aufgegeben und auf reinen Online-Betrieb umgestellt.
Der Grund war weniger technischer Natur als schlicht Personalmangel für die Wartung.
Auf Android nutze ich Futo, auf macOS MacWhisper. Beides ist viel besser als das Standardmodell von Apple.
Lokale Open-Source-STT-Modelle wie Whisper oder Parakeet sind dagegen viel leistungsfähiger.
Sie geraten auch bei Hintergrundgeräuschen oder genuschelter Sprache weniger aus dem Tritt.
Ich arbeite im Bereich Voice AI und nutze solche Modelle täglich, daher ist der Unterschied für mich sehr deutlich spürbar.
Die App ist wirklich gut gemacht. Als Feedback würde ich sagen:
Erstens braucht es unbedingt eine Funktion zum automatischen Einfügen aus der Zwischenablage. Ideal wäre, wenn man dafür keine Tastenkombination drücken müsste oder das zumindest konfigurierbar wäre.
Zweitens ist sie etwas langsamer als andere Lösungen. Das wirkt sich stark auf die Nutzbarkeit aus.
Drittens wäre eine Steuerung der Formatierung hilfreich. Wenn man zum Beispiel „new line“ sagt, sollte das als echter Zeilenumbruch erkannt werden.
Dieser Thread wirkt wie eine Selbsthilfegruppe für Leute, die jeweils ihre eigene Sprache-zu-Text-App für macOS gebaut haben.
Kürzlich habe ich auch Ghost Pepper hinzugefügt, und man kann sogar eine skill.md mit den benötigten Funktionen erstellen und die App selbst bauen.
In einer gesättigten Kategorie muss man klar erklären, wodurch sich die App von bestehenden Produkten unterscheidet.
Zugehöriger Beitrag
KeyVox GitHub
Die Leistung ist fast auf dem Niveau von Wispr Flow, und alles läuft vollständig lokal.
Als Linux-Nutzer habe ich Hyprwhspr entwickelt.
Mit dem neuesten Cohere Transcribe-Modell auf der GPU ist die Leistung sehr gut.
Mich würde interessieren, ob jemand WhisperKit mit faster-whisper oder turbov3 verglichen hat.
Ich hoffe, dass Apple bald ein natives STT herausbringt.
Und ich würde auch gern wissen, warum statt einer Verbesserung eines bestehenden Projekts etwas Neues gebaut wurde.
Die Genauigkeit war gut genug, sodass ich kein Cleanup-Modell brauchte.
Bei längeren Audiodateien von mehr als 30 Sekunden merkt man allerdings Latenz. Mich würde interessieren, wie WhisperKit mit langem Audio umgeht.
Hast du zufällig schon einmal über Fußpedal-PTT (Push-to-Talk) nachgedacht?
Apple hat zwar schon STT, aber die Modellqualität ist noch enttäuschend.
Speech-to-Text ist ein zentraler Teil meines Entwicklungs-Workflows.
Besonders nützlich ist es, wenn ich Prompts mündlich an LLMs oder Coding-Agenten weitergebe.
Die besten Open-Source-Tools für Spracheingabe pro Plattform habe ich in diesem GitHub-Repository gesammelt.
Ich tippe 120 Wörter pro Minute und bin damit viel schneller als beim Sprechen.
Abgesehen von Barrierefreiheit frage ich mich ehrlich, ob das eher für langsame Tipper gedacht ist oder fürs Programmieren vom Sofa aus.
Gibt es nicht schon Apps wie Handy?
Danke fürs Teilen. Mir gefällt der Fokus auf lokale Geschwindigkeit und Privatsphäre.
Ich nutze Hex mit ähnlichen Zielen und würde gern hören, wie du die Unterschiede zwischen den beiden Apps siehst.
Je kleiner Local-First-LLMs derzeit werden, desto mehr wirken sie wie die Kerninfrastruktur der App-Entwicklung.
So wie Electron früher das Bauen hübscher Apps vereinfacht hat, opfert man jetzt einfach ein wenig RAM.
Zugehöriger Blogpost
Es gibt viele Projekte rund um Whisper, und ich frage mich, ob damit das alte OpenAI-Modell gemeint ist oder eine aktualisierte Version.
Ich verwende Parakeet v3, das klein und großartig ist. Deshalb frage ich mich, warum Whisper immer noch so weit verbreitet ist.
Es halluziniert weniger als neuere Modelle und lässt sich auch auf AMD-GPUs leicht betreiben.
Ich habe selbst versucht, Parakeet zu portieren, bin am Ende aber wieder zu Whisper zurückgekehrt.
Allerdings nutze ich viel Polnisch und viele Fachbegriffe, daher passt Whisper v3 für mich besser.
Die Stärke liegt deshalb darin, dass es sich an die jeweilige Systemumgebung anpassen lässt.
Auch auf meinem GrapheneOS-Telefon ist ein Parakeet-Server angebunden.
Zugehöriger Beitrag
Das Projekt gefällt mir sehr und ich würde es gern in meinen Workflow integrieren.
Allerdings stört mich die Formulierung „kostenlos angeboten im Vergleich zu einem großen AI-Lab mit 80 Mio. Dollar Finanzierung“ ein wenig.
Das ist weniger rebellisch als vielmehr Arbeit, die bereits auf bestehender Forschung aufbaut.
Es als „spicy“ zu bezeichnen, wirkt daher etwas übertrieben.