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.