Usage guide
Setup, environment variables, and Python/JavaScript/Go usage examples.
SileroVAD
Voice activity detection with the open-source Silero model, running locally with no API key. Detects when the user starts and stops speaking, with tunable thresholds and timings. Needs no API key.Fields
int | None
default:"UNSET"
Sample rate of incoming audio in Hz. Leave unset to detect it automatically; set it only if the audio source cannot report its format. Defaults to None (not set).
Literal[8000, 16000]
default:"UNSET"
Rate the Silero model runs at, 8000 or 16000 Hz. Incoming audio is resampled to this rate. Defaults to 16000.
float
default:"0.4"
Speech probability, 0 to 1, at or above which a frame counts as speech. Raise it to ignore background noise. Defaults to 0.4.
float | None
default:"UNSET"
Speech probability, 0 to 1, needed to start detecting speech. Overrides threshold when set. Defaults to None (not set).
float | None
default:"UNSET"
While speaking, speech continues until the probability falls to this value, 0 to 1. Unset means start_threshold minus 0.15. Defaults to None (not set).
float
default:"0.3"
Seconds of continuous speech required before speech start is reported. Filters out short noises. Defaults to 0.3.
float
default:"UNSET"
Seconds of silence required before end of speech is reported. Higher values tolerate longer pauses. Defaults to 0.55.
float
default:"UNSET"
Seconds of audio kept before speech start, so the beginning of the first word is not clipped. Defaults to 0.5.
float
default:"UNSET"
Maximum seconds of speech audio held in memory for a single utterance. Defaults to 60.0.
bool
default:"UNSET"
Run the model on the CPU only, even if a GPU is available. Defaults to True.
float | None
default:"UNSET"
Maximum seconds of continuous speech before it is split into separate segments, at the longest pause if possible. Leave unset for no limit. Defaults to None (not set).
float
default:"UNSET"
Shortest pause in seconds that counts as a place to split long speech when max_speech_duration is reached. Defaults to 0.098.
bool
default:"UNSET"
Skip the model for very quiet frames, treating them as silence, to save CPU while nobody is talking. Defaults to False.
float
default:"UNSET"
Audio level (RMS, 0 to 1) below which frames are treated as silence when energy_filter_enabled is on. Defaults to 0.001.
Literal['ema', 'moving_average', 'none']
default:"UNSET"
How speech probabilities are smoothed across frames: “ema” (exponential average), “moving_average” or “none”. Defaults to ‘ema’.
float
default:"UNSET"
Weight of the newest frame when smoothing_strategy is “ema”, 0 to 1. Higher values react faster but are noisier. Defaults to 0.35.
int
default:"UNSET"
Number of frames averaged when smoothing_strategy is “moving_average”. Defaults to 5.
float
default:"UNSET"
Minimum audio level (RMS, 0 to 1) a frame needs to count as speech. 0 disables the volume check. Defaults to 0.0.
int
default:"UNSET"
Number of recent frames whose speech probabilities are kept for inspection or debugging. 0 disables history. Defaults to 0.
bool
default:"UNSET"
Run model inference on a separate worker thread so it does not block other audio processing. Defaults to False.
int | None
default:"UNSET"
Channel count of incoming audio. Leave unset to detect it automatically; set it only if the audio source cannot report its format. Defaults to None (not set).