{"library":"pyvad","title":"pyvad","description":"Pyvad is a Python wrapper for the `py-webrtcvad` library, designed for trimming speech clips from audio. It provides a simplified interface for Voice Activity Detection (VAD) functionality, allowing users to identify and extract voiced segments from audio data. The current version is 0.2.0, released in July 2022, with an infrequent release cadence.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pyvad"],"cli":null},"imports":["from pyvad import vad","from pyvad import trim"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import numpy as np\nfrom pyvad import vad, trim\n\n# Simulate audio data (e.g., 1 second of speech, 1 second of silence)\nfs = 16000 # Sample rate in Hz (WebRTC VAD supported rate)\nduration_speech = 1.0 # seconds\nduration_silence = 1.0 # seconds\n\n# Generate a simple sine wave for 'speech'\nt = np.linspace(0, duration_speech, int(fs * duration_speech), endpoint=False)\nspeech_data = 0.5 * np.sin(2 * np.pi * 440 * t) # 440 Hz sine wave\n\n# Generate silence\nsilence_data = np.zeros(int(fs * duration_silence))\n\n# Combine speech and silence\naudio_data = np.concatenate((silence_data, speech_data, silence_data)).astype(np.float32)\n\nprint(f\"Audio data shape: {audio_data.shape}, Sample rate: {fs} Hz\")\n\n# Perform Voice Activity Detection\nvact = vad(audio_data, fs)\nprint(f\"Voice activity array shape: {vact.shape}\")\n# vact will contain 1s for voiced segments, 0s for unvoiced\n\n# Trim silence from the audio\ntrimmed_audio, (start_idx, end_idx) = trim(audio_data, fs)\nprint(f\"Trimmed audio shape: {trimmed_audio.shape}\")\nprint(f\"Original audio length: {len(audio_data) / fs:.2f}s\")\nprint(f\"Trimmed audio from {start_idx/fs:.2f}s to {end_idx/fs:.2f}s, total {len(trimmed_audio)/fs:.2f}s\")\n","lang":"python","description":"This quickstart demonstrates how to use `pyvad` to perform Voice Activity Detection and trim silence from a simulated audio clip. It generates a sample audio array with speech and silence segments, then applies the `vad` and `trim` functions. The `vad` function returns an array indicating voiced/unvoiced segments, and `trim` returns the audio with leading/trailing silence removed, along with the start and end indices of the speech.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":null,"pypi_latest":"0.2.0","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":6.7,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":5.2,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":5.9,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":6.7,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyvad","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":7.2,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}