Evalgent
Back to Guides
Concept

VAD vs endpointing: what's the difference in a voice agent?

Last updated
VAD vs endpointing: what's the difference in a voice agent?

VAD and endpointing get used interchangeably, and it causes a specific, painful bug: an agent that interrupts callers on a natural pause. The two are related — one is built on the other — but they answer different questions, and knowing which is which is the difference between an agent that waits politely and one that talks over people. Evalgent tests turn-taking directly, and this guide draws the line.

VAD (voice activity detection): a low-level signal that detects, moment to moment, whether the incoming audio contains speech or just silence and noise.

Endpointing: the decision that the caller has finished their turn, so the agent can stop listening and respond.

VAD vs endpointing: the core difference

The clearest way to separate them is by the question each answers. VAD asks "is someone speaking right now?" Endpointing asks "has the caller finished their turn?" One is a continuous signal; the other is a decision.

DimensionVADEndpointing
QuestionIs there speech right now?Has the turn ended?
LevelLow-level, per-frame signalHigher-level decision
OutputSpeech or silenceTurn is over: respond now
InputsThe audio signalVAD, plus timing and context
FailureMisses speech or flags noiseCuts the caller off, or waits too long

VAD is a building block. It reports, many times a second, whether it hears speech. Endpointing is what you build on top of that signal to make a turn-taking decision — and it needs more than VAD alone, because a moment of silence does not always mean the turn is over.

How they relate

Endpointing usually consumes VAD, which is exactly why the two get blurred. A simple endpointer works like this: VAD reports speech, then reports silence, and once the silence lasts longer than a threshold, the endpointer declares the turn over. In that setup, endpointing is "VAD plus a silence timer."

But that simple version is also where the trouble starts. A caller pausing to think, reading a number, or taking a breath produces silence that VAD faithfully reports — and a naive endpointer treats that silence as the end of the turn and jumps in. Good endpointing adds more than a timer: adaptive thresholds for the caller's pace, and increasingly a semantic signal that judges whether the sentence sounds complete. So VAD is necessary for endpointing, but endpointing is not just VAD. Our endpointing guide covers how to get that decision right.

Why the distinction matters

The reason to keep them straight is that the most common turn-taking bug comes from treating VAD as if it were endpointing. If your end-of-turn logic is just "VAD went silent for 500 milliseconds," the agent will cut off anyone who pauses mid-thought — and callers pause constantly. That is an endpointing failure caused by leaning on raw VAD.

The opposite error exists too. Set the silence threshold too long to avoid cutting people off, and the agent leaves an awkward gap after every turn. Endpointing is the balance between these, and it is a real decision layer, not a byproduct of VAD. Recognizing that endpointing deserves its own logic — beyond a VAD silence timer — is what fixes both the cut-offs and the gaps. This also sits next to barge-in, the related case of a caller interrupting the agent, covered in our barge-in guide.

How to get endpointing right on top of VAD

Treat VAD as the signal and endpointing as the decision you build deliberately.

1. Use VAD as an input, not the answer — Let VAD detect speech, but do not treat its silence as an automatic end of turn.

2. Tune the silence threshold — Set how long silence must last before the turn is considered over, for your callers.

3. Add a semantic signal — Where possible, judge whether the sentence is grammatically complete, not just silent.

4. Adapt to pace — Give slower speakers more room so pauses do not trigger a premature response.

5. Handle digits and lists — Detect number and list patterns so the agent waits through their natural pauses.

6. Test both failure modes — Verify the agent neither cuts callers off nor leaves long gaps, under real audio.

A worked example

A caller reads a phone number: "It's 415…" then pauses before "…555 0199." VAD does its job perfectly — it reports speech, then silence during the pause, then speech again. A naive endpointer, watching only that silence, decides the turn ended after "415" and the agent jumps in, capturing a fragment. The VAD was not wrong; the endpointing was. The fix is not better VAD but smarter endpointing that recognizes an in-progress number and waits. Same signal, different decision — that is the whole distinction in one call.

VAD and endpointing with Evalgent

Evalgent tests the turn-taking decision, not just the signal. Scenarios include the cases that separate good endpointing from raw VAD — mid-sentence pauses, digit and spelling sequences, and slow speakers — so the agent's end-of-turn behavior is exercised, not assumed. Profiles vary caller pace and line noise, since both change how VAD behaves and how endpointing should respond. Metrics track premature-cutoff rate and end-of-turn latency together, so you see both failure modes at once. Evaluations run the suite as automated batches before release, and Reviews let you replay a mistimed turn and hear exactly where the agent grabbed it.

The result is turn-taking that feels human: an agent that uses VAD as a signal but endpoints on judgment, waiting through pauses and responding promptly at real turn ends. For the wider discipline, see the AI voice agent testing pillar, and for full-duplex behavior, full-duplex voice agents.

The bottom line

VAD detects whether someone is speaking; endpointing decides when they have finished. Endpointing is built on VAD but is not the same thing — it adds timing and context to turn a speech-or-silence signal into a turn-taking decision.

Treat them as one and you get the classic bug: an agent that cuts callers off on a pause. Keep them separate, and endpointing becomes a decision you can tune and test rather than an accident of your silence timer.

Frequently asked questions

What is the difference between VAD and endpointing?

VAD, or voice activity detection, is a low-level signal that reports whether the audio contains speech or silence at each moment. Endpointing is the higher-level decision that the caller has finished their turn so the agent can respond. Endpointing usually uses VAD as an input but adds timing and context, so a moment of silence is not automatically treated as the end of the turn.

Is endpointing the same as VAD?

No. VAD detects speech versus silence; endpointing decides when a turn has ended. They are related because endpointing typically consumes the VAD signal, but they are not the same. Treating them as identical — using raw VAD silence as your end-of-turn rule — is the most common cause of an agent that interrupts callers on a natural pause.

Does endpointing use VAD?

Usually, yes. A simple endpointer watches the VAD signal and declares the turn over once silence lasts beyond a threshold. But good endpointing adds more: adaptive thresholds for the caller's pace and a semantic sense of whether the sentence is complete. So VAD is an input to endpointing, not a replacement for it, and endpointing is the decision layer built on top.

Why does my voice agent cut me off mid-sentence?

Almost always because its endpointing relies on raw VAD silence. When you pause to think, read a number, or breathe, VAD correctly reports silence, and a naive endpointer treats that as the end of your turn. The fix is smarter endpointing — a longer or adaptive silence threshold and a semantic signal — rather than changing the VAD itself.

What is voice activity detection used for?

Voice activity detection identifies whether incoming audio contains speech, moment to moment. In a voice agent it is a foundational signal used for endpointing, for deciding when to send audio to speech-to-text, for suppressing silence and noise, and for detecting when a caller starts speaking during barge-in. It is a building block that several higher-level decisions, including endpointing, are built on.

Can you have endpointing without VAD?

In practice, endpointing needs some way to know when speech is present and absent, which is what VAD provides, so most endpointers rely on it. What you can do is endpoint on more than VAD — adding semantic completion and adaptive timing so the decision is not purely silence-based. The goal is not to remove VAD but to stop its silence alone deciding the turn.

What is semantic endpointing?

Semantic endpointing uses the meaning of what has been said, not just silence, to decide whether the turn is over. If the sentence is grammatically incomplete or clearly mid-thought, the agent waits even through a pause that VAD flags as silence. Combined with VAD and a silence threshold, it reduces both premature cut-offs and long gaps by judging completeness rather than timing alone.

How do you test VAD and endpointing?

Test the endpointing decision, not just the VAD signal. Run scenarios with mid-sentence pauses, digit and spelling sequences, and slow speakers, and assert the agent waits rather than cutting in. Separately, confirm it responds promptly at genuine turn ends without long gaps. Measure premature-cutoff rate and end-of-turn latency together, under real audio, since both failure modes matter.

Related guides