[Speex-dev] echo cancellation for analog lines

Jean-Marc Valin Jean-Marc.Valin
Mon Jun 14 10:00:38 PDT 2004


Look for the "/* Adjust adaptation rate */" comment in mdf.c. The
adaptation rate is st->adapt_rate, so you can always set it to zero when
needed. Maybe all you have to do is reduce it a bit and/or try doing
something better for crosstalk detection.


Le lun 14/06/2004 ? 07:25, Ard van Breemen a ?crit :
> Hi,
> I am currently working on a thin-client "low-cpu" usage telephone
> application.
> The current setup is that you can make phonecalls using an alsa
> supported usb headset and a smartlink based usb modem (a sweex
> usb modem, which -in large quantities- goes for 17.95 euro's)
> for analog lines.
> Unfortunately, it is really made as a modem and not for audio
> purposes, so, there is a pretty echo coming back.
> Using the speex echo cancellation software, I can reduce that
> echo. The echo cancellations at some times works so good that I
> can turn up the volume, and hear the silence and music at the
> other side while this side seems to be silent, where as a matter
> of fact, this side is continuously talking.
> (I make "recordings" at almost all points: the point where audio
> goes into the modem, the point where audio comes out of the
> modem, and the point where the audio goes to the headset)
> But this is only at the good moment.
> It goes something like this:
> The modem goes to offhook, and we get a dialtone.
> Then we softly insert some dtmf onto the outgoing audio
> And then we get the ringing tone.
> If the other side then decides to pick up, I can talk, and I can
> hear the dial tone modulated with the volume of my voice (or
> something like that).
> After 20 seconds, the dial tone vanishes, and my voice also is
> almost vanished, at that point it starts to work perfectly.
> At some moments (change of volume), the echo comes back.
> If I blow into the mic, causing a very loud volume going onto the
> phone line, the total volume gets less loud (after some crackling
> noises), and the echo cancellation seems to work ok.
> So now my question:
> The problems I'm getting looks to me like some sort of adaption
> to the current situation. Is it possible with the echo
> cancellation algorithms used in speex to freeze at some point the
> adaption of the filter, and only filter the echo using the
> "frozen" filter? This seems for me the fastest way out: to let it
> run some filter adaption when the thin client boots up, and then
> freeze it for the day.
> Or is it better to focus on the dial/ringing tone (or any other
> "pure" sinus for that matter)?
> Regards,
> Ard van Breemen.
> (Since the software is developed under a GPL, I will put the
> software on a website soon...)
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://xiph.org/cgi-bin/mailman/listinfo/speex-dev
Jean-Marc Valin
Universit? de Sherbrooke, Qu?bec, Canada
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message
=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e=2E?=
Url : http://westfish.xiph.org/pipermail/speex-dev/attachments/20040614/bc48a825/attachment.pgp

More information about the Speex-dev mailing list