Hi all, I am attempting to test AEC behavior at various sample rates. I ran a little experiment: I recorded a 10 seconds voice clip and the resampled at 8000, 11025, 16000, 22050, 24000, 32000, 44100 and 48000. I have a small applications that plays a wave file, records whatever comes in from the microphone and applies the Speex AEC and preprocessor on the input. It then saves the raw input as well as the processed audio to different wave files. The EC is set up with a tail of about 200 ms and the EC sample rate is also set via the speex_echo_ctl intreface. I am also hooking up the EC to the preprocessor for additional echo reduction. What I observed is that 8K and 11.025K work very well, but the quality of the AEC degrades as the sample rate goes up. I am wondering if this behavior is normal. Has anybody tried to run the speex AEC at a rate different than 8K? Is there something I should be aware of? Thanks, Mihai -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2411 bytes Desc: not available Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20071210/f37bdedf/smime.bin
Try using SPEEX_ECHO_SET_SAMPLING_RATE to specify your sampling rate. Also, don't forget that the tail need to be longer (proportional to the sampling rate). Last thing, if you use resampling, make sure you use a decent resampler (the Speex one is fine) because otherwise, any aliasing left will not be cancelled. Jean-Marc Mihai Balea a ?crit :> Hi all, > > I am attempting to test AEC behavior at various sample rates. > > I ran a little experiment: I recorded a 10 seconds voice clip and the > resampled at 8000, 11025, 16000, 22050, 24000, 32000, 44100 and 48000. > I have a small applications that plays a wave file, records whatever > comes in from the microphone and applies the Speex AEC and preprocessor > on the input. It then saves the raw input as well as the processed > audio to different wave files. The EC is set up with a tail of about > 200 ms and the EC sample rate is also set via the speex_echo_ctl > intreface. I am also hooking up the EC to the preprocessor for > additional echo reduction. > > What I observed is that 8K and 11.025K work very well, but the quality > of the AEC degrades as the sample rate goes up. > > I am wondering if this behavior is normal. Has anybody tried to run the > speex AEC at a rate different than 8K? Is there something I should be > aware of? > > Thanks, > Mihai > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Speex-dev mailing list > Speex-dev@xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev
On Dec 10, 2007, at 5:11 PM, Jean-Marc Valin wrote:> Try using SPEEX_ECHO_SET_SAMPLING_RATE to specify your sampling rate. > Also, don't forget that the tail need to be longer (proportional to > the > sampling rate). Last thing, if you use resampling, make sure you use a > decent resampler (the Speex one is fine) because otherwise, any > aliasing > left will not be cancelled.Hi Jean-Marc, Thanks for your prompt reply. We are using SPEEX_ECHO_SET_SAMPLING_RATE to set up our EC with the correct sample rate and we also set a tail that is proportional to the sample rate. By the way, would having a tail length that is not a power of 2 impact the quality of the EC or just the CPU performance? We are using resampling but the resampling stage is set up before the EC. To be more specific, we decode, upsample, pass it to EC and then send it out to the hardware. On the way back in we do EC, preprocess, downsample back to 8K and encode. We use the speex resampler at VOIP quality (I believe that is 3). Do you see any potential issues with this setup? Is there anything else you would suggest we try? Thanks again, Mihai -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2411 bytes Desc: not available Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20071210/263a139c/smime.bin