Free WisprFlow alternative. Hold Fn, speak, release. Your words are transcribed via cloud AI, polished by a local LLM, and pasted right where you need them. German-optimized, works with any language.
Enhanced fork of OpenWhisp by Raelume. Adds cloud transcription, smaller/faster models, and multi-language support.
| Feature | Original OpenWhisp | Enhanced |
|---|---|---|
| Transcription | Local only (Whisper Base, 150 MB) | Cloud via Groq (Whisper Large v3) + local fallback |
| Accuracy | Basic | Significantly better (Large v3 vs Base) |
| Text model | gemma4:e4b (9.6 GB) | qwen3.5:2b (2.7 GB), 3.5x smaller |
| Language | English-focused | German-optimized (configurable to any language) |
| Cloud cost | None (all local) | Free (Groq Free Tier: 2 hours of audio per day) |
| RAM usage | ~12 GB (Whisper + Gemma 4) | ~3 GB (only Ollama LLM, transcription runs in the cloud) |
| API key security | N/A | Encrypted via macOS Keychain |
| Offline mode | Yes | Yes (automatic fallback to local Whisper) |
- Hold Fn to start recording
- Speak naturally
- Release Fn and the pipeline kicks in:
Audio -> Groq Whisper Large v3 (cloud, free)
|
v
Raw text (in your language)
|
v
Ollama qwen3.5:2b (local, 2.7 GB)
|
v
Polished text -> Clipboard -> Auto-paste
No internet? No problem. OpenWhisp automatically falls back to local Whisper.
- Cloud + Local Hybrid: Groq for best accuracy, local Whisper as offline fallback
- Tiny LLM: qwen3.5:2b (2.7 GB) instead of 9.6 GB, runs on any Mac
- 3 Transcription Modes: Auto (cloud + fallback), Cloud-only, Local-only
- Styles: Conversation and Vibe Coding modes
- 4 Enhancement Levels: No Filter, Soft, Medium, High
- Intent Resolution: "Make it white... actually, black" resolves to final intent only
- Auto-Paste: Text is pasted directly into the active app
- Encrypted API Key: Stored via macOS Keychain, never in plaintext
- Configurable Provider: Groq, OpenAI, Lemonfox.ai, or any OpenAI-compatible provider
- Language Selector: German, English, French, Spanish, and 90+ more
| Provider | Price/min | Model | Free Tier |
|---|---|---|---|
| Groq | $0.0002 | Whisper Large v3 | 7,200 sec/hr (~2 hrs of audio per day, free) |
| OpenAI | $0.006 | Whisper v2 | None |
| Lemonfox | $0.003 | Whisper Large v3 | 1 month free |
Groq is 30x cheaper than OpenAI and offers a generous free tier. For normal usage (a few minutes of dictation per day), it is completely free.
# Install Ollama: https://ollama.com/download/mac
ollama serve
# Pull the text enhancement model (only 2.7 GB!)
ollama pull qwen3.5:2b- Go to console.groq.com
- Create an account (free)
- Generate an API key
Grab the latest .dmg from Releases, open it and drag OpenWhisp to your Applications folder.
Since the app is not signed with an Apple Developer certificate, macOS will block it on first launch. Run this once in Terminal to allow it:
xattr -cr /Applications/OpenWhisp.appThen open OpenWhisp normally. You only need to do this once.
git clone https://github.com/nicremo/openwhisp-enhanced.git
cd openwhisp-enhanced
npm install
npm run build:native
npm run devThe setup wizard walks you through:
- Transcription Engine: Enter your Groq API key (or download local Whisper as fallback)
- Ollama: Verify the connection
- Permissions: Microphone, Accessibility, Input Monitoring
After setup: hold Fn, speak, release. Done.
The app defaults to German. To switch to English (or any other language):
- Open the Models page
- Change the Language dropdown to your language
- Done. Both transcription and LLM rewrite will use your selected language.
Supported: German, English, French, Spanish, Italian, Portuguese, Dutch, Polish, Japanese, Chinese, Korean, and 90+ more via Whisper.
| Purpose | Model | Size | Provider |
|---|---|---|---|
| Transcription (cloud) | Whisper Large v3 | Cloud | Groq (free) |
| Transcription (local) | whisper-base | ~150 MB | Local via HuggingFace |
| Text enhancement | qwen3.5:2b | ~2.7 GB | Local via Ollama |
The app works with any OpenAI-compatible provider. Just change the Base URL and API key on the Models page:
| Provider | Base URL | Model |
|---|---|---|
| Groq (default) | https://api.groq.com/openai |
whisper-large-v3 |
| OpenAI | https://api.openai.com |
gpt-4o-mini-transcribe |
| Lemonfox | https://api.lemonfox.ai |
whisper-1 |
Any Ollama model works. Recommendations by size:
| Model | Size | Quality | Speed |
|---|---|---|---|
| qwen3.5:2b (default) | 2.7 GB | Very good | Fast |
| qwen3:4b | 2.5 GB | Excellent | Fast |
| gemma3:4b | 3.3 GB | Excellent | Medium |
| qwen3.5:4b | 3.4 GB | Top tier | Medium |
- Electron + React + TypeScript for the desktop shell and UI
- Groq API (or any OpenAI-compatible provider) for cloud transcription
- @huggingface/transformers for local Whisper inference (offline fallback)
- Ollama for local LLM text enhancement
- Swift native macOS helper for Fn key listening, focus detection, and paste simulation
- electron-vite for build tooling
- Electron safeStorage for encrypted API key storage via macOS Keychain
src/
main/
api-key.ts # API key encryption (macOS Keychain)
cloud-transcription.ts # Cloud STT (Groq/OpenAI-compatible)
dictation.ts # Pipeline: transcribe -> rewrite -> paste
transcription.ts # Local Whisper inference (fallback)
ollama.ts # Ollama API client + auto-launch
prompts.ts # Prompt matrix (style x enhancement level)
settings.ts # Settings persistence
windows.ts # Window management
renderer/
App.tsx # UI: sidebar, pages, setup wizard, overlay
styles.css # Styling
audio-recorder.ts # Web Audio recorder with level metering
preload/ # Electron preload bridge
shared/ # Shared types and constants
swift/
OpenWhispHelper.swift # Native macOS helper
npm run packageBuilds the Electron app, compiles the Swift helper, and packages everything into a .dmg and .zip in the release/ directory.
MIT (same as the original)
