An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          


open-wispr logo

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