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