preprocess.c:
/* FIXME: This VAD is a kludge */
st->speech_prob =3D Pframe;
if (st->vad_enabled)
{
if (st->speech_prob > st->speech_prob_start || (st->was_speech
&& st->speech_prob > st->speech_prob_continue))
{
st->was_speech=3D1;
return 1;
} else
{
st->was_speech=3D0;
return 0;
}
} else {
return 1;
}
AND
case SPEEX_PREPROCESS_SET_VAD:
speex_warning("The VAD has been replaced by a hack pending a complete
rewrite");
st->vad_enabled =3D (*(spx_int32_t*)ptr);
break;
As you can see, it is a hack, not supposed to be very good. Still, weird that
you get
this result. If you want a sample to test it, check speexenc.c file in speex
source code package.
I usually implement this kind of feature outside of speex becauses I want a
better control
on how it happens and when to do something about it :)
Yanick Bourbeau
On 11-08-29 04:16 PM, Clifton Craig wrote:
+1 on this question as I wanted to start playing with it as well.
On Aug 29, 2011, at 9:41 AM, Shridhar, Vasant wrote:
I have been trying to understand how to get the VAD algorithm working. I sent
an input stream of all zeros into the preprocessor but still got a return value
of 1 indicating that speech was detected. Is this feature not available with
the latest release? I thought at the very least it would detect this as silence
and return 0 but that does not seem to be the case.
Does anyone have any information on how to use this or some example code to set
this up I might try.
Thanks,
Vas
_______________________________________________
Speex-dev mailing list
Speex-dev at xiph.org<mailto:Speex-dev at xiph.org>
http://lists.xiph.org/mailman/listinfo/speex-dev
_______________________________________________
Speex-dev mailing list
Speex-dev at xiph.org<mailto:Speex-dev at xiph.org>
http://lists.xiph.org/mailman/listinfo/speex-dev
_______________________________________________
Speex-dev mailing list
Speex-dev at xiph.org<mailto:Speex-dev at xiph.org>
http://lists.xiph.org/mailman/listinfo/speex-dev