The Two Numbers Behind Every Voice Failure
Prerequisite: None. This is the opening lesson of Voice Agents, Not Chatbots. General familiarity with building against an LLM API is assumed; nothing about voice specifically is. After this lesson, you can: explain, using two measured numbers, why a voice agent that waits for silence before it starts "thinking" cannot hit human conversational timing no matter how fast its model is, and state why the fix has to be architectural, not a faster LLM.
Here is the question this course exists to answer: your voice agent's ASR is production-grade, your TTS is nearly indistinguishable from a real voice, and your LLM is fast. So why does the call still feel wrong?
The instinct is to blame the model. Swap in a faster one, shave the round-trip, ship it. That instinct is wrong, and there are two numbers from timing research that show exactly why.
The two numbers
| Number | What it measures | Source |
|---|---|---|
| ~200ms | The median gap between conversational turns, the silence between when one person stops talking and the next starts | Stivers et al., PNAS 2009 (10 languages, including a signed language) |
| ~600ms | The time a human brain takes to plan a single word of response | Levinson & Torreira, Frontiers in Psychology, 2015 |
Neither number is a Western-conversation quirk or an artifact of one language's rhythm: the 200ms gap shows up everywhere the Stivers study looked. Whatever mechanism produces it, it's close to universal to how our species takes turns.
The contradiction, and how humans actually resolve it
Put those two numbers next to each other and there's a contradiction. If planning a reply takes 600ms, and the gap between turns is only 200ms, how does anyone ever respond in time? You cannot hear the last word of someone's sentence, decide what to say, and start saying it in less time than your own brain needs just to plan one word.
The only way the arithmetic works is if planning starts before the other person finishes. Humans don't wait for silence and then react. They track where a sentence is going while it's still being spoken, and they start planning a reply in parallel, using the same 600ms budget the incoming speech is still filling. The 200ms gap isn't reaction time. It's what's left over after the prediction is mostly done.
Conversation is concurrent, not turn-based. Ping-pong is the wrong mental model. Two overlapping processes, one of them running ahead of the other, is the right one, and every failure in this course is a consequence of software that doesn't act like it.
Why this breaks a cascaded voice pipeline
A standard cascaded voice agent (speech-to-text, then an LLM, then text-to-speech) is architected as ping-pong by default, and every step in it only starts once the previous one finishes:
Nothing else happens until silence is detected.
STT converts the audio to text, start to finish.
The model doesn't begin "thinking" until the transcript is complete.
TTS renders the response, only after the LLM has finished generating it.
That's the opposite of what a human does. A human's "planning" process is running concurrently with the other person's speech; a naive cascaded pipeline's processing only starts once the other person has stopped.
This is why the fix people usually reach for, a faster model, doesn't close the gap. A faster LLM makes one stage of a serial pipeline faster. It does nothing to make the pipeline concurrent. You can have the fastest LLM available and still be structurally incapable of hitting a 200ms human gap, because your system doesn't start "thinking" until the human has already finished the part where a human's brain would have been thinking too.
The industry data confirms it
The industry data says this isn't theoretical. Hamming's analysis of over 4 million production voice-agent calls, across LiveKit, Pipecat, ElevenLabs, Retell, and Vapi, put P50 latency at 1.5 to 1.7 seconds. That's vendor telemetry, so treat it as directional rather than exact, but the direction is unambiguous: roughly five times slower than the ~200ms gap Stivers measured above, the number a caller's own conversational instincts are calibrated to. Callers don't consciously clock "1.6 seconds." They feel a rhythm that's wrong, the same way you'd feel a beat dropped in a song you know well.
A reference demo built for this course times one real cascaded turn end to end against a live stack (Deepgram for speech-to-text, an LLM in the middle, Rime for text-to-speech) with each hop timed separately. Run it and you'll see three bars stack, one after another: STT waits, then the LLM waits, then TTS waits, because each hop only starts once the previous one is done. That's the serial tax made visible. Add the three numbers together and compare the total against the two numbers from this lesson, the 200ms human gap, and the 1.5-1.7s industry P50, and the gap between "how fast each piece is" and "how the whole conversation feels" stops being an abstraction.
Nothing about this lesson has told you how to fix it yet. That's deliberate. Before the fix, you need the frame: the components can each be fast, and the conversation can still feel broken, because speed was never the actual problem. Ordering was.
Reply here and it goes straight to Rod. Same as replying to one of his emails.