[Speex-dev] voice activity detection

Tom Grandgent tgrand at canvaslink.com
Tue Jan 18 08:15:49 PST 2005

Yes, you can use it independently by using speex_preprocess().  
This function can do noise removal, AGC, and VAD.  I've been 
using it to do all three and it usually works very well.  There 
can be a train going by outside, producing lots of sound that 
makes it through the noise filter, and yet the VAD knows it's 
not speech.

However, sometimes the VAD seems to get into a bad state and 
will either always indicate speech (even when the input is 
very nearly silent) or rarely indicate it such that the person 
has to shout to be heard.  When this happens, it never recovers, 
and I have to destroy and recreate the state to fix it.  I don't 
know what could be wrong... it probably works fine for everyone 

Also, be aware that there are probabilities that can be tweaked 
to alter the sensitivity of the VAD, as described in this post 
to the list awhile ago:

At 06:37 AM 5/18/2004, Steve Kann wrote:
>I don't seem to get that;  I suppose you've already changed the thresholds 
>to make things more sensitive though:
>This is what I have now in iaxclient; the first number is the "initial" 
>probability to go from not speech -> speech.  The second is to go from 
>speech -> not speech.  [the difference implements hysteresis].
>/*      if (st->speech_prob> .35 || (st->last_speech < 20 && 
>st->speech_prob>.1)) */
>      if (st->speech_prob> .30 || (st->last_speech < 20 && 
> st->speech_prob>.07))

Might be helpful for you.


Joachim Boomberschloss <boomberschloss at yahoo.com> wrote:
> Hello,
> I am wondering whether Speex's voice activity
> detection mechanism can be used independently of
> encoding and decoding speech, and how reliable it is
> in general. I need this kind of functionality for a
> project I am working on, and I was wondering if Speex
> provides it in a ready-to-use fashion, or if it
> requires modification of the source code. If so, I
> would be glad to consider doing this work for the
> benefit of others with some guidance (depending on
> complexity and usefulness).
> Thanks,
> Joe.

More information about the Speex-dev mailing list