Views
No views yet
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 inspeech-core(C++ voice-agent orchestration library). Browse all LiteRT bundles in the soniqo LiteRT collection.
| 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 statenn.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).1val vad = Interpreter(loadModelFile("silero-vad.tflite"))
2
3var state = FloatArray(2 * 1 * 128) // zeros on first call
4var context = FloatArray(64) // zeros on first call
5
6fun classify(chunk512: FloatArray): Float {
7 val audio = context + chunk512 // 576 samples
8 val inputs = mapOf(0 to audio.toDirectBuffer(), 1 to state.toDirectBuffer())
9 val outputs = mapOf(0 to prob, 1 to nextState)
10 vad.runSignature(inputs, outputs)
11 context = chunk512.copyOfRange(448, 512) // last 64 samples
12 state = nextState
13 return prob[0]
14}STTInterface / TTSInterface / VADInterface / EnhancerInterface; LiteRT implementations plug straight into the interfaces.base_model repository for the full terms.