https://github.com/human37/open-wispr
Push-to-talk voice dictation for macOS using Whisper
https://github.com/human37/open-wispr
apple-silicon dictation macos metal on-device open-source privacy speech-to-text voice-dictation voice-typing whisper whisper-cpp
Last synced: 27 days ago
JSON representation
Push-to-talk voice dictation for macOS using Whisper
- Host: GitHub
- URL: https://github.com/human37/open-wispr
- Owner: human37
- License: mit
- Created: 2026-02-15T16:02:50.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-03-01T18:56:40.000Z (about 1 month ago)
- Last Synced: 2026-03-01T20:25:06.038Z (about 1 month ago)
- Topics: apple-silicon, dictation, macos, metal, on-device, open-source, privacy, speech-to-text, voice-dictation, voice-typing, whisper, whisper-cpp
- Language: HTML
- Homepage: https://open-wispr.com
- Size: 190 KB
- Stars: 16
- Watchers: 0
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
open-wispr
open-wispr.com
Local, private voice dictation for macOS. Hold a key, speak, release โ your words appear at the cursor.
Everything runs on-device. No audio or text ever leaves your machine.
Powered by whisper.cpp with Metal acceleration on Apple Silicon.
## Install
```bash
curl -fsSL https://raw.githubusercontent.com/human37/open-wispr/main/scripts/install.sh | bash
```
The script handles everything: installs via Homebrew, walks you through granting permissions, downloads the Whisper model, and starts the service. You'll see live feedback as each step completes.
A waveform icon appears in your menu bar when it's running.
The default hotkey is the **Globe key** (๐, bottom-left). Hold it, speak, release.
> **[Full installation guide](docs/install-guide.md)** โ permissions walkthrough with screenshots, non-English macOS instructions, and troubleshooting.
## Uninstall
```bash
curl -fsSL https://raw.githubusercontent.com/human37/open-wispr/main/scripts/uninstall.sh | bash
```
This stops the service, removes the formula, tap, config, models, app bundle, logs, and permissions.
## Configuration
Edit `~/.config/open-wispr/config.json`:
```json
{
"hotkey": { "keyCode": 63, "modifiers": [] },
"modelSize": "base.en",
"language": "en",
"spokenPunctuation": false
}
```
Then restart: `brew services restart open-wispr`
| Option | Default | Values |
|---|---|---|
| **hotkey** | `63` | Globe (`63`), Right Option (`61`), F5 (`96`), or any key code |
| **modifiers** | `[]` | `"cmd"`, `"ctrl"`, `"shift"`, `"opt"` โ combine for chords |
| **modelSize** | `"base.en"` | `tiny.en` ยท `base.en` ยท `small.en` ยท `medium.en` (English-only) or `tiny` ยท `base` ยท `small` ยท `medium` (multilingual) |
| **language** | `"en"` | Any [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) โ e.g. `it`, `fr`, `de`, `es` |
| **spokenPunctuation** | `false` | Say "comma", "period", etc. to insert punctuation instead of auto-punctuation |
> **Non-English languages:** Models ending in `.en` are English-only. To use another language, switch to the equivalent model without the `.en` suffix (e.g. `base.en` โ `base`) and set the `language` field to your language code.
If the Globe key opens the emoji picker: **System Settings โ Keyboard โ "Press ๐ key to" โ "Do Nothing"**
## Menu bar
| State | Icon |
|---|---|
| Idle | Waveform outline |
| Recording | Bouncing waveform |
| Transcribing | Wave dots |
| Downloading model | Animated download arrow |
| Waiting for permission | Lock |
## Compare
| | open-wispr | VoiceInk | Wispr Flow | Superwhisper | Apple Dictation |
|---|---|---|---|---|---|
| **Price** | **Free** | $39.99 | $10/mo | $249 | Free |
| **Open source** | MIT | GPLv3 | No | No | No |
| **100% on-device** | Yes | Yes | No | Yes | Partial |
| **Push-to-talk** | Yes | Yes | Yes | Yes | No |
| **AI features** | No | AI assistant | AI rewriting | AI formatting | No |
| **Account required** | No | No | Yes | Yes | Apple ID |
## Privacy
open-wispr is completely local. Audio is recorded to a temp file, transcribed by whisper.cpp on your CPU/GPU, and the temp file is deleted. No network requests are made except to download the Whisper model on first run.
## Build from source
```bash
git clone https://github.com/human37/open-wispr.git
cd open-wispr
brew install whisper-cpp
swift build -c release
.build/release/open-wispr start
```
## Support
open-wispr is free and always will be. If you find it useful, you can [leave a tip](https://buy.stripe.com/4gM5kC2AU0Ssd4l6Hqd7q00).
## License
MIT