Energy-threshold VAD

Compare frame energy to background noise floor. Cheap, but fooled by stationary noise (fans, traffic). Acceptable for bandwidth savings; not for triggering ASR.

Advertisement

Neural VAD (Silero, py-webrtcvad)

Small CNN/RNN classifies frames. ~5-10ms per frame, near-zero false positives on stationary noise. Default in voice agents (LiveKit, Whisper streaming).

Advertisement

End-of-utterance detection

Silence duration after detected speech. Tune by language and intent: English commands ~500ms, conversational ~800-1200ms. Too short = cuts user off; too long = laggy agent. Often the highest-leverage UX tuning in a voice agent.