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:
| Device | CPU | RTF | per-frame latency |
|---|---|---|---|
| Xiaomi Redmi 9C (Android) | Cortex-A73 | 3.05 % | ~1 ms / 32 ms |
| iPhone 13 Pro Max (iOS) | Apple A15 | 1.85 % | ~0.6 ms / 32 ms |
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
.vxrtcontainer format + VoxRT runtime are proprietary Elephant Enterprises LLC IP. Redistribution is allowed as an unmodified part of 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
- Streaming ASR: NeMo FastConformer streaming-medium-pc
Commercial integration / custom-model packaging: help@voxrt.com
ยท voxrt.com