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 hotkey-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, Apple Intelligence, Ollama) or bring-your-own-key cloud (GPT, Gemini) | Cloud polish, included in subscription |
| Cost | Free. No account, no subscription | Monthly subscription |
| Works offline | Yes, fully functional without internet | No |
Press hotkey --> Record --> Transcribe --> Polish (optional) --> Paste
~0ms live ~400-800ms ~200-500ms instant
- Press your hotkey 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), Apple Intelligence (macOS 26+), or Ollama, or in the cloud via OpenAI or Gemini 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) |
| Apple Intelligence | Apple's on-device model, no extra download | On-device, macOS 26+ | none |
| Ollama | Bring your own local model (3B or larger recommended) | On-device | varies |
| OpenAI / Gemini | 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)
- β¨ 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), Apple Intelligence (macOS 26+), or Ollama, or in the cloud via OpenAI GPT / Google Gemini with your own API key
- π 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)
- β¨οΈ Global hotkey 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:
- Pasting lands in more apps. Text now reliably reaches apps that previously said "Copied" but never pasted (Word, Excel, Pages, Numbers, OneNote, and others). (v2.1.4)
- Vocabulary packs and Contacts import. Turn on a pack for brands and jargon, or import the names of people you know in one tap, so hard-to-spell names come out right. Your contacts never leave your Mac. (v2.1.3)
- No swallowed first word after a break. After idling, the engine re-wakes in a fraction of a second and captures your words, including the very first one. (v2.1.2 and v2.1.3)
- Soft and distant speech captured. Quiet, whispered, or far-from-the-mic speech is now transcribed instead of dropped. (v2.1.2)
- Automatic update checks. The app looks for new versions on its own, with a clear "Check for Updates" control in Settings. (v2.1.2)
- Clearer AI polish errors. Cloud and local polish failures (OpenAI, Gemini, Ollama) now show a specific, actionable message, and your raw text still arrives.
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 hotkey in Settings > Shortcuts
- Start talking
Optional: Turn on AI polish in Settings > AI Polish. Keep it fully on-device with Apple Intelligence (macOS 26+) or Ollama, or add an OpenAI or Gemini API key.
- macOS 14 (Sonoma) or later
- Apple Silicon (M1 or newer)
Core dictation works across the full supported range. The built-in Apple Intelligence polish option requires macOS 26 or later; on earlier versions dictation works normally and you can use 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 a cloud provider (OpenAI or Gemini), only text is sent (your transcript plus the polish instructions) using your own API key. 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.
