From 1.2rc1 source code:
preprocess.c:
/* FIXME: This VAD is a kludge */
st->speech_prob = 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=1;
return 1;
} else
{
st->was_speech=0;
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 = (*(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
> http://lists.xiph.org/mailman/listinfo/speex-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.xiph.org/pipermail/speex-dev/attachments/20110829/221e7b09/attachment.htm