Dictate anywhere
on your Mac.
Hold a key, speak, release — your words are typed into whatever app has focus. Whisper runs on your own GPU, so the audio never leaves the machine.
No cloud. No account. No telemetry. Works offline.
Free and open source · Apple Silicon · macOS 14+ · 359 MB, signed and notarized by Apple
How it works
Three keystrokes you already know.
Hold
Press and hold right Option wherever your cursor already is.
Speak
A pill appears at the bottom of the screen with your live mic level.
Release
The text is transcribed on-device and pasted at your cursor.
Anywhere
Works in every app.
Sotto types into whatever has focus — your editor, a browser, a terminal, Slack, a Google Doc. There is no Sotto window to switch to and no integration to configure, because it pastes the way you would.
Fast
Faster than typing it.
About half a second from releasing the key to text on screen, using Whisper large-v3-turbo on the Apple GPU. Long dictations cost about the same as short ones — Whisper pads every clip to the same window.
Private
Nothing leaves the Mac.
Audio is captured while you hold the key, transcribed in memory, and discarded. No account, no telemetry, no server. The only network request Sotto ever makes is downloading the model once.
Hands-free
Double-tap and keep talking.
Hold to dictate a sentence, or double-tap the hotkey to lock recording on for a long thought and tap once to stop. A floating pill shows the live mic level and elapsed time while you speak.
Optional rewrite
Polish it before it lands.
A second on-device model can rewrite the transcript in the moment between releasing the key and the text appearing. Off by default; if it is still loading or fails, the raw transcript is pasted so you never lose words.
Clean up
Removes filler words, false starts, and stutters, and fixes punctuation. Your wording and tone are kept.
We should move the launch to next Thursday because QA is still working through the payment bugs.
Structured
Gives the dictation the shape it needs — prose for a single thought, bullets for parallel items, numbered steps for a sequence.
1. Pull the latest main 2. Run the migration script 3. Restart the workers
Caveman
Compresses hard for pasting into an AI assistant. Every instruction, name, and constraint survives; the words around them do not.
check login page broken on mobile; if time, check signup flow too
Install
Download, or build it yourself.
The signed disk image is the short path: open it, drag Sotto to Applications, done. It is notarized by Apple, so there is no Gatekeeper warning and nothing to right-click around. If you would rather read the code first and build against your own Python, that path is unchanged:
# one-time, if you don't have them brew install python@3.13 # build and install Sotto.app git clone https://github.com/utsavanand/sotto && cd sotto ./install.sh open /Applications/Sotto.app
Requirements
Apple Silicon (M1 or later) and macOS 14 or newer. The disk image needs nothing else; building from source also needs Python 3.13.
Two permissions
Microphone, to record while the key is held. Accessibility, to see the hotkey and paste. Grant both in System Settings, then relaunch.
First launch
Downloads the Whisper model once (~1.6 GB) and caches it. After that Sotto works with the network off.
Full instructions, FAQ, and design notes are in the README.