Skip to content

Voice ​

Two independent halves: dictating into the composer, and hearing replies read out. Each one depends on what the machine running the core actually has installed, and each control tells you when it is missing something.

Dictating ​

The microphone button sits in the composer's toolbar, next to 📎.

  1. Press it. It turns red and shows REC with the elapsed time.
  2. Say what you want.
  3. Press it again. It reads transcribing… while the backend works.
  4. The transcript lands in the composer, appended to whatever you had already typed.

It is never sent for you. Read it, fix it, press Enter — dictation writes the message, you send it.

Where the recording happens ​

If the core's machine has a recorder (arecord, sox, and friends), the core records. If it does not, this window records with the browser's own microphone API and posts the audio to the core to be transcribed. You do not choose; the app asks audio.capabilities and takes whichever is available. The second case asks for microphone permission the first time.

Either way, the microphone is released as soon as you stop.

When the button is greyed out ​

A disabled mic still tells you why — hover it. There are two reasons it can give:

  • "This core was built without audio support." The core itself has no voice features at all. Nothing on this page will work; you need a newer core.
  • A missing backend, usually transcription: the core needs something like whisper or faster-whisper on the machine it runs on. Install one, restart the core, and the button lights up.

Note that it is transcription that gates the button, not recording. A machine with no recorder can still dictate, because this window can record instead — and if the core's microphone disappears between launch and your click, the recording quietly happens here rather than failing.

When a backend turns out to be gone, the app re-checks what is available and disables the control with the reason attached, so a button never keeps offering something that will fail again.

Hearing replies ​

The speaker button in the thread header toggles spoken replies. While it is on, every finished assistant message is read aloud. A Stop button appears next to it while something is being synthesised or played.

The same split applies: when the core's machine has a player it plays the audio itself, and otherwise the audio comes back to this window and plays here. As with the mic, a disabled speaker says why it is disabled — usually a missing speech backend.

Switching the toggle off stops whatever is playing.

Settings ​

Settings has an Audio card with the choices that persist:

FieldWhat it does
TranscriptionWhich speech-to-text backend to use
SpeechWhich text-to-speech backend to use
VoiceThe voice id, which depends on the backend
Speak replies automaticallyNew threads open with the speaker already on

Both provider selects start with core's choice, which means "do not pin anything — use whatever the core prefers". The current preference is named in brackets so you can see what that is. Test voice speaks one short line so you can hear a voice before committing to it.

These settings are global, not per project: which backends are installed and which voice you like do not change when you open a different repository.

MIT licensed. The manual is generated from the product repositories — see the banner on each page.