Hello, I am attempting to use Speex in an iPhone application and running into an issue. I got speex to compile by following these instructions: http://codeforfun.wordpress.com/2010/04/29/compile-speex-for-iphone/ Next, I was able to record some audio and play it back. I then inserted a call to the speex preprocessor and am passing all of the audio buffers I receive from Audio Queue Services (the iPhone/Mac audio streaming API) into speex_preprocess_run. The problem though is that speex_preprocess_run is returning a 1 regardless of whether I am speaking into the microphone or not. There is this output in the log when debugging my program: *warning: The VAD has been replaced by a hack pending a complete rewrite* Does this mean that VAD does not work at all in the processor in version 1.2rc1, or am I just using it incorrectly if I always get back a 1 (I suspect it's the latter, not the former). Any help would be greatly appreciated. Greg -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20101028/b98895e2/attachment.htm
Karl Nordstrom
2010-Nov-05 18:08 UTC
[Speex-dev] Problem with VAD in preprocessor on iPhone
Hi Greg, We have been able to get the VAD sort of working by significantly reducing the amplitude of the signal going into it. We watched the speech probability value as we reduced the amplitude of the input signal until seemed to be switching okay. In the end, the reduction was by a right shift of 9, i.e. a factor of 2^9. The switching is probably not as good as it could be and will need some attention to achieve a proper fix. The large shift indicates that something is wrong. As I understand it, the signal going into the echo canceller was not reduced (I wasn't the one that did the work). Not too useful but I hope it helps. Karl On 2010 Oct 28 14:26, Greg Lappen wrote:> Hello, > > I am attempting to use Speex in an iPhone application and running into > an issue. I got speex to compile by following these instructions: > > http://codeforfun.wordpress.com/2010/04/29/compile-speex-for-iphone/ > > Next, I was able to record some audio and play it back. I then > inserted a call to the speex preprocessor and am passing all of the > audio buffers I receive from Audio Queue Services (the iPhone/Mac > audio streaming API) into speex_preprocess_run. The problem though is > that speex_preprocess_run is returning a 1 regardless of whether I am > speaking into the microphone or not. There is this output in the log > when debugging my program: > > *warning: The VAD has been replaced by a hack pending a complete rewrite* > > > Does this mean that VAD does not work at all in the processor in > version 1.2rc1, or am I just using it incorrectly if I always get back > a 1 (I suspect it's the latter, not the former). > > > Any help would be greatly appreciated. > > > Greg > > > > _______________________________________________ > Speex-dev mailing list > Speex-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev