Skip to content

Voice Mode

Voice mode turns the chat composer into a hands-free conversation. You speak, Tarsk sends each finished turn, and it reads a short spoken answer while the full reply stays in the conversation.

Voice mode is separate from dictation. Use the microphone button in the composer to dictate one message; use the voice mode button to keep a spoken session open.

Click the voice mode button in the composer (the tooltip says Voice mode). The composer switches to a voice surface with these phases:

Phase Meaning
Preparing Downloading the speech models, with a progress bar
Listening Capturing your turn; it sends when you pause
Thinking Waiting for the assistant reply
Speaking Playing the spoken summary
Error Voice mode could not start; the reason shows inline

Close ends the session. Interrupt stops playback. If a reply takes longer than 90 seconds, voice mode reports that it is still waiting and resumes listening.

  1. Tarsk recognizes your speech and sends the transcript as a normal message.
  2. The assistant replies in full. Code, tables, diffs, file paths, and tool output stay in the conversation and are not read aloud.
  3. A second, short call rewrites that reply for speech. It keeps the key answer and the next step, usually under 250 words.
  4. Tarsk plays the rewritten text and starts listening again.

The rewrite uses the model already selected for the conversation. If the rewrite call fails, Tarsk falls back to cleaning the Markdown and reads that instead. The displayed reply never changes.

Voice mode is half-duplex by default: it stops listening while it speaks so it does not recognize its own audio. Tick Interrupt by speaking to cut playback when you start talking. Tarsk remembers this choice in the browser.

Two engines run on the server, and both are cached after the first download:

  • Speech recognition uses a Vosk English model (about 40 MB, shared with dictation).
  • Speech synthesis uses Kokoro-82M, quantized (about 92 MB).

Cache: voice-models/ under the app support directory. Recognition and synthesis happen on the server, so a Remote Machine or the public address sends your audio to that computer.

Voice mode also needs a selected model, an open thread or project, and an idle composer. It is hidden in Image mode. The button appears only when the server reports dictation and speech synthesis and the browser has microphone access, WebAssembly, AudioContext, and AudioWorkletNode.