VAD Interface
Every provider implements theVad interface:
Factory Function
microphone.vad.provider from the assistant’s audio options and returns the matching implementation. If no provider is set, Silero VAD is used as the default.
Provider Identifiers
Shared Parameters
All three providers use the same configuration keys:Model Files
VAD models are bundled in the Docker image at build time. For source builds, models are resolved from the source tree relative to each provider’s Go package directory.Docker
Models are copied into the runtime image and referenced via environment variables:From Source
When runninggo run cmd/assistant/assistant.go, each provider resolves its model path using runtime.Caller to find the source directory:
Silero and FireRed models are checked into the repository. TEN VAD requires the shared library to be installed or available in
LD_LIBRARY_PATH / DYLIB_LIBRARY_PATH.
To override model paths, set the environment variables:
CGO Dependencies
All VAD providers use CGO for inference:
The Docker base image (
rapidaai/rapida-golang) includes all CGO dependencies pre-installed. For local source builds, you need ONNX Runtime and the TEN VAD shared library installed on your system.
Providers
See the VAD concepts guide for detailed parameter tuning guidance and use-case recommendations.