Skip to main content
RunAnywhere.vad answers “is someone talking right now”. It is what a voice interface uses to decide when a turn has ended.

Signatures

Streaming from a microphone

openStream is synchronous here and returns a handle you push frames into.

Streaming from an AsyncStream

Options

minSilenceMs is the one to tune. Too short and the model interrupts a person who paused to think; too long and the interface feels sluggish. prefixPaddingMs matters because detection lags the first syllable. Without padding, “hello” arrives at the transcriber as “ello”.

Resetting

Detection carries state across frames. Reset between unrelated recordings:

You may not need this

If you are building a spoken conversation, use the voice session. It runs VAD, transcription, generation, and speech together, with turn-taking and interruption already wired up.