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 .vxrt container 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:

Commercial integration / custom-model packaging: help@voxrt.com ยท voxrt.com

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support