[Speex-dev] Echo cancellation diagnostic code

William Zhang espzzh at gmail.com
Thu Mar 22 23:55:49 PDT 2007


Definitely! It tells me that my delay is fine but drifting is -15. I
use the same onboard sound
to record the near end and far end voice. So I can assume it should be fine?
But I don't see the any different between input and output the
echo_canceller function for this recording.
Maybe there is some nonlinearity issue there?  The link of this
file(Capture1.zip) is in
http://lists.xiph.org/pipermail/speex-dev/2007-March/005390.html
There is another record set in the file(Capture2.zip) which I got 141
sample delay and drift of 14.
I did not record this file so I don't know if it is from the same
sound card. The PC simulation
only gets about 10 to 15db ERLE.  It could be also a linearity issue.

On 3/22/07, Jean-Marc Valin <jean-marc.valin at usherbrooke.ca> wrote:
> > Thanks for the great work. It indeed helps to diagnose of echo
> > canceller and narrow down the
> > problem area.
>
> Good, so it worked for you?
>
> > I am not an expert in the signaling processing but I
> > wonder if it is possible
> > to add the linearity check in the echo_diagnostic function?
>
> Theoretically, yes. In practice, I'm not sure how accurate it would be.
> Do you have any samples you know have non-linear distortion?
>
>         Jean-Marc
>
> > Thanks,
> > William
> >
> > On 3/16/07, Jean-Marc Valin <jean-marc.valin at usherbrooke.ca> wrote:
> >> Hi everyone,
> >>
> >> I think this should be interesting to all of those with echo
> >> cancellation problems. I finally check in some code to make these
> >> problems easier to debug. You'll need to have svn version for this.
> >>
> >> First, you need to manually define DUMP_ECHO_CANCEL_DATA in the
> >> compilation (sorry configure switch for now). With that, the AEC will
> >> automatically save the near-end, far-end and output signals to files
> >> (aec_rec.sw aec_play.sw and aec_out.sw). These are exactly what the AEC
> >> receives and outputs.
> >>
> >> >From there, you'll need to start Octave and type:
> >>
> >> echo_diagnostic('aec_rec.sw', 'aec_play.sw', 'aec_diagnostic.sw', 1024);
> >>
> >> (the value of 1024 is the filter length and can be changed)
> >>
> >> There will be some (possibly) useful messages printed and echo cancelled
> >> audio will be saved to aec_diagnostic.sw . If even that output is bad
> >> (almost no cancellation) then you probably have a recording problem.
> >>
> >> Cheers,
> >>
> >>         Jean-Marc
> >> _______________________________________________
> >> Speex-dev mailing list
> >> Speex-dev at xiph.org
> >> http://lists.xiph.org/mailman/listinfo/speex-dev
> >>
> >
> >
>


More information about the Speex-dev mailing list