Skip to main content

VAD - simple voice activity detection in Python

This is a simple voice activity detection (VAD) algorithm in Python. It is based on simple energy-based thresholding and is intended to be used as a simple method for detecting speech in audio files when other methods cannot be used for both privacy, performance, or other reasons.

Installation

You can install the package using pip:

pip install vad

Usage

The package can be seamlessly integrated into your Python code. The following example shows how to use the package to detect speech in an audio file:

from vad import EnergyVAD

# load audio file in "audio" variable

vad = EnergyVAD(
    sample_rate: int = 16000,
    frame_length: int = 25, # in milliseconds
    frame_shift: int = 20, # in milliseconds
    energy_threshold: float = 0.05, # you may need to adjust this value
    pre_emphasis: float = 0.95,
) # default values are used here

voice_activity = vad(audio) # returns a boolean array indicating whether a frame is speech or not

# you can also use the following method to get the audio file with only speech
# speech_signal is a numpy array of the same shape as audio
speech_signal = vad.apply_vad(audio)

Audio samples

  • example.wav is a sample audio file that can be used to test the package.
  • example_vad.wav is the audio file with only speech after applying the VAD algorithm.
  • example_vad_2.wav is the audio file with only speech direcly extracted from the original audio file using the apply_vad method.
  • vad_output.png is a plot of the voice activity detected by the VAD algorithm.
  • test_vad.py is the script that was used to generate the above audio files and plot.

Known issues

  • There is no additional VAD algorithm implemented in this package at the moment. It may be added in the future.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vad-1.0.2.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vad-1.0.2-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file vad-1.0.2.tar.gz.

File metadata

  • Download URL: vad-1.0.2.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for vad-1.0.2.tar.gz
Algorithm Hash digest
SHA256 45f94be198842febf678bd9dbd5bf425d9e8ab59f8f1eb21e8d6e92e469bdce6
MD5 d900e9343179005f21b96d9675eb1df9
BLAKE2b-256 328db9aa2bddfcac4a455ea1543124b2545b197dde2f6749b3182045f0a4d4b9

See more details on using hashes here.

File details

Details for the file vad-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: vad-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for vad-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 80f59cd32c446e592e1b21373eb604304aee42b2e44bfef2b75a9b2d84a1f7a8
MD5 14b3d79e27af0f0f2c9a0f5b33170ccb
BLAKE2b-256 2deb44f99d15727e51ecfbdcbf69b8ef74de08dc5db93a7a430b0f9eeda08c6a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 files

1.0.1

2 files

1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page