[Speex-dev] Backup Echo Suppression

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Mon Jul 2 19:54:06 PDT 2007


Selon "Coffey, Michael" <mcoffey at avistar.com>:
> Millions of ordinary people have systems that do not meet your stringent
> specifications.
>
> It does not matter what OS you or I use. It's the customers for whom this
> work is done.

Come on. As far as I know (never tried), even Microsoft managed to make a media
player than doesn't skip avery few seconds. In any case, I'm telling you what I
wrote the code for. If it also works for your broken setup, good, if not I
suggest you write your own "residual-echo-because-of-broken-audio-setup
suppressor". This is not something I'm particularly interested in. There's just
too many ways people can screw up echo cancellation (non-linearities,
drop-outs, bad resampling, ...)

   Jean-Marc


> -----Original Message-----
> From: Jean-Marc Valin [mailto:Jean-Marc.Valin at USherbrooke.ca]
> Sent: Monday, July 02, 2007 6:35 PM
> To: Coffey, Michael
> Cc: speex-dev at xiph.org
> Subject: RE: [Speex-dev] Backup Echo Suppression
>
> Selon "Coffey, Michael" <mcoffey at avistar.com>:
> > Believe me; I've "played with" priorities and buffering.
>
> Then either you haven't played well enough or you're using a braindead OS.
>
> > Did you just say you have no idea how the Speex residual echo suppressor
> > works? If that is the case, can you tell me where I could get some
> > information about it?
>
> What I'm saying is that I've no idea how the residual echo suppressor reacts
> when it's used in a way it wasn't designed for (i.e. working around broken
> audio capture/playback).
>
>    Jean-Marc
>
> > -----Original Message-----
> > From: Jean-Marc Valin [mailto:jean-marc.valin at usherbrooke.ca]
> > Sent: Friday, June 29, 2007 7:38 PM
> > To: Coffey, Michael
> > Cc: speex-dev at xiph.org
> > Subject: Re: [Speex-dev] Backup Echo Suppression
> >
> > Coffey, Michael a écrit :
> > > I realize that the preprocessor echo suppression is not designed
> > > specifically to counter the effects of data loss. On the other hand, as
> > > much as I might like to, I do not have the option to "fix that problem
> > > for real." The sad truth is that some end users have systems that may
> > > drop samples, or do other unfathomable things, no matter what I do. I
> > > can not rewrite their drivers, firmware, or operating system. My job is
> > > to do the best I can in a difficult situation.
> >
> > Actually, there's still a lot you can do. You can reduce the amount of
> > sample drops by playing with the priority and the amount of buffering
> > you do. Also, there are sometimes ways to make sure that the drops don't
> > change rec/play synchronisation (the key is the sync, not the lost
> > samples). As for how the residual echo suppression works, I've no idea,
> > you need to try.
> >
> > > I initially assumed that the echo suppressor is similar to other echo
> > > suppressors (also called "nonlinear processors" or "loss controls").
> > > Those suppressors use cruder algorithms that exhibit artifacts but that
> > > may not depend on the fine time structure of the audio signals. Is this
> > > not true of the preprocessor echo suppressor?
> >
> > Not sure what other echo suppressors do. Some are actually designed to
> > act alone while others (like the Speex one) are designed only to
> > suppress the echo that was left by a first echo canceller.
> >
> > 	Jean-Marc
> >
> > > -mjc
> > >
> > > -----Original Message-----
> > > From: Jean-Marc Valin [mailto:jean-marc.valin at usherbrooke.ca]
> > > Sent: Tuesday, June 26, 2007 8:49 PM
> > > To: Coffey, Michael
> > > Cc: speex-dev at xiph.org
> > > Subject: Re: [Speex-dev] Residual Echo Suppression by the Preprocessor
> > >
> > > The residual echo suppression is supposed to be working decently well
> > > now. However, it's not designed to counter the effects of samples being
> > > dropped off the soundcard. You'll just need to fix that problem for
> > > real.
> > >
> > > 	Jean-Marc
> > >
> > >
> > >
> >
> >
>
>
>
>
>





More information about the Speex-dev mailing list