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.

1

Hold

Press and hold right Option wherever your cursor already is.

2

Speak

A pill appears at the bottom of the screen with your live mic level.

3

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.