Push-to-talk voice to text for macOS with offline AI.
- Push-to-talk: Hold Right Option (⌥) to speak, release to insert text
- Offline AI: Uses OpenAI Whisper for accurate speech recognition
- Works everywhere: Injects text into any app's text field
- Privacy-first: All processing happens locally, no cloud APIs
- Menu bar app: Unobtrusive - lives in your menu bar with floating pill UI
- macOS 14.0+
- ~500MB disk space for Whisper model
- Microphone
- Accessibility permissions (for global hotkey + text injection)
- Download
PUSH-vX.X.X.dmgfrom the latest release - Open the downloaded DMG file
- Drag PUSH.app to your Applications folder
- Done! Launch PUSH from Applications
The app is properly signed and notarized - no security warnings!
You'll need:
- Xcode installed (free from the Mac App Store)
Steps:
-
Download the code:
- Click the green "Code" button at the top of this page
- Select "Download ZIP"
- Unzip the downloaded file
-
Open in Xcode:
- Double-click
Package.swiftin the unzipped folder - Wait for Xcode to load the project
- Double-click
-
Build the app:
- In Xcode, click Product → Run (or press ⌘R)
- The app will build and launch automatically
When you run PUSH for the first time:
-
Grant Microphone Permission:
- A popup will ask for microphone access
- Click "OK" to allow
-
Grant Accessibility Permission:
- Go to → System Settings → Privacy & Security → Accessibility
- Click the lock icon and enter your password
- Find "PUSH" in the list and enable the checkbox
- If PUSH isn't in the list, click the "+" button and add it
-
Download the Whisper Model:
- Click the PUSH icon in your menu bar (top-right of screen)
- Select "Settings"
- Go to the "Models" tab
- Choose a model size (Small is recommended for best quality)
- Click "Download" - this may take a few minutes
-
You're ready!
- Click anywhere in a text field (Notes, Messages, email, etc.)
- Hold the Right Option (⌥) key
- Speak your text
- Release the key and your text will appear!
Basic Usage:
- Click in any text field where you want text to appear
- Hold down the Right Option (⌥) key (bottom-right of keyboard)
- Speak clearly into your microphone
- Release the key when done
- Wait a moment - your transcribed text will appear!
Visual Feedback:
- While holding the key, you'll see a floating pill with animated dots
- This shows PUSH is listening to you
Changing the Hotkey:
- Click the PUSH menu bar icon
- Go to Settings → General
- Choose a different key from the dropdown
Choosing a Different Model:
- Click the PUSH menu bar icon
- Go to Settings → Models
- Select and download the model you prefer
PUSH supports multiple speech recognition engines. Choose the model that fits your hardware:
| Model | Size | Speed | Accuracy | Best For |
|---|---|---|---|---|
| Whisper Base | ~150 MB | Fast | Good | Balanced speed and accuracy |
| Whisper Small | ~250 MB | Moderate | Better | Good quality on any Mac |
| Distil-Large V3 | ~600 MB | Fast | Great | Fast and accurate, English-only |
| Distil-Large V3 Turbo | ~600 MB | Very Fast | Great | Speed and accuracy, English-only |
| Whisper Large V3 Turbo | ~632 MB | Fast | Excellent | High accuracy, 99+ languages |
| Model | Size | Speed | Accuracy | Best For |
|---|---|---|---|---|
| Parakeet TDT v2 | ~400 MB | Fastest | Best English | ⭐ Best English accuracy + native punctuation |
| Model | Size | Speed | Accuracy | Best For |
|---|---|---|---|---|
| Qwen3-ASR | ~680 MB | Fast | Excellent | ⭐ Best grammar quality, 52 languages |
| Model | Size | Speed | Accuracy | Best For |
|---|---|---|---|---|
| Moonshine Tiny | ~45 MB | Ultra-fast | Good | Quick transcription, short speech |
| Moonshine Base | ~134 MB | Fast | Better | Accurate, variable-length audio |
Tip: Parakeet and Qwen3-ASR produce text with native punctuation and grammar — no post-processing needed. Other models benefit from automatic cleanup (filler word removal, capitalization, punctuation).
Which should I choose?
- Parakeet TDT v2 — Best choice for English. Fastest inference, highest accuracy (1.69% WER), and native punctuation. Requires 16 GB+ unified memory.
- Qwen3-ASR — Best grammar and punctuation quality. Supports 52 languages. Requires 16 GB+ unified memory.
- Whisper Large V3 Turbo — Best multilingual model (99+ languages) with good accuracy on 8 GB+ Macs.
- Whisper Small — Great all-rounder for Macs with 8 GB memory.
- Moonshine Tiny — Ultra-lightweight, good for older Macs or when you need instant results.
Where are models stored?
~/Library/Application Support/PUSH/models/
You can delete models you're not using to free up disk space.
PUSH needs two permissions to work:
- Why? To record your voice when you hold the hotkey
- When? Only while you're holding the Right Option key
- Privacy: Audio never leaves your computer
- Why? To detect when you press the hotkey and to insert text into apps
- When? Required for the app to work
- Privacy: PUSH only monitors the specific hotkey you choose
Your privacy is protected: All voice processing happens on your Mac. Nothing is sent to the internet.
If you upgraded from v1.0.0 and the hotkey doesn't work:
- Open System Settings → Privacy & Security
- Remove PUSH from:
- Accessibility
- Microphone
- Full Disk Access (if present)
- Quit PUSH completely
- Relaunch PUSH from Applications
- Accept permission prompts when they appear
This is only needed when upgrading from v1.0.0 due to signature changes. Fresh installs work normally.
- No permission prompts appear: Open System Settings manually and add PUSH to Accessibility and Microphone
- Hotkey not responding: Make sure PUSH is enabled in Accessibility settings
- No transcription: Check that a Whisper model is downloaded in Settings → Models
Built with:
- Swift + SwiftUI — Native macOS app
- WhisperKit — Whisper and Distil-Whisper speech recognition
- FluidAudio — NVIDIA Parakeet TDT v2 on CoreML/ANE
- speech-swift — Qwen3-ASR with MLX + CoreML hybrid inference
- Moonshine — Ultra-lightweight speech recognition
- Metal acceleration — Uses your Mac's GPU for fast processing
PUSH is open source and free! Contributions are welcome:
- 🐛 Report bugs - Open an issue
- 💡 Suggest features - Start a discussion
- 🔧 Submit pull requests - Fork and improve!
MIT - See LICENSE file for details.
Free to use, modify, and distribute!