[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