
Stage Whisper
https://github.com/obra/stagewhisper- Category
- AI Tools
- Rank
- No. 1306Tools index
Previous survey · No. 1297 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- obra
- GitHub
- 17 stars
- Date
About
macOS menu bar app for transcribing speech to text with WhisperKit and inserting it at the cursor, by Jesse Vincent (obra).
What it does
Hold a global shortcut, speak, then release it. Stage Whisper recognizes speech locally, pastes the resulting text into the focused application, and restores the previous clipboard text afterward.
Why it's ranked here
The core workflow is unusually direct and privacy-conscious: speech recognition stays on the Mac, model downloads happen automatically, and dictated text reaches whichever application already has focus. The rough packaging and conflicting documentation keep it better suited to technical users than general consumers.
What's good
It provides visible menu bar states for loading, downloading, recording, processing, readiness, and errors. It tries several recognition models, reports download progress, preserves clipboard text, and falls back to simulated typing when paste-based insertion fails.
Tradeoffs
Installation requires building from source plus Accessibility and microphone permissions. The documentation describes command-line text insertion and a separate dictation flag, but the packaged executable always launches the graphical app and does not parse arguments. Model setup needs an internet connection initially, while larger models demand more memory and processing power.
How to use it well
It fits Mac users who dictate frequently across editors, chat clients, and other focused text fields, especially when local audio processing matters. Build the app bundle, grant both permissions, and keep it in the menu bar. It does not provide transcription services for remote applications, web APIs, or other operating systems.
Technical notes+
Package.swift defines one SwiftPM executable target named StageWhisper for macOS 13.3 and depends on HotKey plus WhisperKit’s main branch. Sources/StageWhisper/main.swift creates an accessory NSApplication and always enters dictation mode, despite README.md documenting swift-insert arguments. Sources/StageWhisper/MenuBarApp.swift manages the global hotkey, status item, incremental insertion, and transcription callbacks. Sources/StageWhisper/WhisperTranscriber.swift downloads several fallback models, applies initialization and loading timeouts, and streams audio through AVAudioEngine. build_app.sh assembles StageWhisper.app manually, while StageWhisper.app/Contents/Info.plist still uses the placeholder bundle identifier com.yourdomain.StageWhisper.
Observed
- License
- MIT
- Primary language
- Swift
- Platform
- Swift package declares macOS 13.3 or later
- Packaging
- SwiftPM executable with a shell script that assembles a macOS app bundle
- Interface
- Accessory menu bar application controlled by a global Command+Shift+Z hotkey
- Recognition
- On-device speech recognition through WhisperKit with automatic model downloads
- System access
- Requires microphone and macOS Accessibility permissions
- Dependencies
- Direct Swift package dependencies are HotKey and WhisperKit
Read from README.md, Package.swift, Sources/StageWhisper/main.swift, Sources/swift-insert/main.swift, Sources/StageWhisper/MenuBarApp.swift, Sources/swift-insert/MenuBarApp.swift, Sources/StageWhisper/WhisperTranscriber.swift, Sources/swift-insert/WhisperTranscriber.swift, INSTALL.md, build_app.sh, debug_run.sh, Package.resolved, StageWhisper.app/Contents/Info.plist, Sources/StageWhisper/Resources/Info.plist, Sources/StageWhisper/Resources/Assets.xcassets/Contents.json.
What it can do
Transcribe speech to text
Audio speech input from microphone → Text transcription
Insert transcribed text at cursor position
Transcribed text and active cursor location → Text inserted into current application
Convert voice input to written text in real-time
Live speech audio → Real-time text output
Provide menu bar access to speech transcription
User interaction with menu bar icon → Transcription interface activation
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.