Repository navigation
Releases: AydinAdnan/PulseVAD
Releases · AydinAdnan/PulseVAD
Release list
v0.1.3 - ultra-lightweight package with pure-numpy frontend
pulsevad v0.1.3: ultra-lightweight release
this release slashes the package footprint from 69 packages down to only ~8 packages total, making pulsevad even lighter to install than Silero while maintaining bit-level numerical parity.
what changed:
- ultra-lightweight core dependencies:
cut default runtime dependencies from 13 heavy libraries down to 4:dependencies = [ "numpy>=1.24.0", "onnxruntime>=1.16.0", "scipy>=1.11.0", "soundfile>=0.12.1", ]
v0.1.2 - Updated metrics on various Indian languages
Full Changelog: v0.1.1...v0.1.2
v0.1.1 - Complete documentation & model usage guide
PulseVAD v0.1.1
This release bundles full PyPI project documentation, updated package metadata, and comprehensive usage guides for all pre-trained model flavors (ONNX, PyTorch TorchScript JIT, and embedded C header).
what's in this release
- Full pypi documentation: wired
README.mdinto package metadata so the entire guide, benchmark tables, and code snippets render directly on PyPI. - Bundled model matrix: wheels now explicitly bundle all 7 pre-trained model artifacts inside
pulsevad/data/:pulsevad_2.1k_int8.onnx(default 2.1 KB INT8 quantized model)pulsevad_2.1k.onnx(FP32 ONNX)pulsevad_2.1k.jit(TorchScript JIT for zero-ONNX PyTorch environments)pulsevad_2.1k.pth(PyTorch state dict)pulsevad_weights.h(standalone C header with INT8 arrays for microcontrollers)pulsevad_teacher_81k.onnx&pulsevad_teacher_81k.pth(81k teacher baseline)
- Detailed usage guides: added copy-pasteable examples in
README.mdfor:- ONNX Runtime (INT8 vs FP32 vs Teacher)
- PyTorch TorchScript JIT
- Real-time streaming chunk-by-chunk processing (200 ms causal window)
- Audio file timestamp segmentation (
get_speech_timestamps) - Embedded C firmware integration on ARM Cortex-M, ESP32, and STM32
- Benchmarks:
- Outperforms Silero v6 on windy audio (0.938 vs 0.934 AUC) and DNS synthetic noise (0.891 vs 0.873 AUC) at 145x smaller size.
- Outperforms NVIDIA MarbleNet on clean speech (0.976 vs 0.970 AUC) and windy audio (0.938 vs 0.910 AUC) at 43x smaller size and 3.1x lower latency.
- Validated across 10 global & Indian languages (FLEURS) with +0.029 higher macro average AUC over Silero in noise.
v0.1.0 - Initial release: 2.1k ultra-tiny VAD for edge deployment
PulseVAD v0.1.0
An ultra-compact, 2,118-parameter voice activity detector designed for microcontrollers and edge hardware (2.1 KB INT8). strictly causal with zero lookahead.
Highlights
- Ultra-tiny footprint: 2,118 parameters (2.1 KB as INT8, 8.5 KB as FP32).
- Drop-in c header: ships with
pulsevad_weights.hcontaining self-contained INT8 weight arrays and scales for embedded C/C++ firmware. - Silero-compatible python api:
from pulsevad import load_pulsevad, read_audio, get_speech_timestamps model = load_pulsevad(onnx=True, quantized=True) wav = read_audio("speech.wav") timestamps = get_speech_timestamps(wav, model)