I am looking for a free command line (Linux) tool, or a python package, that checks an audio file (music) for voice/singing in it. I have a lot of music pieces; some are with singing and some are without. I am looking for some code that can analyze a music file and that can tell me, how much singing is in that music file, or if there singing at all, or something like that.

Suggestions welcome.

2 Answers 2


git clone https://github.com/wiseman/py-webrtcvad


This is a python interface to the WebRTC Voice Activity Detector (VAD). It is compatible with Python 2 and Python 3.

A VAD classifies a piece of audio data as being voiced or unvoiced. It can be useful for telephony and speech recognition.

The VAD that Google developed for the WebRTC project is reportedly one of the best available, being fast, modern and free.


I came across an open source Python project for VAD (Voice Activity Detection) which can be found here. This can be installed by running the following command:

git clone https://github.com/marsbroshok/VAD-python.git

Given an audio file, the system analyzes it and outputs detected speech regions as intervals of time. It is also simple to use and can easily be converted into a Python script which runs from the command line.

Here is some example code used to plot detected speech regions of a given audio file:

from vad import VoiceActivityDetector

filename = '/Users/user/wav-sample.wav'
v = VoiceActivityDetector(filename)


Hope this helps :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.