Am Mittwoch, 21. November 2007 10:41:43 schrieb Alan Lord: > Damien Sandras wrote: > > That is a good idea. > > > > > > Notice we could also reuse echo cancellation algorithms from Asterisk. > > Hi, forgive the intrusion. > > I had a similar idea a week or so ago but am not a software engineer. I > built and installed Asterisk on my LFS (Linux From Scratch) server. I > have a cheap analogue PSTN (x100p) card and the standard EC with the > Zaptel modules didn't do much - echo was bad... > > I installed the OSLEC canceller from David Rowe > (http://www.rowetel.com/ucasterisk/oslec.html) which is simply a kernel > module that interfaces to the zaptel module. It is brilliant! Worked a > treat... > > On my desk I use the Polycom Communicator (a handsfree combined > mic/speaker) USB audio device. And although most of the EC and noise > suppression technology is apparently in their Windows only drivers, it > works "OK" on my Ubuntu Desktop, but I do have some problems with echo. > > I was wondering if it would be possible to use the OSLEC module in a > more "generic" way (perhaps within ALSA) so that it could be used to > provide EC services to almost any audio device or as a "driver" simply > for my Polycom C100s... Is this a sensible idea? One thing to understand is that there are two different types of echo cancellers - line echo and acoustic echo. Line echo exists when using analog interface cards. As analog equipment is connected via a single pair of wires, both near and far end signals are travelling on the same wires. Inside the handset/telephone/speakerphone, there is something called a "hybrid", which decouples both signals, but not perfectly. As the signals are travelling as an electromagnetic wave, almost at the speed of light, the echo path is quite short (for example, Inhouse, 50m of wire, 2/3 speed of light: 2*50m *3/2 / 3*10^8m/s = 0.5*10^-6s: half a microsecond, Branch exchange, 2*2km, 20 microseconds). So line echo is not a problem for voice applications, only for data (modems). Acoustic echo is quite different, as the signal comes from the loudspeaker, travels with the speed of sound (~300m/s -> 3ms/m), is reflected by the walls several times and reaches the microphone. As the echo patch is much longer, an echo canceller with many more filter taps is needed, able to compensate echo "tails" 500ms or even 4000ms long. OSLEC is an line echo canceller, able to cope only with very short echo pathes. It may be able to compensate acoustic echos resulting from microphones and speakers built into the same housing, which are thus strongly coupled on a very short path (<10cm). Bye, Stefan -- Stefan Brüns / Kastanienweg 6 - Zimmer 1206 / 52074 Aachen mailto:lurch gmx li http://www.kawo1.rwth-aachen.de/~lurchi/ phone: +49 241 169-4206 mobile: +49 160 3797725
Attachment:
signature.asc
Description: This is a digitally signed message part.