vtmate
🇬🇧

How to use it

PTT / Live modes

Every agent listens for your voice in one of two modes, set per-agent with the ptt field in Agent fields & providers.

Push-to-talk (PTT) - the default

Every default agent ships with ptt = true. In PTT mode there is no silence detection at all: hold SPACE while you talk, and release it to submit whatever you said. This is the simplest and most reliable mode, especially with a noisy room or an untuned microphone, since vtmate never has to guess when you stopped speaking.

[agent]
name = main agent
...
ptt = true

In PTT mode, end_silence_ms is ignored entirely - the key release is the only thing that submits your speech.

Switching an agent to LIVE mode

Set ptt = false for the agent, either by editing ~/.vtmate/agents directly or through the Control+S popup (see Configure Agents). In LIVE mode vtmate listens continuously - there is no key to hold - and decides when you have started and stopped talking using two settings:

[agent]
name = main agent
...
ptt = false
sound_threshold_peak = 0.12
end_silence_ms = 2500
  • sound_threshold_peak: a value between 0 and 1 - the audio peak level that counts as you speaking. Raise it if background noise keeps triggering recording; lower it if quiet speech is being missed.
  • end_silence_ms: how many milliseconds of audio below that peak level must elapse, once you've started talking, before your speech is considered finished and gets submitted.

There is no single correct value for either setting - both depend on your microphone's actual input levels and the room you're in, so expect to tune them once and reuse those values across your agents.

What changes while running

In LIVE mode, pressing SPACE once pauses or resumes recording - it does not need to be held. In PTT mode, SPACE only ever works as hold-to-talk. Every other shortcut (agent swap, voice speed, undo, reset) behaves the same in both modes - see Conversation mode for the full list.

Overriding PTT for one run: --ptt

The --ptt <true|false> CLI flag overrides, for this run only, the ptt setting for every agent independently of what is in the agents file:

vtmate --ptt true

This matters most in debate mode: without it, each agent uses its own ptt setting, so the mode you're in could flip every time the turn switches to an agent configured differently. Passing --ptt true (or false) keeps the whole debate in one consistent mode regardless of how the individual agents are configured.