Warning: Loca is still in its early testing phase
Please report issues via email or at the GitHub repository
Speech

Speech-to-Text

Last updated 2026-08-13

Speech-to-Text lets you dictate a message instead of typing it. It is the same input bar you already know, transcribing what you say into the box, so dictation is just another way to fill the same message rather than a separate mode. When it is on, the bar shows a microphone.

Smallest
Off
Balanced

Note

Speech-to-Text can run locally, so your audio is transcribed on the Core and never sent away, which keeps it safe to use for the same things you would type. It can also use an External provider, which sends your audio to an outside API to be transcribed instead.

Turning it on

Enable Speech-to-Text under its group in Settings, then pick how dictation starts. That last choice matters more than it sounds, because it decides how the microphone fits into the way you work: whether you tap to talk, leave it listening, or hold a key.

Speech-to-Text
Enable Speech-to-Text

The three ways to start are:

  • Manual: tap the microphone to start, and tap again to stop. Dictation turns off whenever the app is hidden or closed, so it never listens behind your back.
  • Sticky: tap once and it keeps listening through hides, closes, and restarts, for a longer hands-free stretch where you do not want to keep re-arming it.
  • Push-to-Talk: hold a global shortcut to dictate and release to send, even when Loca is not the focused window. A quick tap of the same shortcut shows or hides the window instead. You set that shortcut under Shortcuts.

Where it transcribes

Under the same group you pick a Provider for the transcription itself. Local runs a speech-recognition model on the Core, so your audio never leaves the machine; External sends each clip to an OpenAI-compatible API and uses the text it returns. A Local provider offers a short list of curated models, from small low-RAM ones to a slower but more accurate option, and covers around a hundred languages between them; picking one may need a one-time download, which Loca always asks about first and never fetches in the background. An External provider takes a base URL, an API key, and a model name instead, and the audio is transcribed by whatever service you point it at.

After you speak

A raw transcription often has stray words and false starts. Loca can clean one up with the model before the message lands, so what you dictated reads like something you would have typed, and it can send the cleaned message for you as soon as you stop talking, closing the loop without a final click.

It can also lower your system volume while it listens, so audio playing on your machine does not talk over you or get mistaken for speech. Together these make dictation feel less like operating a recorder and more like thinking aloud.

How It Works

The listening itself happens in the Client. A small voice-activity detector runs on your microphone and watches for the shape of speech: when you start talking it opens a segment, and when you fall silent it closes one. That is what lets dictation send a finished phrase on its own instead of streaming raw microphone noise, and it is why background sound does not usually trigger it.

Each captured segment is packaged as a short audio clip and sent to the Core, where the speech service transcribes it and returns the text. With a Local provider it runs a speech-recognition model on the Core’s device, so that round trip never leaves your machine; with an External provider the Core forwards the clip to the API you configured and hands back its transcript. The optional cleanup is a second, quick model pass over that raw text, fixing the false starts before the words reach the bar, and the send-after-dictation option submits the message once the cleanup is done.

For the agent reading its answers back to you, see Text-to-Speech.