voice_pipeline

Convert Discord voice PCM into VAD-filtered, Whisper-compatible audio.

1|Updated Mar 11, 2026
One-click install
npx skills add https://github.com/antonyfmunoz/OS --skill voice-pipeline
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: voice_pipeline
Source: https://github.com/antonyfmunoz/OS/tree/main/skills/tools/voice_pipeline
Command: npx skills add https://github.com/antonyfmunoz/OS --skill voice-pipeline

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill solves unreliable speech detection and noisy audio preprocessing by transforming Discord voice PCM into clean, VAD-filtered, Whisper-ready audio using a two-tier approach with deterministic and neural fallbacks.

Core Features & Use Cases

  • Two-tier Voice Activity Detection: Uses Silero VAD as the primary neural confidence-based detector and webrtcvad as a deterministic fallback when the neural path fails or is unavailable.
  • Noise/Music Gating for Better STT: Applies librosa spectral analysis (spectral flatness and zero-crossing rate) to suppress background music and reduce Whisper hallucinations.
  • Correct Audio Buffer Normalization: Uses numpy to reliably convert int16 PCM bytes → float32 normalized [-1, 1] and to maintain exact frame slicing requirements for VAD.
  • Discord-to-Transcription Integration: Designed for EOS Discord voice capture flows, including per-user buffering and silence-threshold flushing for utterance segmentation.

Use Cases: streaming Discord voice capture, tuning real-time transcription quality, improving robustness in noisy environments or music-heavy channels, and building or modifying audio buffers before downstream STT.

Quick Start

Use the voice_pipeline Skill to implement Discord audio capture preprocessing, apply two-tier VAD with music filtering, and output WAV/segments suitable for your Whisper STT stage.

Frequently Asked Questions about voice_pipeline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I preprocess Discord voice PCM for Whisper speech-to-text transcription?

Voice activity detection filters raw Discord PCM by using Silero VAD for neural confidence scoring and webrtcvad as a deterministic exact-frame fallback. This dual approach reliably isolates speech segments while discarding silence and background noise.

How do I stop background music from causing Whisper hallucinations during transcription?

Silero VAD serves as the primary neural confidence-based detector, while webrtcvad acts as a deterministic fallback when the neural path fails or is unavailable. This two-tier approach ensures continuous speech detection even in noisy environments or music-heavy channels.

How do I convert int16 PCM bytes to normalized float32 audio for VAD processing?

You can convert int16 PCM bytes to normalized float32 audio using numpy array conversion, scaling values to the [-1, 1] range. This normalization step maintains exact frame slicing requirements required by both Silero VAD and webrtcvad processors.

How do I segment individual user utterances from real-time Discord voice capture?

You can segment individual user utterances from Discord voice capture by implementing per-user audio buffering combined with silence-threshold flushing. VAD filtering isolates speech, and when silence is detected, the buffer flushes the segmented utterance for transcription.

What is the best way to handle unreliable speech detection in noisy Discord voice channels?

The best way to handle unreliable speech detection in noisy Discord channels is a two-tier VAD approach using Silero VAD for neural inference and webrtcvad for deterministic fallback, combined with librosa music gating to suppress background audio interference.