Downloads · 30 days
107
20% of all-time downloads
soniqo/Silero-VAD-v5-LiteRT
Silero-VAD-v5-LiteRT is a voice activity detection model from soniqo. Use it for the voice activity detection task on the model card, and read the license before you ship it in a product. It is set up for litert. The card lists the license as mit.
Lightweight on-device voice activity detection. 16 kHz, 32 ms chunks, explicit LSTM state I/O.
Downloads · 30 days
107
20% of all-time downloads
All-time downloads
540
Public
Repo size
1.3 MB
Likes
0
Public
Click a slice to open those files.
.tflite1.3 MB · 99%
From the Hugging Face model README
Lightweight on-device voice activity detection. 16 kHz, 32 ms chunks, explicit LSTM state I/O.
Part of the soniqo.audio speech toolkit — an open, runtime-portable stack for speech AI. This bundle is the LiteRT export, designed to plug into the abstract interfaces in
speech-core(C++ voice-agent orchestration library). Browse all LiteRT bundles in the soniqo LiteRT collection.
On-device voice activity detection for Android. 16 kHz, 512-sample chunks with explicit LSTM state I/O so the caller owns state across frames.
| Property | Value |
|---|---|
| Architecture | STFT Conv1d + 4-layer Conv1d encoder + LSTMCell + 1×1 classifier |
| Parameters | ~0.4 M |
| Format | LiteRT (TFLite) |
| Quantization | float32 |
| Sample rate | 16 000 Hz |
| Chunk size | 512 samples (32 ms) |
| Context | 64 samples prepended by caller each frame |
| File | Size | Description |
|---|---|---|
silero-vad.tflite | 1.26 MB | Full model, FP32 |
config.json | 1 KB | I/O signature |
Inputs:
audio [1, 576] float32 64 samples of context + 512 sample chunk
state [2, 1, 128] float32 (h, c) stacked
Outputs:
probability [1, 1] float32 voice probability [0, 1]
state_out [2, 1, 128] float32 next-frame LSTM state
Re-implemented as a pure nn.Module loading weights directly from the
upstream JIT checkpoint. Verified bit-exact output against the upstream
Silero VAD JIT on random inputs (max diff = 0.0).
val vad = Interpreter(loadModelFile("silero-vad.tflite"))
var state = FloatArray(2 * 1 * 128) // zeros on first call
var context = FloatArray(64) // zeros on first call
fun classify(chunk512: FloatArray): Float {
val audio = context + chunk512 // 576 samples
val inputs = mapOf(0 to audio.toDirectBuffer(), 1 to state.toDirectBuffer())
val outputs = mapOf(0 to prob, 1 to nextState)
vad.runSignature(inputs, outputs)
context = chunk512.copyOfRange(448, 512) // last 64 samples
state = nextState
return prob[0]
}
Upstream: snakers4/silero-vad (MIT).
STTInterface / TTSInterface / VADInterface / EnhancerInterface; LiteRT implementations plug straight into the interfaces.ASR / Transcription
VAD / Diarization
TTS / Voice Cloning
This bundle inherits the upstream model license (mit). See the
linked base_model repository for the full terms.