[Speex-dev] Voice activity detection
Evgueni Tsygankov
eugenet at rusmex.com
Mon Feb 18 03:40:10 PST 2008
That was a user error (mine). Please disregard the previous question. Everything is working now.
Evgueni Tsygankov
www.sqlanswers.com
-----Original Message-----
From: speex-dev-bounces at xiph.org [mailto:speex-dev-bounces at xiph.org] On Behalf Of Evgueni Tsygankov
Sent: Sunday, February 17, 2008 5:05 PM
To: Jean-Marc Valin
Cc: speex-dev at xiph.org
Subject: RE: [Speex-dev] Voice activity detection
Thanks for your reply. I changed my code to:
if (speex_preprocess_run(preprocess_state, shortPointer) == 1)
{
speex_encode_int(enc_state, shortPointer, &enc_bits);
}
In the mobile version of the software, compiled against the mobile build of Speech, I get 1 and 0 based on whether the speech is detected. In the version of the software compiled against the Win32 version of Speex, speex_preprocess_run always returns 0. If I remove the IF statement, then I get voice transmission, so the mic is working. Is it something to do with VAD sensitivity?
Thanks,
Evgueni Tsygankov
www.sqlanswers.com
-----Original Message-----
From: Jean-Marc Valin [mailto:jean-marc.valin at usherbrooke.ca]
Sent: Friday, February 15, 2008 6:16 AM
To: Evgueni Tsygankov
Cc: speex-dev at xiph.org
Subject: Re: [Speex-dev] Voice activity detection
Just use the return value of speex_preprocess_run()
Cheers,
Jean-Marc
Evgueni Tsygankov a écrit :
> This must be a simple issue, but I cannot figure it out.
>
> I want to use VAD, but I don't know how to check if the actual frame has
> voice in it or not.
>
> So, in my code, I do:
>
> int tmp = 1;
> speex_preprocess_ctl(preprocess_state, SPEEX_PREPROCESS_SET_VAD, &tmp);
> speex_preprocess_ctl(preprocess_state, SPEEX_PREPROCESS_SET_DENOISE,
> &tmp);
>
> then later, for each frame
>
> speex_preprocess_run(preprocess_state, shortPointer);
>
> but how do I know if the frame contained voice? I tried
>
> if (preprocess_state->was_voice == 1)
> {
> ...Do voice present code...
> }
>
> But the compiler complains that was_voice is not defined, which, I
> assume, comes from the fact that preprocess_state is declared in
> speech_preprocess.h as struct SpeexPreprocessState_;
>
> How do I check the preprocessor for the presence of voice in a frame?
>
> Thanks,
>
> Evgueni
>
>
> _______________________________________________
> Speex-dev mailing list
> 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
More information about the Speex-dev
mailing list