Show HN: Ghost Pepper – Local hold-to-talk speech-to-text for macOS

Ghost Pepper is an open-source macOS tool that provides 100% local speech-to-text functionality with smart AI cleanup. It ensures total privacy by processing everything on-device using Apple Silicon, eliminating the need for cloud APIs.
100% local hold-to-talk speech-to-text for macOS. Hold Control to record, release to transcribe and paste. No cloud APIs, no data leaves your machine.
Download the latest release — macOS 14.0+, Apple Silicon (M1+)
Hold Control to talk— release to transcribe and paste into any text fieldRuns entirely on your Mac— models run locally via Apple Silicon, nothing is sent anywhereSmart cleanup— local LLM removes filler words and handles self-correctionsMenu bar app— lives in your menu bar, no dock icon, launches at loginCustomizable— edit the cleanup prompt, pick your mic, toggle features on/off
Ghost Pepper uses open-source models that run entirely on your Mac. Models download automatically and are cached locally.
| Model | Size | Best for | |---|---|---| | Whisper tiny.en | ~75 MB | Fastest, English only | Whisper small.en (default) | ~466 MB | Best accuracy, English only | | Whisper small (multilingual) | ~466 MB | Multi-language support | | Parakeet v3 (25 languages) | ~1.4 GB | Multi-language via FluidAudio |
| Model | Size | Speed | |---|---|---| Qwen 3.5 0.8B (default) | ~535 MB | Very fast (~1-2s) | | Qwen 3.5 2B | ~1.3 GB | Fast (~4-5s) | | Qwen 3.5 4B | ~2.8 GB | Full quality (~5-7s) |
Speech models powered by WhisperKit. Cleanup models powered by LLM.swift. All models served by Hugging Face.
Download the app:
- Download GhostPepper.dmg
- Open the DMG, drag Ghost Pepper to Applications
- Grant Microphone and Accessibility permissions when prompted
- Hold Control and speak
Build from source:
- Clone the repo
- Open
GhostPepper.xcodeproj
in Xcode - Build and run (Cmd+R)
| Permission | Why | |---|---| | Microphone | Record your voice | | Accessibility | Global hotkey and paste via simulated keystrokes |
Launch at loginis enabled by default on first run. You can toggle it off in Settings.No logging to disk— transcriptions are never written to files. Debug logs are in-memory only and disappear when the app quits.
Built with WhisperKit, LLM.swift, Hugging Face, and Sparkle.
MIT
All models run locally, no private data leaves your computer. And it's spicy to offer something for free that other apps have raised $80M to build.
Ghost Pepper requires Accessibility permission, which normally needs admin access to grant. On managed devices, IT admins can pre-approve this via an MDM profile (Jamf, Kandji, Mosaic, etc.) using a Privacy Preferences Policy Control (PPPC) payload:
| Field | Value |
|---|---|
| Bundle ID | com.github.matthartman.ghostpepper |
| Team ID | BBVMGXR9AY |
| Permission | Accessibility (com.apple.security.accessibility ) |
Source: Hacker News













