Sub-250 ms, or it isn't a conversation
People leave very short gaps between turns, so we treat the whole voice pipeline as one latency budget.
A demo voice agent can take two seconds to answer and still look fine in a screen recording. Put a real person on the line, a 74-year-old on a care call or a billing rep at a payer, and two seconds breaks the call. They talk over the agent. They hang up. They decide it is broken.
People expect fast replies because they get them from each other. A 2009 study in PNAS recorded conversations in 10 languages, from small indigenous communities to major world languages. Every one of them avoided overlapping talk and kept the silence between turns short, and each language's average gap sat within 250 ms of the cross-language mean (Stivers et al.). So the number we chase is end-to-end latency under about 250 milliseconds, from the moment the caller stops talking to the first syllable of the reply.
Where the time goes
A naive pipeline runs each stage in order, and every stage waits for the one before it to finish.
- Endpointing. The system has to decide the caller is done. Waiting for a long silence is safe and slow. Cutting in early interrupts people mid-thought.
- Recognition. Batch speech-to-text starts only after the audio ends.
- Reasoning. The model reads the whole prompt before it produces the first token.
- Synthesis. Text-to-speech waits for a full sentence before it plays anything.
Add those up and you get the two-second pause that makes people talk over the agent.
How we cut it
We stream audio into speech-to-text and read interim results as they arrive. Google's Speech-to-Text documentation describes the split we rely on. An interim result is the current guess for a stretch of audio and may change, and a final result is the last, best guess for it (Google Cloud docs). We start reasoning on the partial transcript, so most of the thinking is done by the time the final result lands.
We pick a different model for each stage. The fast one sits on the critical path. The larger one runs where we can hide its latency. We stream the reply into text-to-speech token by token, so the first syllable plays while the rest of the sentence is still being written.
We also handle barge-in. When the caller starts to speak, the agent stops its own audio and listens, the way a person would. Without this, the agent keeps talking over a patient who is trying to correct it.
What it gets us
Our agents run roughly 4 to 6x faster than typical healthcare voice AI. A patient with hearing aids and a lot on their mind does not notice a delay. None of this shows up in a demo. It shows up on call number ten thousand, when a patient decides whether to keep picking up.