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
- 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.
- 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.
Metadata
Release files for rVADfast 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rvadfast-0.10.0.tar.gz | 18.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rvadfast-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.8 kB
Release files / rvadfast-0.10.0.tar.gz
| Download URL | rvadfast-0.10.0.tar.gz |
|---|---|
| Size | 18.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e1282877df975ac370ebdf571211adf04eb423601491807cb8996a3da80f127c
|
|
BLAKE2b-256 checksum How to use checksums |
a8d105568c36e0f580558cc11ac3a0250af9613d8e27bd3f94dd8d394d6a834f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logRelease files / rvadfast-0.10.0-py3-none-any.whl
| Download URL | rvadfast-0.10.0-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca2c35aa552db858c2eb3569a73d4964a45c6c189c3e204376b3dab88b691548
|
|
BLAKE2b-256 checksum How to use checksums |
586936244b960b8649a6943899a103fd5bb1e7ae0f6e13bf633a796afa791a7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency log