Skip to main content

rVADfast - a fast and robust unsupervised VAD

Project description

rVADfast

The Python library for an unsupervised, fast method for robust voice activity detection (rVAD), as presented in rVAD: An Unsupervised Segment-Based Robust Voice Activity Detection Method, Computer Speech & Language, 2020 or its arXiv version. More info on the rVAD GitHub page.

The rVAD paper published in Computer Speech & Language won International Speech Communication Association (ISCA) 2022 Best Research Paper Award.

The rVAD method consists of two passes of denoising followed by a VAD stage. It has been applied as a preprocessor for a wide range of applications, such as speech recognition, speaker identification, language identification, age and gender identification, self-supervised learning, human-robot interaction, audio archive segmentation, and so on as in Google Scholar.

The method is unsupervised to make it applicable to a broad range of acoustic environments, and it is optimized considering both noisy and clean conditions.

The rVAD (out of the box) ranks the 4th place (out of 27 supervised/unsupervised systems) in a Fearless Steps Speech Activity Detection Challenge.

The rVAD paper is among the most cited articles from Computer Speech and Language published since 2018 (the 6th place), in 2023.

Usage

The rVADfast library is available as a python package installable via:

pip install rVADfast

After installation, you can import the rVADfast class from which you can instantiate a VAD instance which you can use to generate vad labels:

import audiofile
from rVADfast import rVADfast

vad = rVADfast()

path_to_audiofile = "some_audio_file.wav"

waveform, sampling_rate = audiofile.read(path_to_audiofile)
vad_labels, vad_timestamps = vad(waveform, sampling_rate)

The package also contains functionality to process folders of audio files, to generate VAD labels or to trim non-speech segments from audio files. This is done by importing the rVADfast.process module which has two methods for processing audio files, namely process.rVADfast_single_process and process.rVADfast_multi_process, with the latter utilizing multiple CPUs for processing. Additionally, a processing script can be called from commandline-tools by executing:

rVADfast_process --root <audio_file_root> --save_folder <path_to_save_files> 
--ext <audio_file_extension> --n_workers <number_of_multiprocessing_workers>

For an explanation of the additional available arguments for the commandline tool you can use:

rVADfast_process --help

In /notebooks a concrete example on how to use the rVADfast package is found.

Note that the package is still in development. Therefore, we welcome any feedback or suggestions for changes and/or additional features.

References

  1. Z.-H. Tan, A.k. Sarkara and N. Dehak, "rVAD: an unsupervised segment-based robust voice activity detection method," Computer Speech and Language, vol. 59, pp. 1-21, 2020.
  2. Z.-H. Tan and B. Lindberg, "Low-complexity variable frame rate analysis for speech recognition and voice activity detection,” IEEE Journal of Selected Topics in Signal Processing, vol. 4, no. 5, pp. 798-807, 2010.

Project details


Download files

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

Source Distribution

rvadfast-0.0.4.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

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

rvadfast-0.0.4-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file rvadfast-0.0.4.tar.gz.

File metadata

  • Download URL: rvadfast-0.0.4.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for rvadfast-0.0.4.tar.gz
Algorithm Hash digest
SHA256 c23bb88fe908542fe994756ecc8eae794ec62f8ba683c4c171a1f74d115847c1
MD5 dbbf1a4d1f0536ac81dc9717979be423
BLAKE2b-256 1025c6187e565ba5b7ed529b703c772cd97690ece0ad7ad6aa4735baa5dd85e4

See more details on using hashes here.

File details

Details for the file rvadfast-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: rvadfast-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for rvadfast-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a55256a6e9056058b9a37d6b0b20ea54db85dae0ee1b2735dfcf25b3e03290be
MD5 96e63c54d02f80d9896255c72bf683cf
BLAKE2b-256 59b737190353b7c2badaa6c95806eaed5c9d47287d08c37fe9a7b9ba58bc6e04

See more details on using hashes here.

Supported by

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