[Freeswitch-users] Portaudio Improvements

Steve Underwood steveu at coppice.org
Sat Jan 22 07:17:06 MSK 2011


On 01/22/2011 02:22 AM, Mitch Capper wrote:
> I did look into AEC a bit, although one of the best options for me 
> looked like the DirectX AEC support, but obviously this would be 
> windows only.   There is oslec for linux which tries to do AEC at a 
> driver level and is in the kernel.   The speex AEC processing does not 
> look very complex 
> (http://www.speex.org/docs/manual/speex-manual/node7.html using 
> speex_echo_playback/speex_echo_capture).   Of course easier said then 
> done, and does require passing it the audio in the structure it 
> expects.  One of my main concerns is I do not also know about how good 
> the speex AEC processing is for it to be worthwhile and would be 
> curious if it has been found to give good results in voip settings (as 
> I only saw to the contrary).
>
> Finally, it probably hasn't been too high on my list due to the fact 
> that I have been using my client with a headset so the need is not 
> really there.
OSLEC is not an AEC. It is a line echo canceller, and very much 
optimised for that role. It would be useless for acoustic echoes.

The AEC built into Windows and the speex echo canceller have a problem 
all echo cancellation is now suffering on modern PCs. Its a problem that 
keeps coming up on the speex mailing list. Like most echo cancellers 
they assume the mic and speaker sampling rates match. It turns out that 
with an increasing number of sound cards this is not the case. The 
sample rates are very similar, but they are not locked, and drift in 
relation to each other. This wrecks the performance of the echo 
canceller, and is not an easy problem to work around.

That said, there are products, like skype, which *appear* to do a good 
job of echo cancellation. If you play around with skype, though, you'll 
notice it isn't actually echo cancelling. It seems to be adaptively 
juggling gains to give the appearance of clean duplex communication, and 
the result is fairly pleasing. I think it may be using a similar 
approach to the DSP Group duplex speakerphone chips from the early 90s. 
They were never quite as good as the kind of full AEC seakerphones I was 
developing around the same time. They did, however, give results far 
better than traditional simplex speakerphones using a DSP too 
underpowered to perform full echo cancellation.

Steve





More information about the FreeSWITCH-users mailing list