amsehili/auditok
An voice activity detection and audio segmentation tool
What it solves
auditok is a lightweight audio activity detection library that helps users find "where the sound is" in an audio stream. It solves the problem of manually splitting audio files into events, removing silence, or detecting speech segments without requiring heavy neural networks.
How it works
At its core, the library uses energy thresholding to split audio streams into events. It can determine the threshold manually or estimate it automatically using methods like "otsu" (balanced) or "percentile" (noise floor + margin). For more specific speech detection, it can optionally integrate with the WebRTC voice activity detector (VAD) as a frame-level decider.
Who it’s for
Developers working with audio processing, such as those creating voice activity detection (VAD) systems, silence removal tools, or audio segmentation for podcasts and language lessons, especially when speed and low computational footprint are required.
Highlights
- Flexible Input: Supports files, raw bytes, microphone input, and streams, including mono and multi-channel audio.
- AudioRegion API: A central data structure for easy slicing, combining, and exporting of audio segments.
- Automatic Thresholding: Adapts to different noise floors automatically, reducing the need for manual tuning per file.
- Command Line Interface: Provides subcommands for splitting, trimming, and normalizing pauses directly from the terminal.
- Jupyter Integration: Includes an interactive widget for visualizing and playing back detected audio regions in notebooks.
Related
- Project
- Project
- Project
- Project
- Project