Skip to main content

vadslice

Slices audio clips of speech into chunks of certain length in seconds at silence points so it doesn't cut in the middle of someone speaking. It uses VAD (voice activity detection from silero-vad) to determine these points of silence within the clip.

Uses ONNX runtime instead of PyTorch, avoiding the heavy PyTorch dependency while maintaining the same VAD accuracy.

It's extremely fast.

Installation

Requires Python 3.12+.

uv add vadslice

or pip:

pip install vadslice

Usage

CLI

vadslice <size> <input_file> <output_dir> [--format wav|mp3|ogg|m4a] [--silence-flush SECONDS]

Example:

vadslice 30 audio.mp3 ./chunks --format mp3

# Flush a chunk early if there's a 5+ second silence gap
vadslice 30 audio.mp3 ./chunks --silence-flush 5

Chunks are saved to output_dir/input_file_stem/chunk_XXXX_offset_XX.XXs.ext. --format is the output format.

Input: Supports any audio format that PyAV can decode (MP3, WAV, OGG, M4A, FLAC, etc.)

Python API

from vadslice import slicer

parts = slicer("audio.mp3", slice_length_s=30.0)

# Optionally flush chunks on long silence gaps
parts = slicer("audio.mp3", slice_length_s=30.0, silence_flush_s=5.0)

for i, part in enumerate(parts):
    print(f"Part {i}: Offset: {part.offset_s}s, Size: {len(part.part)} bytes")

The function slicer returns a list of AudioPart objects, each containing:

  • part: WAV bytes (16 kHz mono) for that slice
  • offset_s: Start time offset in seconds from the original audio

.

Metadata

Release files for vadslice 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vadslice 1.1.0
File Size Uploaded
vadslice-1.1.0.tar.gz 2.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for vadslice 1.1.0
File Interpreter ABI Platform
vadslice-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.9 MB

Release files / vadslice-1.1.0.tar.gz

Download URL vadslice-1.1.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
92e5f5ca7cceec27b141a358c0210da5df903bff3abe8c8f381e72d1339ab9f1
BLAKE2b-256 checksum
How to use checksums
cf34715983a8bd17358390de7f0af092a15bf951e0cfee293ffba3c4dee735c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / vadslice-1.1.0-py3-none-any.whl

Download URL vadslice-1.1.0-py3-none-any.whl
Size 2.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
82439643cb4724ac24f5ef7e6ba13629b5b576469177550658180ebb0b510bb7
BLAKE2b-256 checksum
How to use checksums
3096f8e7fe9bdabf0a37d4c06fdca8ad547ae08b395ff64ccb23257a245b203e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page