Voice Activity Detection (VAD)
Agent skill frombenchflow-ai/skillsbench
Detect speech segments in audio using VAD tools like Silero VAD, SpeechBrain VAD, or WebRTC VAD. Use when preprocessing audio for speaker diarization, filtering silence, or segmenting audio into speech chunks. Choose Silero VAD for short segments, SpeechBrain VAD for general purpose, or WebRTC VAD for lightweight applications.
How to install Voice Activity Detection (VAD)
install Voice Activity Detection (VAD)
# install the skillsbench pack with the skills CLI
npx skills add benchflow-ai/skillsbench# or add only this skill to Claude Code: copy the folder
tasks-extra/speaker-diarization-subtitles/environment/skills/voice-activity-detection/
# into
~/.claude/skills/voice-activity-detection/ (all projects)
.claude/skills/voice-activity-detection/ (one project)
tasks-extra/speaker-diarization-subtitles/environment/skills/voice-activity-detection/SKILL.md
Apache-2.0Full file1# Voice Activity Detection (VAD)23## Overview45Voice Activity Detection identifies which parts of an audio signal contain speech versus silence or background noise. This is a critical first step in speaker diarization pipelines.67## When to Use89- Preprocessing audio before speaker diarization10- Filtering out silence and noise11- Segmenting audio into speech chunks12- Improving diarization accuracy by focusing on speech regions1314## Available VAD Tools1516### 1. Silero VAD (Recommended for Short Segments)1718**Best for:** Short audio segments, real-time applications, better detection of brief speech1920```python21import torch2223# Load Silero VAD model24model, utils = torch.hub.load(25 repo_or_dir='snakers4/silero-vad',26 model='silero_vad',27 force_reload=False,28 onnx=False29)30get_speech_timestamps = utils[0]3132# Run VAD33speech_timestamps = get_speech_timestamps(34 waveform[0], # mono audio waveform35 model,36 threshold=0.6, # speech probability threshold37 min_speech_duration_ms=350, # minimum speech segment length38 min_silence_duration_ms=400, # minimum silence between segments39 sampling_rate=sample_rate40)4142# Convert to boundaries format43boundaries = [[ts['start'] / sample_rate, ts['end'] / sample_rate]44 for ts in speech_timestamps]45```4647**Advantages:**48- Better at detecting short speech segments49- Lower false alarm rate50- Optimized for real-time processing5152### 2. SpeechBrain VAD5354**Best for:** General-purpose VAD, longer audio files5556```python57…
Excerpt shown under the repository's Apache-2.0 license.
