From: Matthew C. <mc...@no...> - 2008-04-24 13:11:19
|
On Wed, 2008-04-23 at 23:46 -0400, Mihai Balea wrote: > On Apr 23, 2008, at 6:06 PM, Peter Grayson wrote: > > > Hi Matt, > > > > On Wed, Apr 23, 2008 at 4:39 PM, Matthew Crane <mc...@no...> > > wrote: > >> On Wed, 2008-04-23 at 13:57 -0600, Matthew Crane wrote: > >>> Hello all: > >>> > >>> I'm investigating how well the speex echo canceller works in the 2.1 > >>> branch of iaxclient. Whenever I turn on the speex AEC in our > >>> client, > >>> the audio that is sent by the client. > >> > >> Sorry... that last sentence should read, "...the audio that is sent > >> by > >> the client is almost completely unintelligible." > >> > >>> Has anyone tested the performance of the speex echo canceller with 8 > >>> kHz-sampled audio? > > > > I've got a patch that's been sat upon for quite a while now that > > begins integrating the new (or at least greatly improved) speex aec > > module (introduced in speex-1.2beta2) into iaxclient. I've been > > holding off committing these changes because the results have really > > only been verified to be good on Mac. However, I think this code goes > > in the right direction. Even when the AEC fails to cancel echo, it > > doesn't make things sound worse. > > You can actually find this code in branches/team/mihai/echocan. > As Pete said, performance is pretty good on Mac. On windows it seems > that it does not work, but at least it doesn't make things worse. > The reason seems to be related to crappines in Windows' audio APIs. > Performance on Linux has not been tested (at least not by me) > Anyways, bottom line is the code currently in trunk does not have > functioning AEC > Thanks Pete and Mihai. I'll have a look at the branch. For some reason, I assumed that the requirement for speex-1.2beta3 in the 2.1beta of iaxclient was because of AEC. :-) If I can verify that the latest speex AEC works well inside of iaxclient on linux, I might try getting one of the low-latency Windows portaudio implementations working. In regards to the wmme API, you're right -- it's unusable for AEC. -Matt |