User GuidePluginsAPI Reference

Voice dictation

Speak instead of type. taiku transcribes your voice and inserts it into the focused terminal, agent chat, or text field.

Speak instead of type: taiku transcribes what you say and drops it right where your cursor is.

Speak, transcribe, and insert your words in a terminal, an agent's chat, or any text field

Dictate a commit message, talk to an AI agent hands-free, or fill in a text field without touching the keyboard.

Starting and stopping

  • Desktop app: press Cmd+Shift+. (macOS) / Ctrl+Shift+. (Windows/Linux), or tap Caps Lock. Press the same key again to stop. Or hold the shortcut while you talk and let go to stop (Caps Lock too, on Windows and Linux).
  • Mobile: tap Tools on the key bar, then dictate. The Tools key fills with your voice while it listens; tap it again to stop.
  • Agent chat: tap the mic in the message box. The red stop button keeps what you said.

The shortcut is the "Toggle Voice Dictation" command, so you can rebind it from Settings → Keyboard shortcuts if those keys clash with something else.

While you speak, your words appear where they will land, dimmed, with a small block after them that fills as you talk. Nothing is typed yet. When you stop, taiku tidies the words and puts them in.

Changed your mind? Press Esc and nothing is typed.

Recording stops on its own when you stop talking, so you usually do not need to press the key a second time. While you hold the key it keeps listening through pauses, until you let go.

Where the text goes

Your words go wherever your cursor is: a terminal's prompt, an AI agent's chat box, or any other text field. taiku drops filler like "um", turns a spoken "comma" or "period" into the mark, and otherwise types them as you said them.

That tidying happens on your device, so the words land as soon as transcription finishes. Nothing is typed until then, and the text goes in as if you had typed it, so you can review and edit before running or sending it.

Commands at an empty prompt

At a shell prompt with nothing typed yet, say what you want done and taiku types the command for it. "Show me the last five commits" becomes git log -5. It waits there for you to press Enter; taiku never runs it.

Under the command, dim, are the words you said. If the command would delete or overwrite something, a line under them says what, like "Deletes build/ and everything in it." Press Tab to swap the command for your words as you said them, or Esc to hide the note. Any other key hides it too.

Making the command means sending your words, with the folder you're in and the names of the files in it, to a model. Anywhere else, inside a quote you opened, in a program like an editor or an AI agent, or after you've started typing, your words go in as said. If taiku can't make the command (you're offline, or it takes too long), nothing is typed and your words stay under the prompt for Tab.

Want the transcription on your device too? Choose the on-device engine in Settings → Voice.

Talk with an agent

In an agent chat, while the message box is empty, the round button where Send usually sits starts a voice conversation. Talk, and when you pause, what you said goes to the agent as your next message. The reply is read out loud as it arrives. Start talking while the agent speaks and it stops, so you can cut in; the rest of its reply stays in the chat.

While a conversation is on, the message box shows whose turn it is, with Mute and End voice beside it. Mute only stops the mic: the agent still answers out loud.

A conversation ends by itself after 30 minutes of listening, or when your account's voice for the day is used up. Start a new one to keep talking.

Setup and permissions

Voice dictation needs access to your microphone, which your browser or operating system will prompt for the first time you use it. In a browser, the page must be served over HTTPS (or localhost); browsers block microphone access on plain HTTP.

You can choose which microphone to use and confirm it is working under Settings → Voice:

  • Pick an input device from the dropdown (defaults to your system mic).
  • Use Test microphone to watch the level meter and verify taiku is hearing you.

If your server administrator has not enabled voice transcription, taiku tells you that voice dictation is not configured instead of recording.

On Linux desktop builds, voice needs a recent version of the app: microphone capture in the desktop window is only enabled in current builds, so update taiku if dictation reports that the microphone is unavailable.

Voice in your own terminal program

A program running in a taiku terminal can ask for voice, even when it runs on a machine with no microphone, over ssh or in the cloud. taiku listens on the device you are using and sends the words back to the program as you speak. The program decides how to draw them and where the result goes.

Send OSC 7347 ; <request> ST (ST is ESC \ or BEL). taiku answers by writing OSC 7347 ; ... ST to the program's input, like any terminal reply.

You sendtaiku answers
queryready;v=1, or off when voice is off.
listenstate=asking the first time, then state=listening, level=0..100 while you speak, partial=<base64> with the words so far, state=transcribing, final=<base64>, and state=idle.
stopEnds listening and sends the final text.
cancelThrows the words away: state=idle with no final.

Text is base64 of UTF-8. A partial is the whole running text, so replace the last one rather than appending. An empty final means nothing was heard.

taiku only answers right after you press a key or tap in that terminal: within 10 seconds for query, and 1.5 seconds for listen. So send listen from your own key handler, and treat silence as "no": no answer to query within a second means no voice, and no state= within five seconds of listen means it did not start. Other terminals without voice answer nothing either; send CSI c after query and take its answer arriving first as no voice.

The first time a program asks, taiku asks you to allow it, and the answer holds until that command exits. The next command is asked again. A listen that cannot start answers error=denied, error=busy (the microphone is in use) or error=unavailable, then state=idle. When the command exits, any listening it started stops.

taiku sees a command exit through its shell integration. Inside ssh, or in a shell without the integration, it only sees the session or the shell end, so one answer covers every program run there. A program that exits while listening should send cancel and wait for state=idle first, or the replies still on their way land at the prompt.

Tips

  • Double-tap to speak and send. Double-tap the dictation key to have taiku transcribe and then submit automatically. It's handy for firing off a quick chat message without reaching for Enter.
  • Dictate into any field. Voice isn't just for the terminal. Focus an agent's chat box, a document, a search box, or any text field and dictate.
  • Dictation is currently tuned for English.
  • Pair it with agents: focus an agent's prompt, dictate your instruction, and keep your hands on the keyboard for everything else.

On this page