Lattice
A workspace for your research.
Faster, more accurate on-device Mac dictation. Teach it your vocabulary, switch languages mid-sentence, or use a compatible fine-tuned model.
Translation pending
ProductivitySwift · PythonGitHub @Leo6LeoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
On-device streaming speech-to-text for macOS, built on Qwen3-ASR via MLX
Loading the full README.
Read the full README ↗WhisprStream is an open-source macOS dictation app that types at your cursor while you speak. It runs locally, keeps the model warm for low latency, and follows mixed-language sentences without uploading audio. Use it in any app—from notes and email to your terminal and coding agent.
brew install --cask Leo6Leo/tap/whispr-stream
The custom Cask pins the release checksum and removes quarantine only from the installed WhisprStream app. It does not disable Gatekeeper. Public builds are self-signed and not notarized by Apple.
WhisprStream-macos-arm64.zip from the latest published release, extract it, and move WhisprStream to Applications.The native app, speech engine, and model are separate. The engine and model are downloaded only when needed, remain on your Mac, and survive normal app updates. The direct-download path requires no Python, Homebrew, pip, Xcode, Terminal, account, or audio upload. See the full installation and recovery guide.
WhisprStream can transcribe what your Mac is playing — a video, a call, a podcast — instead of your microphone. Choose Settings → General → Audio source → System audio, or press ⌥S during a live dictation to switch between the microphone and system audio without restarting. While system audio is the source, the live preview turns a soft rainbow so you always know which one is being heard. macOS routes system audio through the Screen & System Audio Recording permission; WhisprStream registers only an audio output and keeps no screen image. Audio is still transcribed on this Mac.
Custom Qwen3-ASR and MLX Whisper models are still under development. They are behind a compile-time feature gate and are not available in the public 1.0.5 build. Local source builds enable the experimental UI by default; use ENABLE_OPTIONAL_MODELS=0 WhisprStream/build.sh to reproduce the public behavior.
Source builds require:
The developer setup remains:
./setup-mac.sh
WhisprStream/build.sh
open WhisprStream.app
Source builds use the prepared local development engine and show Development engine ready in Settings. Open Settings → Model to download a model. To exercise the download UI without changing real runtime or model files, quit the app and launch it with:
WHISPR_TEST_FIRST_RUN=1 WhisprStream.app/Contents/MacOS/WhisprStream
Hold the Right Option key, speak, and release; the transcript is inserted into the active app. To choose another trigger, open Settings → General → Recording shortcut and record a modifier chord or F13–F24. Right Option remains the default.
WhisprStream is MIT licensed and designed to be inspected, adapted, and extended. The public 1.0.5 app offers the built-in Qwen3-ASR models. Experimental adapters for custom Qwen3-ASR and MLX Whisper checkpoints remain available to source-build developers behind a compile-time gate. A model does not need native streaming support: WhisprStream can repeatedly transcribe the full utterance, preserve context across language switches, and turn stable output into a live stream.
The native Swift front end and Python ASR sidecar communicate locally over a small newline-delimited JSON protocol. See HANDOFF.md for architecture notes and troubleshooting.
WhisprStream is available under the MIT License.