Charlie Hedlin
2006-Jun-15 11:22 UTC
[Speex-dev] Will the echo canceler or preprocessor work with 10ms frames?
I am trying to use the speex echo canceler and preprocessor with sipXtapi to develop a sip user agent. the sipXmedialib call flow graph uses 10ms frames and I am not sure what the implications are if I try to change this. The documentation seemed to indicate that a 20ms frame was recomended, but it didn't go into the consquences of using other frame sizes. We are going to use headsets in production but there is still a subtle echo that goes away when the microphones are muted. I have been testing both with a headset and using a speaker and microphone. The preprocessor works for AGC (I have discovered my enviroment is too noisy for AGC, as the background it way too loud during periods of silence even with a noise canceling mic), but the denoiser seems to make the sound tinny and distorted at times. The echo canceler doesn't seem to work at all. What is the longest I can set the filter length to and still have it adapt in a reasonable time frame? I am using 80 sample frames and a filter length of 800 samples right now. Thank you, Charlie Hedlin
Jean-Marc Valin
2006-Jun-15 15:59 UTC
[Speex-dev] Will the echo canceler or preprocessor work with 10ms frames?
> The preprocessor works for AGC (I have discovered my enviroment is too > noisy for AGC, as the background it way too loud during periods of > silence even with a noise canceling mic), but the denoiser seems to make > the sound tinny and distorted at times.That's a side effect of it for now.> The echo canceler doesn't seem to work at all. What is the longest I > can set the filter length to and still have it adapt in a reasonable > time frame? I am using 80 sample frames and a filter length of 800 > samples right now.10 ms should work, but you could try with 20 ms. Try testecho to make sure it's not your code. Also, please read the echo canceller section of the manual (the one in the tarball, not the website). Jean-Marc
Charlie Hedlin
2006-Jun-19 11:32 UTC
[Speex-dev] Will the echo canceler or preprocessor work with 10ms frames?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Thank you for the information on the denoiser. Testecho helped me tremedously (I am using VS2005 and it wasn't in the proj files so I missed it) in prompting me to add recording hooks in and around my flow graph resource. I found that my speaker output was delaying the audio 210-225ms, so it was long out of the 100ms window. I added a queue for the speaker data to delay its use for 210ms and my problem has been solved. I was able to shorten the filter length to 50 ms to provide much faster training. <br> <br> I had fully read the echo canceler section of the documentation, as well as postings indicating that making the filter too long would result in the training taking to long. I just never imagined there was such a delay between the CallFlowGraph and actual speaker output on this software, and had never gone beyond a 200ms filter length.<br> <br> Thank you again,<br> Charlie Hedlin<br> <br> Jean-Marc Valin wrote: <blockquote cite="mid1150412380.20831.37.camel@idefix.homelinux.org" type="cite"> <blockquote type="cite"> <pre wrap="">The preprocessor works for AGC (I have discovered my enviroment is too noisy for AGC, as the background it way too loud during periods of silence even with a noise canceling mic), but the denoiser seems to make the sound tinny and distorted at times. </pre> </blockquote> <pre wrap=""><!----> That's a side effect of it for now. </pre> <blockquote type="cite"> <pre wrap="">The echo canceler doesn't seem to work at all. What is the longest I can set the filter length to and still have it adapt in a reasonable time frame? I am using 80 sample frames and a filter length of 800 samples right now. </pre> </blockquote> <pre wrap=""><!----> 10 ms should work, but you could try with 20 ms. Try testecho to make sure it's not your code. Also, please read the echo canceller section of the manual (the one in the tarball, not the website).         Jean-Marc </pre> </blockquote> </body> </html>