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

Electron and Swift are the only SDKs with vad.reset().

Streaming from a microphone

Options

minSilenceMs is the one to tune. Too short and the assistant interrupts someone who paused; too long and it feels sluggish. prefixPaddingMs matters because detection lags the first syllable. Without padding, “hello” reaches the transcriber as “ello”. A desktop microphone in a quiet room needs a lower activationThreshold than a laptop’s built-in mic near a fan. If you support both, make it configurable rather than guessing.

Resetting

Detection carries state across frames. Reset between unrelated recordings:

You may not need this

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