Talk naturally. Paste perfectly.
Free, on-device AI dictation and speech-to-text for macOS.
Powered by Apple Silicon. No cloud, no account, your voice never leaves your Mac.
ew-demo-tmp.mp4
EnviousWispr is a free AI dictation app for macOS that runs entirely on-device. It uses Whisper and Parakeet speech-to-text models on Apple Silicon to transcribe your voice locally, polishes the output with an optional LLM, and pastes clean text into whatever app you're working in. Transcription is sub-second; with optional AI polish, the full keybind-to-paste flow typically lands in around a second and a half.
No cloud. No account required. No subscription. No audio ever leaves your Mac. Works fully offline.
It is open source under the GPLv3, actively maintained, and built to be a tool you can rely on every day.
| EnviousWispr | Cloud dictation services | |
|---|---|---|
| Privacy | 100% on-device transcription | Audio uploaded to servers |
| Speed | Sub-second transcription, paste-on-stop | Network round-trip latency |
| Models | Parakeet v3 (NVIDIA NeMo) + WhisperKit (OpenAI Whisper) | Single vendor model |
| Polish | Optional. Fully on-device (EG-1, S1-mini by Superwhisper, Apple Intelligence, Ollama) or bring-your-own-key cloud (OpenAI, Gemini, Claude) | Cloud polish, included in subscription |
| Cost | Free. No account, no subscription | Monthly subscription |
| Works offline | Yes, fully functional without internet | No |
Press keybind --> Record --> Transcribe --> Polish (optional) --> Paste
~0ms live ~400-800ms ~200-500ms instant
- Press your keybind from any app. Push-to-talk, toggle, or hands-free (double-press to lock for long-form), your choice.
- Speak naturally. Silero VAD detects when you stop talking and ends recording automatically.
- On-device transcription. Choose Parakeet v3 (fastest, 25 European languages) or WhisperKit (99+ languages, with automatic language detection).
- AI polish (optional). Clean up grammar, punctuation, and formatting. Runs fully on-device with EG-1 (our own custom model), S1-mini by Superwhisper, Apple Intelligence (macOS 26+), or Ollama, or in the cloud via OpenAI, Gemini, or Claude with your own API key.
- Text lands in your clipboard and optionally auto-pastes into the active app.
See the full interactive pipeline demo at enviouswispr.com/how-it-works
Dictation is only useful if you can trust it mid-sentence, every time. EnviousWispr keeps the critical path (record, transcribe, paste) deliberately separate from every optional enhancement, so a hiccup in a "nice to have" can never swallow your words. When an optional step cannot run, you simply get your raw transcribed text instead of an error.
| What we hardened | What it means for you |
|---|---|
| Delivery survives non-critical failures | If saving to your history cannot complete (full disk, permissions), your dictation is still pasted. The save is best-effort and never blocks delivery. |
| Paste that actually lands | A multi-step delivery path tries the fastest reliable method first and falls back automatically, so text lands even in apps that resist the usual paste (Word, Excel, Pages, Numbers, and more). |
| Onboarding that won't leave you half-set-up | Setup won't let you start until Accessibility is granted, and it re-checks if you later revoke permission. |
| Clear answers when AI polish has a problem | If a cloud or local model fails (OpenAI, Gemini, Ollama), you get a specific, plain-language message, and your raw text still arrives. |
| Deterministic cleanup before AI | For English, numbers, dates, and money are formatted by a fixed, predictable step, even when AI polish is off or unavailable. |
| Fast recovery after idle | After the app sits idle, it re-wakes in a fraction of a second so your next press, and its first word, are not lost. |
| Privacy-safe diagnostics | Crash reports carry counts and context, never your transcript or audio, and are redacted before they are sent. |
| Hardened releases | Every build is signed, notarized, and Gatekeeper-checked before it ships. |
| Model | Best for | Languages | Disk space | Runs on |
|---|---|---|---|---|
| Parakeet TDT v3 | Fastest dictation (default) | 25 European languages | ~460 MB | Apple Neural Engine |
| WhisperKit (Whisper Large v3 Turbo) | Broadest language coverage and automatic language detection | 99+ languages | ~1.6 GB | Apple GPU |
Both models run entirely on-device on Apple Silicon using CoreML. Parakeet runs on the Apple Neural Engine, which is what makes the default engine near-instant; WhisperKit runs on the GPU for broad-language accuracy. First launch downloads and compiles the model; subsequent launches are instant.
Transcription gets your words down. AI polish cleans them up: it drops filler, fixes grammar and punctuation, and structures rambling speech into readable text. This step is optional, and by default it never leaves your Mac.
| Polish engine | What it is | Runs on | Extra download |
|---|---|---|---|
| EG-1 (recommended) | Our own model, custom fine-tuned for dictation cleanup | On-device, macOS 14+ | ~2.9 GB (optional) |
| S1-mini by Superwhisper | A small open model for dictation cleanup, happiest in English, with Tone, Structure, and Context writing style settings | On-device, macOS 14+ | ~484 MB (optional) |
| Apple Intelligence | Apple's on-device model, no extra download | On-device, macOS 26+ | none |
| Ollama | Use a model on your Mac or one hosted by Ollama | On-device or Ollama's servers | varies for local models; none for hosted |
| OpenAI / Gemini / Claude | Bring-your-own-key cloud polish, text only | Cloud (your key) | none |
EG-1 is our own AI model, fine-tuned specifically for dictation cleanup and optimized for Apple Silicon. It runs entirely on your Mac with no internet required, and it closes the gaps a general on-device model leaves: reliably turning a spoken list into a real list, splitting a wall of speech into clean paragraphs, and keeping only the corrected version when you fix yourself mid-sentence. Because it is our own model rather than Apple's, it works across the full supported range (macOS 14 and later), not just macOS 26. EG-1 is distributed under its own model license, not the GPLv3 that covers the app code (see License).
On our own benchmark of 1,890 real dictation-cleanup cases, EG-1 passed 93.7%, ahead of both GPT-5.4-mini (83.8%) and Gemini 3.5 Flash (92.6%) on the same cases with the same judge. This is our own benchmark, not an independent review. The eval harness and the exact prompts are public in scripts/eval/ so you can inspect or rerun them; the test cases are personal dictations and stay private.
- ποΈ Dual ASR engines with Parakeet v3 (NVIDIA NeMo) and WhisperKit (OpenAI Whisper)
- π Live Preview: watch your words appear in the recording pill while you speak, so you can see it is working without waiting for the paste. On by default, switchable off, and it never changes the text you get. A Mac that cannot run it behaves as though it were off
- β©οΈ Escape Recovery: hit your cancel keybind by mistake and get the dictation back. On by default: a keybind cancel keeps the text for 24 hours instead of discarding it, and you can switch that off. The Cancel button in the recording pill still discards on the spot, so you keep one way to mean it. Only the text is kept, never the audio
- β¨ AI polish that respects your words: strips filler words and false starts, fixes grammar and punctuation, formats numbers, dates, and URLs, and honors your custom vocabulary, all in your spoken language (never translated or rewritten)
- π Polish that can stay private: run it fully on-device with EG-1 (our own custom model), S1-mini by Superwhisper, Apple Intelligence (macOS 26+), or Ollama, or in the cloud via OpenAI, Google Gemini, or Claude with your own API key
- βοΈ Snippets: say a keyword and a short phrase, and the text you saved is pasted word for word, never polished. An email address, a sign-off, a link you send every week
- π Multilingual with automatic language detection: speak in any supported language and EnviousWispr detects it, then offers to lock it in for faster, more accurate transcription
- π Speak an emoji: say the emoji's name followed by "emoji" (like "thumbs up emoji") and the glyph drops right in
- β Voice Activity Detection via Silero VAD that stops recording automatically when you stop talking
- π Custom vocabulary and vocabulary packs for names, brands, and technical terms the ASR might miss, plus one-tap import of names from your Contacts (which never leave your Mac)
- β Quick Add: highlight a misheard word anywhere on macOS and save the right spelling to your dictionary with a keyboard shortcut or from the menu bar, without opening Settings
- π¨ Your choice of recording pill: pick the recording indicator design you like in Appearance settings, and try a practice dictation before setup ends
- β¨οΈ Global keybind with push-to-talk, toggle, and hands-free modes (double-press to lock for long-form dictation)
- π Auto-paste directly into the active app, or just copy to clipboard
- π Transcript history for browsing, searching, and reviewing past dictations
- π§ Menu bar native with minimal footprint
- π Auto-updates via Sparkle
EnviousWispr ships often. A few of the user-facing improvements from recent releases:
- A second on-device polish model, S1-mini by Superwhisper. A small open model for cleaning up dictation, now an option beside EG-1 in AI Polish settings. A 484 MB download, runs on your Mac, and free. Three writing style settings, Tone, Structure and Context, let you choose how it writes. Happiest in English. EG-1 stays the recommended choice. (v2.4.7)
- Snippets. Say a keyword, then a short phrase, and the text you saved is pasted word for word. A fresh install starts with six working examples to try. (v2.4.7)
- More of EnviousWispr is switched on from the start. Escape Recovery, Live Preview and the recording sounds are now on by default, and each is a switch you can turn off. Quick Add has moved to Control Shift W so it no longer shares a key with recording. (v2.4.7)
- Add a custom word to your dictionary with a click of a button. Highlight a misheard word anywhere on macOS, press the Quick Add keybind, and save the right spelling without opening Settings. A small panel ranks it against the words you have already saved, so one Return usually finishes the job. It is also in the menu bar menu. (v2.4.6)
- A new pill design for recording, and a practice run during setup. Choose between recording pill designs in Appearance, and try dictation before onboarding ends. (v2.4.6)
- Dictated web addresses come out ready to use. Stray periods and dot words around a spoken address are cleaned up, a garbled https is repaired before polish sees it, and pasting into a browser's address bar no longer adds a trailing space. (v2.4.6)
- Real German, Dutch, Danish and Norwegian words are no longer deleted. Filler removal now reads the language you are dictating in, so "er" and "um" survive where they are real words. (v2.4.6)
- Recover a dictation you cancelled by mistake. Escape Recovery is on by default, so hitting your cancel keybind keeps the text for 24 hours instead of throwing it away. The Cancel button still discards deliberately. Only the transcript is kept, never the audio. (v2.4.5)
- See your words as you speak. The recording pill can now show what it is hearing, live, with a choice of two preview engines. The text you actually get is unchanged: it is still transcribed from the whole recording when you stop. (v2.4.5)
- Dictation no longer records silence on a virtual microphone. If your Mac's default input was a virtual device (Krisp, Loopback, BlackHole, an aggregate, a meeting app's mic), the app bound it and captured nothing at all. It now prefers a real microphone. (v2.4.5)
- EG-1 retrained on its weakest spots. Announcing a list out loud produces a real list far more often, and changes of mind mid-sentence now land level with a frontier cloud model on our held-out benchmark. It is also about 14% faster. (v2.4.5)
- Bring your vocabulary over from another dictation app. Custom words import from eight other Mac dictation apps, from a file, or from a pasted list, and export to a backup you own. (v2.4.1, expanded in v2.4.5)
- Use the Globe key for dictation. The Globe key, marked Fn on many Macs, works as your keybind. (v2.4.4)
- Bluetooth and USB audio properly supported, with customizable sound cues and your choice of recording pill location. (v2.4.0)
- Meet EG-1, our own on-device polish model, and a full visual refresh of Settings. (v2.3.0)
- Dark mode, and recordings up to an hour long. (v2.2.0)
See the full release history for every version.
Install with Homebrew:
brew install --cask saurabhav88/tap/enviouswisprOr download manually:
- Download EnviousWispr.dmg from the latest release
- Drag to Applications, launch
- Grant Microphone, Accessibility, and (on first paste fallback) Automation permissions when prompted
- Set your preferred keybind in Settings > Keybinds
- Start talking
Optional: Turn on AI polish in Settings > AI Polish. Keep it fully on-device with EG-1 (recommended, macOS 14+), S1-mini by Superwhisper, Apple Intelligence (macOS 26+), or Ollama, or add an OpenAI, Gemini, or Claude API key.
- macOS 14 (Sonoma) or later
- Apple Silicon (M1 or newer)
Core dictation works across the full supported range, and so does EG-1, our own on-device polish model. The built-in Apple Intelligence polish option requires macOS 26 or later; on earlier versions dictation works normally and you can use EG-1, Ollama, or a cloud key for polish instead.
git clone https://github.com/saurabhav88/EnviousWispr.git
cd EnviousWispr
swift build # compiles the Swift packages (dependencies resolve via SPM)The runnable .app is assembled by the Xcode build engine via Tuist, not by swift build. Use ./scripts/build-dev-app.sh for a local dev build, or the release path below. First build takes several minutes as ML models compile.
For a distributable .app bundle and DMG:
./scripts/build-release-dmg.sh <version>The release build runs on the Xcode engine via Tuist, so it requires full Xcode (26+) plus mise and Tuist; set CODESIGN_IDENTITY to sign. Running the app itself requires macOS 14+.
The app follows a pipeline state machine: idle --> recording --> transcribing --> polishing --> complete.
Key design choices:
- Swift 6 strict concurrency with full actor isolation
- Dual pipeline architecture with deliberately separate Parakeet and WhisperKit backends (isolation is a feature, not tech debt)
- Heart & Limbs pattern where the critical path (audio, ASR, paste) never fails, and features (polish, custom words, filler removal) degrade gracefully
- Local-first with LLM polish as an opt-in enhancement using your own keys
Contributions are welcome. EnviousWispr is open source under the GPLv3. Please open an issue to discuss significant changes before submitting a PR.
This project uses conventional commits: feat(scope):, fix(scope):, refactor(scope):.
EnviousWispr is built on a simple principle: your voice is yours.
- Audio is captured, transcribed, and discarded locally. Nothing is uploaded, stored, or shared.
- LLM polish (if enabled) can run entirely on your Mac with EG-1 (our own model), Apple Intelligence, or a local Ollama model, so the polish step makes no network call. If you pick OpenAI, Gemini, or Claude, only text is sent (your transcript plus the polish instructions) using your own API key. If you pick a hosted Ollama model, the same text is sent to Ollama using your Ollama sign-in. Audio is never sent.
- Anonymous product analytics (PostHog) can be disabled in Settings.
- Crash reporting (Sentry) contains no transcript content, audio, or personal data.
- Website: enviouswispr.com
- X: @EnviousLabs
- Email: hello@enviouswispr.com
Built by Envious Labs
EnviousWispr is open source under the GNU General Public License v3 (GPLv3), an OSI-approved license. You can read, build, modify, and redistribute the code under the terms of the GPL, including for commercial purposes; distributed derivative works must also be licensed under the GPLv3 with their source available.
Copyright (C) 2024-2026 Envious Labs LLC.
The EG-1 model is not open source. The GPLv3 covers the EnviousWispr application code only. EG-1's model weights are not part of this repository; they download separately and are distributed under the EG-1 Community Model License. You are free to download and use EG-1 within EnviousWispr, but you may not redistribute, re-host, mirror, or bundle the model into other products, or use the model, or outputs generated by it at scale, to train, fine-tune, or distill another model intended for commercial distribution. EG-1 is a fine-tuned derivative of Qwen3-4B-Instruct-2507 (Apache-2.0); this license applies to the fine-tuned weights.
The EnviousWispr name and logo are trademarks of Envious Labs and are not covered by the GPL.
