Speaks computer
Command mode turns spoken words like at, dot, slash, dash-dash, and pipe into symbols. Say "send" to press Return or "stop" to press Escape.
On-device dictation for Mac. Press the key, speak, and your words appear at the cursor.
Command mode turns spoken words like at, dot, slash, dash-dash, and pipe into symbols. Say "send" to press Return or "stop" to press Escape.
After downloading a model, transcription runs locally on your Mac. No audio uploads, no account, telemetry, or cost.
Otis can take over the key (F5) that normally starts Apple Dictation. Prefer fn or another key? Set your own.
| Mac | Apple silicon, M1 or later |
|---|---|
| macOS | Sonoma 14 or later |
| Processing | MLX on Apple silicon |
| Models | Cohere Transcribe, Whisper base to large-v3-turbo |
| Modes | Command, Dictation, Verbatim |
| Network | Model downloads only |
| Permissions | Microphone and Accessibility |
| License | Free and open source (*not public yet) |
Otis is a macOS application that does one thing really well: talking to your computer 'in computerese', specifically talking to a model inside a harness, whatever agent you choose to pilot. Your words become intent that turns into action, a verbal human-computer interface.
The voice output on most dictation applications is just verbatim text. For Otis, I focused on how I would like dictation to work for me, a rather opinionated approach. And it's not necessarily done yet. I'm working on a small, filter-like transformer model that does what the current command mode's regex system does, but more dynamically, taking context into consideration. Right now, what Otis is good at doing is: you say “dash,” and you get -; you say “pipe,” and you get |.
For me, this is important because I want to talk to my computer, and I want the computer to understand what I'm saying. The shell doesn't understand the word “pipe,” but it understands the symbol. Otis is all about transforming the language of symbols into the actual symbols themselves. These symbols express intent, and intent is what leads you to action, which is the whole point of human-computer interaction.
Otis is a menu bar app. It changes your speech into text. All processing happens on your Mac.
Otis needs a Mac with Apple silicon (M1 or later) and macOS 14 or later.
brew install --cask heavyetl/tap/otis.At first launch, Otis shows a setup window. The window has these steps: Microphone, Accessibility, Dictation key, Model.
Otis needs two permissions.
Otis does not send your audio or text to the internet.
An automatic speech recognition (ASR) model is the software that changes speech into text. Otis recommends a model for the memory of your Mac.
| Model | Parameters | Download | Languages |
|---|---|---|---|
| Whisper Base (English) | 74M | 150 MB | English |
| Parakeet TDT 0.6B v3 | 600M | 1.3 GB | 25 |
| Cohere Transcribe (8-bit) | 2B | 2.4 GB | English |
Recommendation by memory: less than 16 GB, Whisper Base. 16 GB to 31 GB, Parakeet. 32 GB or more, Cohere Transcribe 8-bit.
Click Show all to see more models. Otis downloads the model one time. You can change the model later in Settings.
There are two ways to record.
You can use these dictation keys: Fn (Globe), F5 (Mic), or a key of your choice. Change the key in Settings › Shortcuts.
If you use the Fn key, make these changes in System Settings:
If you use the F5 key, set Keyboard › Dictation › Shortcut to Off.
The mode controls how Otis changes your words into text. To change the mode, click the Otis icon in the menu bar and select a mode. Or hold the dictation key and press the mode key. The default mode key is 5.
Use this mode in a terminal. Otis changes symbol words into symbols. Otis changes number words into digits. Otis joins spelled letters into one word. Otis makes the first letter lowercase and removes the period at the end.
Example: say L S dash L A pipe grep dot swift. Otis types ls -la | grep .swift.
Use this mode for normal text. Otis types your words as spoken. Otis obeys the Submit and Cancel commands only. Otis does not change symbol words.
Otis types the text exactly as the model heard it. No commands are active.
Commands work in Command mode and Dictation mode. Symbols and numbers work in Command mode only.
Say send, submit, or enter as the last word. Otis removes the word and presses Return.
Say only stop, escape, or cancel. Otis presses Escape. Otis does not type text.
Say the name of a symbol. Otis types the symbol.
| dot, period | . |
|---|---|
| comma | , |
| colon | : |
| semicolon | ; |
| question mark | ? |
| bang | ! |
| quote | " |
| single quote, apostrophe | ' |
| backtick | ` |
| open paren, close paren | ( ) |
| open bracket, close bracket | [ ] |
| open brace, close brace | { } |
| slash | / |
| backslash | \ |
| pipe | | |
| double pipe, logical or | || |
| ampersand | & |
| double ampersand, logical and | && |
| equals | = |
| double equals | == |
| not equals | != |
| plus | + |
| dash, minus, hyphen | - |
| dash dash, double dash | -- |
| underscore | _ |
| less than, redirect in | < |
| greater than, redirect out | > |
| append redirect | >> |
| hash, pound sign | # |
| dollar | $ |
| percent | % |
| caret | ^ |
| asterisk, star | * |
| tilde | ~ |
| at | @ |
| space | one space |
Say number words from zero to nine. Otis types digits. Example: say one two three. Otis types 123.
Say two or more single letters. Otis joins the letters into one word. Example: say L S. Otis types ls.
Click the Otis icon in the menu bar. Select Settings.
Select an input device from the list. Or select the system default. The menu bar also has this list.
Select a model from the list. The list shows the download size and the status of each model. Otis downloads a new model one time. The menu bar icon shows the download progress.
Set the dictation key and the mode key. Select a preset or click Set your own and press a key.
Turn on Open at login. Otis starts when you log in to your Mac.
Select Check for Updates to get the latest version.
Click the Otis icon. If the menu shows Permissions needed, click Setup. Follow the steps to give the missing permission.
If you installed a new version, the old Accessibility entry can stop working. Open System Settings › Privacy & Security › Accessibility. Remove Otis from the list. Then add Otis again.
Otis cannot type when another app has secure input on. Password fields, sudo, and the iTerm Secure Keyboard Entry option turn secure input on. Otis makes a beep sound. Turn secure input off, then try again.
Make sure Otis has the Accessibility permission.
If you use the Fn key, set Keyboard › Press Globe key to to Do Nothing. If you use the Fn key or the F5 key, set Keyboard › Dictation › Shortcut to Off.
If another app uses the same key, set a different key in Settings › Shortcuts.
Click the Otis icon. Select the correct input device from the microphone list.
The menu shows Couldn't load and the name of the model. Otis continues with the last model. Check your internet connection. Then select the model again.