VoxRT/silero-vad-vxrt
Silero VAD on the VoxRT runtime
Silero VAD v5 packaged as a `.vxrt` file for the VoxRT on-device inference runtime. Same weights, same torch.hub snapshot the Silero Team ships — repackaged so it runs on our NEON-tuned Rust runtime on Android / iOS / Linux ARM SBCs, or via WASM SIMD128 in a browser tab, with under-1 % of one CPU core.
This is not our model. The weights and architecture are the Silero Team's, MIT-licensed. What we ship is the runtime that makes them fast on cheap ARM hardware plus the .vxrt container that the runtime consumes.
Runtime performance
Cumulative RTF (wall_time / audio_time, lower is better) at 32 ms per-frame, arm64 release builds, post-warmup:
At 3.05 % RTF on a mid-2020 midrange chip you can run dozens of parallel VAD streams on one core before saturating it. Live-mic deployments are the tested reference, not lab micro-benchmarks. Linux SDK on request; browser channel not yet published.
Model quality
Upstream Silero VAD v5. Multilingual, streaming, 32 ms hop. Sub-2 % miss rate on the Silero Team's own eval; independent third-party evaluations put it at the top of the free VAD field by 2024. Full model quality claims are Silero's — see github.com/snakers4/silero-vad.
Download & use
The .vxrt file on this HF repo is the same byte-identical artefact we publish at github.com/VoxRT/voxrt-silero-models/releases. Either source is fine.
You cannot load a .vxrt with transformers, onnxruntime, or any other standard HF library — it's a proprietary container that the VoxRT runtime reads. Use one of our SDKs:
- Android — `voxrt-silero-android` (JitPack)
- iOS — `voxrt-silero-ios` (Swift Package)
- Linux aarch64 — available on request (contact
help@voxrt.com) - Browser (WASM) — planned; the wake-word channel is already live at
@voxrt/wake-word-browser
Kotlin example
import com.voxrt.silero.VadEvent
import com.voxrt.silero.VoxrtSileroVadEngine
val vad = VoxrtSileroVadEngine.fromAssetFd(
context.assets.openFd("silero_vad.vxrt")
)
for (event in vad.processPcm(pcmChunk)) {
when (event) {
is VadEvent.SpeechOnset -> onSpeechStart(event.timeMs)
is VadEvent.SpeechOffset -> onSpeechEnd(event.timeMs)
}
}processPcm is synchronous and stateful — drive it from your capture thread; marshal events to UI via the usual Android mechanisms. Call vad.reset() between streams.
Licensing
- Model weights are Silero VAD v5, © Silero Team, MIT-licensed. Full text lives alongside the download and travels with every binary distribution.
- The `.vxrt` container format + VoxRT runtime are proprietary Wiseport Ltd. (trading as VoxRT) IP, redistributable in unmodified form as incorporated into applications or products that use the VoxRT SDKs above.
Attribution required by MIT:
Silero VAD, © Silero Team, MIT-licensed. github.com/snakers4/silero-vad
About VoxRT
VoxRT is a from-scratch on-device inference runtime tuned for streaming audio on commodity ARM CPUs — no GPU, no NPU, no vendor accelerator required. Sister products on the same runtime:
- Wake-word: ["Hey Assistant" model + custom-phrase tier](https://huggingface.co/VoxRT/wake-word-hey-assistant-vxrt)
- Streaming ASR: [NeMo FastConformer streaming-medium-pc](https://huggingface.co/VoxRT/streaming-medium-pc-vxrt)
Commercial integration / custom-model packaging: help@voxrt.com · voxrt.com
