Hush is a privacy-first voice dictation tool for macOS. Inspired by Wispr Flow, it allows you to speak into any text field by holding the Fn key.
Everything happens locally on your device using the Apple Neural Engine. No audio is ever sent to the cloud.
- ⚡️ Fast Transcription: Uses Whisper tiny.en model with 1-2s total latency for typical recordings
- 💎 Liquid Glass UI: macOS Tahoe-style translucent recording overlay using
.glassEffect()API - 🔒 Private & Local: All inference runs on-device using
whisper.cppand CoreML. Your voice data stays on your machine - 🍎 Native: Built in Swift & SwiftUI with multi-threaded processing for Apple Silicon
- 📝 Universal: Works in any application—Notes, VS Code, Browser, Slack, Terminal, etc.
- 📋 Auto-paste: Transcribed text is automatically pasted at your cursor position
- macOS: 26.0 (Tahoe) or higher
- Hardware: Apple Silicon (M1/M2/M3/M4) for CoreML acceleration
- Permissions:
- Accessibility (to listen for the
Fnkey) - Microphone (to capture audio)
- Accessibility (to listen for the
git clone https://github.com/Ang-Andrew/hush.git
cd hushDownload the Whisper tiny.en model (optimized for speed):
mkdir -p ~/.hush/models
cd ~/.hush/models
# Download tiny.en model (~74MB)
curl -L -o ggml-tiny.en.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en.bin
# Download CoreML encoder for GPU acceleration (~14MB)
curl -L -o ggml-tiny.en-encoder.mlmodelc.zip https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en-encoder.mlmodelc.zip
unzip ggml-tiny.en-encoder.mlmodelc.zip
rm ggml-tiny.en-encoder.mlmodelc.zipswift build
.build/arm64-apple-macosx/debug/HushNote: On first run, macOS will prompt you to grant Accessibility and Microphone permissions. You must enable Accessibility in System Settings for the app to detect the Fn key.
- Launch Hush - You'll see a waveform icon in your menu bar
- Place your cursor in any text input field
- Press and HOLD the
Fnkey - A liquid glass overlay appears at the bottom of your screen - Speak your message
- Release the
Fnkey - Text is transcribed and automatically pasted - View History - Click the menu bar icon to access previous transcriptions
Typical latency on Apple Silicon (M1):
- Short (1-4s): ~0.6-1.0s transcription, ~1.0-1.5s total
- Medium (5-7s): ~0.8-1.4s transcription, ~1.2-1.9s total
- Long (10-20s): ~1.8-2.7s transcription, ~2.2-3.2s total
Total latency includes transcription + paste time.
Hush uses whisper.cpp, a high-performance C++ port of OpenAI's Whisper model.
- Input Monitoring:
CGEventTapdetectsFnkey press/release globally - Audio Capture:
AVAudioEnginerecords 16kHz mono audio while key is held - Inference: Audio processed locally via CoreML (Apple Neural Engine) with multi-threaded optimization
- Injection: Text automatically pasted at cursor via system clipboard
- Model: Whisper tiny.en (39M parameters, English-only)
- Audio Format: 16kHz, mono, Float32 PCM
- Threading: 2 threads optimized for tiny model
- UI: SwiftUI with native
.glassEffect(.clear)material - Concurrency: Swift 6 with strict concurrency checking
MIT License. Feel free to use, modify, and distribute.