Tooluck logoTooluck
SKILL.md

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 file
1# Voice Activity Detection (VAD)
2
3## Overview
4
5Voice 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.
6
7## When to Use
8
9- Preprocessing audio before speaker diarization
10- Filtering out silence and noise
11- Segmenting audio into speech chunks
12- Improving diarization accuracy by focusing on speech regions
13
14## Available VAD Tools
15
16### 1. Silero VAD (Recommended for Short Segments)
17
18**Best for:** Short audio segments, real-time applications, better detection of brief speech
19
20```python
21import torch
22
23# Load Silero VAD model
24model, utils = torch.hub.load(
25 repo_or_dir='snakers4/silero-vad',
26 model='silero_vad',
27 force_reload=False,
28 onnx=False
29)
30get_speech_timestamps = utils[0]
31
32# Run VAD
33speech_timestamps = get_speech_timestamps(
34 waveform[0], # mono audio waveform
35 model,
36 threshold=0.6, # speech probability threshold
37 min_speech_duration_ms=350, # minimum speech segment length
38 min_silence_duration_ms=400, # minimum silence between segments
39 sampling_rate=sample_rate
40)
41
42# Convert to boundaries format
43boundaries = [[ts['start'] / sample_rate, ts['end'] / sample_rate]
44 for ts in speech_timestamps]
45```
46
47**Advantages:**
48- Better at detecting short speech segments
49- Lower false alarm rate
50- Optimized for real-time processing
51
52### 2. SpeechBrain VAD
53
54**Best for:** General-purpose VAD, longer audio files
55
56```python
57…

Excerpt shown under the repository's Apache-2.0 license.

More skills in skillsbench

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates