A macOS dictation app for your own speech recognition and text cleanup servers. Speak, and Whisper pastes the text into your current app. Deploy the servers separately and connect them in Settings.
The interface above uses sample data.
- Dictate with a global shortcut, a recording pill, microphone selection, and automatic paste.
- Connect self-hosted speech recognition and text cleanup services, with editable cleanup prompts.
- Keep a custom dictionary, learn from corrections, and expand spoken shortcuts with Snippets.
- Search, copy, delete, and retry local History entries, with configurable audio retention.
- Transcribe audio and video files, individually or in batches.
- View local dictation Insights and choose whether to keep the menu bar icon visible.
This fork focuses on dictation and file transcription. It does not include OpenWhispr Cloud, accounts, sync, meetings, Notes, AI Assistant, or bundled model servers.
Requires an Apple Silicon Mac with macOS 12 Monterey or later.
brew install --cask softmaxe/tap/whisperOr download the ARM64 ZIP from GitHub Releases and move Whisper.app to /Applications. Each release includes a SHA-256 checksum.
To update:
brew update
brew upgrade --cask softmaxe/tap/whisperReleases use a persistent self-signed certificate and are not notarized. macOS may warn on first launch; upgrading from an older ad-hoc build may require permissions again. See macOS signing.
- Open Settings → Speech-to-Text and enter your ASR server URL and model. The server must support an OpenAI-compatible
/audio/transcriptionsendpoint. Include/v1in the URL if your server requires it. - Configure your text cleanup server and prompt in Settings → Text cleanup. It uses
/v1/chat/completions. - Grant microphone access for recording and Accessibility access for automatic paste. Choose your shortcut in Settings → Hotkeys.
- Focus a text field and use the shortcut to dictate. To transcribe existing files, open Upload.
Upload uses the same ASR settings and saves raw transcripts to History. It skips text cleanup and Snippets, does not retain source audio, and does not count toward Insights. Results remain copyable when History is disabled.
Processing stays on your Mac only when your servers run locally. Local and private-network hosts can use HTTP; public hosts require HTTPS. See Data and permissions, or use the custom ASR shim for other server APIs.
Use Node.js 24 from .nvmrc.
npm ci
npm run devRun npm run quality-check for lint, TypeScript, translations, and regression tests. npm run pack builds an ad-hoc signed development app. See Tests for coverage and CI, and macOS signing for release builds.
MIT. Forked from OpenWhispr 1.10.2 at commit 834a0771, with its attribution retained. Bundled JetBrains Mono fonts use OFL-1.1.
