[Speex-dev] Re: aec

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Thu Nov 10 16:48:39 PST 2005


Had a try. The reason why a simple delay is not that good is mainly due
to the initialization of the filter parameter that still takes a few
seconds (if they are perfectly in sync, you sort of get lucky).
Otherwise, you real recording seems to have something odd in it. Are you
sampling from a different card then the one that's playing the sound? or
maybe the mic (or something else) in the room is moving while you're
recording?

	Jean-Marc


On Thu, 2005-11-10 at 07:28 -0800, Jason Harper wrote:
> When I ran test 4 as originally described there is
> substantial echo cancellation (but not as good as when
> the files are perfectly aligned).  When I invert the
> inputs, there is no noticeable cancellation.
> I'm using testecho with the preprocess line commented
> out.  Preprocess seems to work very well at cleaning
> up the residual echo when mdf does its job, so I'm
> just focusing on testing mdf.
> 
> -Jason
> 
> --- Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
> wrote:
> 
> > First try your test #4 (same signal and offset) and
> > swap the inputs.
> > 
> > 	Jean-Marc
> > 
> > Le mercredi 09 novembre 2005 à 22:44 -0800, Jason
> > Harper a écrit :
> > > I'm pretty much sure of it.  When I test inverting
> > the
> > > inputs, my output is pretty much the same as my
> > > speaker signal.  Whereas the way that I normally
> > test
> > > the output is my mic signal with very little
> > > attenuation.
> > > If you are interested I can send my test files;
> > they
> > > are about 94KB each.
> > > 
> > > -Jason
> > > 
> > > --- Jean-Marc Valin
> > <jean-marc.valin at usherbrooke.ca>
> > > wrote:
> > > 
> > > > Are you sure you're not just inverting the two
> > > > inputs?
> > > > 
> > > > 	Jean-Marc
> > > > 
> > > > On Wed, 2005-11-09 at 22:16 -0800, Jason Harper
> > > > wrote:
> > > > > I ran some further tests on mdf and here are
> > the
> > > > > results:
> > > > > 1. reduced tail length to 100ms, aligned mic
> > and
> > > > > speaker signals to within 10ms - almost no
> > echo
> > > > > attenuation
> > > > > 2. aligned mic and speaker signals to within 5
> > > > samples
> > > > > - still almost no echo attenuation
> > > > > 3. ran testecho using the same file for mic
> > and
> > > > > speaker - very good echo cancellation (of
> > course
> > > > this
> > > > > is expected, but I needed to do a sanity
> > check)
> > > > > 4. ran the same file for mic and speaker, but
> > had
> > > > the
> > > > > mic signal delayed by 10ms - OK echo
> > cancellation,
> > > > but
> > > > > noticeably degraded over previous test
> > > > > 5. same file for mic and speaker, but mic
> > signal
> > > > > delayed by 40ms - noticeable echo attenuation,
> > but
> > > > > still a large echo.
> > > > > 
> > > > > So far my testing is only showing good echo
> > > > > cancellation when the exact same file is being
> > > > used
> > > > > and is pretty closely aligned.
> > > > > 
> > > > > -Jason
> > > > > 
> > > > > --- Jean-Marc Valin
> > > > <Jean-Marc.Valin at USherbrooke.ca>
> > > > > wrote:
> > > > > 
> > > > > > This kind of behaviour is odd. One of the
> > reason
> > > > > > could be the fact that
> > > > > > you're using a really long impulse response.
> > Try
> > > > > > syncing your signals
> > > > > > and making the tail length more in the order
> > of
> > > > 100
> > > > > > ms to 300 ms.
> > > > > > 
> > > > > > 	Jean-Marc
> > > > > > 
> > > > > > Le dimanche 06 novembre 2005 à 21:25 -0800,
> > > > Jason
> > > > > > Harper a écrit :
> > > > > > > Thanks for alerting me to the new changes.
> >  I
> > > > just
> > > > > > > tried the latest code from SVN, but
> > > > unfortunately
> > > > > > I
> > > > > > > still have just about the same results. 
> > The
> > > > > > estimated
> > > > > > > echo that gets subtracted from the actual
> > echo
> > > > is
> > > > > > such
> > > > > > > a small signal that it doesn't really
> > result
> > > > in
> > > > > > any
> > > > > > > noticeable echo attenuation.
> > > > > > > I currently have my filter size set to 2
> > > > seconds
> > > > > > even
> > > > > > > though the echo in my microphone file is
> > only
> > > > > > about
> > > > > > > 180ms delayed from the signal in my
> > speaker
> > > > file. 
> > > > > > I
> > > > > > > also double checked that the endianess of
> > my
> > > > is
> > > > > > > correct, and that I am providing the files
> > to
> > > > > > testecho
> > > > > > > in the correct order.
> > > > > > > Do you think that there could be some
> > > > > > characteristics
> > > > > > > to my echo that make it not work with the
> > mdf
> > > > > > > algorithm?  How much echo attenuation
> > should I
> > > > > > expect
> > > > > > > from the mdf algorithm before the
> > preprocess? 
> > > > Are
> > > > > > > there any test speaker and mic files that
> > I
> > > > could
> > > > > > run
> > > > > > > against testecho to see how it handles
> > other
> > > > > > acoustic
> > > > > > > echos?
> > > > > > > 
> > > > > > > -Jason
> > > > > > > 
> > > > > > > --- Jean-Marc Valin
> > > > > > <Jean-Marc.Valin at USherbrooke.ca>
> > > > > > > wrote:
> > > > > > > 
> > > > > > > > I've recently made changes to the AEC.
> > > > Please
> > > > > > try
> > > > > > > > the code in SVN and
> > > > > > > > see if it works better.
> > > > > > > > 
> > > > > > > > 	Jean-Marc
> > > > > > > > 
> > > > > > > > Le jeudi 03 novembre 2005 à 22:36 -0800,
> > > > Jason
> > > > > > > > Harper a écrit :
> > > > > > > > > I've tried some further debugging to
> > see
> > > > what
> > > > > > mdf
> > > > > > > > is
> > > > > > > > > actually doing.  Instead of sending:
> > > > > > > > > tmp_out = (float)ref[i] -
> > > > > > st->y[i+st->frame_size]
> > > > > > > > > to the output, I just sent
> > > > > > > > > st->y[i+st->frame_size]
> > > > > > > > > to see what was being subtracted from
> > the
> > > > > > > > microphone
> > > > > > > > > input.  When I open this in Audacity,
> > I
> > > > see a
> > > > > > very
> > > > > > > > > small signal at about -40dBm.  The
> > actual
> > > > echo
> > > > > > in
> > > > > > > > my
> > > > > > > > > sample has a power closer to -20dBm. 
> > So,
> > > > when
> > > > > > the
> > > > > > > > > -40dBm estimated echo is removed from
> > the
> > > > > > -20dBm
> > > > > > > > > actual echo there is almost no
> > perceived
> > > > > > > > difference in
> > > > > > > > > the echo power.
> > > > > > > > > I'm sure that there are others on the
> > list
> > > > > > that
> > > > > > > > have
> > > > > > > > > had good success with the echo
> > > > cancellation
> > > > > > > > module. 
> > > > > > > > > Could anyone point me to reference
> > test
> > 
> === message truncated ===


More information about the Speex-dev mailing list