Skip to content
heliaEDGE
Reference
HELIA

silero_vad_params

Typed parameters of the Silero VAD v6 streaming model and its weight mapping; importable without Keras.

Machine-readable model

  • SILERO_VAD_V6_ONNXconstantMapping of every weight of the Silero VAD v6 model (build(SileroVadParams())) from the pinned v6.2.2 ONNX file.
  • MAPPINGSconstantWeight mappings for this family, by name.
  • SileroVadParamsclassSilero VAD v6 (16 kHz).
constant

Mapping of every weight of the Silero VAD v6 model (build(SileroVadParams())) from the pinned v6.2.2 ONNX file.

helia_edge/models/silero_vad_params.py:66

SILERO_VAD_V6_ONNX = WeightMapping(name='silero_vad_v6_onnx', source=SourcePin(uri='https://github.com/snakers4/silero-vad/raw/60b7ffa243625ebdc1070275a29f18c87843786a/src/silero_vad/data/silero_vad_16k_op15.onnx', sha256='7ed98ddbad84ccac4cd0aeb3099049280713df825c610a8ed34543318f1b2c49', format='onnx', note='v6.2.2, MIT. silero_vad_16k.safetensors in the same repository holds different weights.'), rows=(WeightRow(sources=('model.stft.forward_basis_buffer'), transforms=(Transpose(perm=(2, 1, 0))), layer='stft', weight='basis'), *_conv(0), *_conv(1), *_conv(2), *_conv(3), WeightRow(sources=('model.decoder.rnn.weight_ih'), transforms=(Transpose(perm=(1, 0))), layer='lstm', weight='kernel'), WeightRow(sources=('model.decoder.rnn.weight_hh'), transforms=(Transpose(perm=(1, 0))), layer='lstm', weight='recurrent_kernel'), WeightRow(sources=('model.decoder.rnn.bias_ih', 'model.decoder.rnn.bias_hh'), combine='sum', layer='lstm', weight='bias'), WeightRow(sources=('model.decoder.decoder.2.weight'), source_shape=(1, SileroVadParams().units, 1), transforms=(Reshape(shape=(SileroVadParams().units, 1))), layer='prob', weight='kernel'), WeightRow(sources=('model.decoder.decoder.2.bias'), layer='prob', weight='bias')))

Mapping of every weight of the Silero VAD v6 model (build(SileroVadParams())) from the pinned v6.2.2 ONNX file.

class

Silero VAD v6 (16 kHz).

helia_edge/models/silero_vad_params.py:10

SileroVadParams()

Silero VAD v6 (16 kHz). The geometry is fixed by the v6.2.2 weights; the options choose how the model computes it. Every option has the same weights (paths and shapes), so one mapping imports into each; Keras .weights.h5 files are keyed by layer class, so save one per option set.

attribute

stft

Python

helia_edge/models/silero_vad_params.py:38

stft: Literal['conv1d', 'conv_blocks'] = 'conv1d'

conv1d frames the reflect-padded audio with a strided convolution. conv_blocks convolves 64-sample blocks instead, with the right reflect padding folded into the last frame’s kernel, so the export is mirror-pad-free; it is exact in float.

attribute

magnitude

Python

helia_edge/models/silero_vad_params.py:39

magnitude: Literal['sqrt', 'max_projection'] = 'sqrt'

sqrt is the exact magnitude of each bin. max_projection is the largest of 9 projections of (|re|, |im|) onto directions from 0 to 90 degrees, within 0.25% in float32; it needs no square root, so the model exports to int16 activations.

attribute

helia_edge/models/silero_vad_params.py:40

encoder_tail: Literal['conv', 'live_taps'] = 'conv'

conv runs the last two encoder layers as convolutions. live_taps runs them as dense layers over the kernel taps that see real frames rather than padding; it is exact in float.