[Speex-dev] voice activity detection

Tom Grandgent
Tue, 18 Jan 2005 08:16:43 -0000

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
else...

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.

Tom

Joachim Boomberschloss <boomberschloss@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.