CoolFace
Modelpublic

VoxRT/silero-vad-vxrt

sourceHugging Facemitupdated 11d agoView on Hugging Face
1likes
Model Card

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:

DeviceCPURTFper-frame latency
Xiaomi Redmi 9C (Android)Cortex-A733.05 %~1 ms / 32 ms
iPhone 13 Pro Max (iOS)Apple A151.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

kotlin
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