[Speex-dev] Re: aec

Jason Harper jhharper1 at yahoo.com
Wed Nov 9 22:44:19 PST 2005


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
> files
> > > that
> > > > > are
> > > > > > known to work well in testecho.
> > > > > > I'd like to figure out if there is some
> > > > > characteristic
> > > > > > of my echo that makes it incompatible with
> > > this
> > > > > echo
> > > > > > cancellation algorithm, or whether there
> is
> > > just
> > > > > some
> > > > > > configuration problem in my
> implementation.
> > > > > > Thanks for your time; advice is greatly
> > > > > appreciated.
> > > > > > 
> > > > > > -Jason
> > > > > > 
> > > > > > ---
> > > > > > > I have incorporated the speex echo
> > > cancellation
> > > > > into
> > > > > > > my softphone project, but wasn't getting
> > > great
> > > > > > > results.  I decided to simplify the
> problem,
> > > by
> > > > > > > recording speaker and mic files and
> running
> > > > > > > testecho. 
> > > > > > > I've been pretty happy with the
> preprocess
> > > > > module
> > > > > > > and
> > > > > > > I wanted to focus on the mdf, so I
> commented
> > > out
> > > > > the
> > > > > > > call to preprocess in testecho.
> > > > > > > When I run testecho my output file looks
> > > almost
> > > > > > > identicle to my mic file.  I don't see
> any
> > > > > reduction
> > > > > > > in the power level of the echo.  I've
> looked
> > > > > through
> > > > > > > some of the previous posts to this group
> and
> > > > > have
> > > > > > > tried the obvious, such as increasing my
> > > filter
> > > > > > > length
> > > > > > > and reversing the order of the files
> passed
> > > into
> 
=== message truncated ===



More information about the Speex-dev mailing list