[Speex-dev] Acoustic echo cancellation

Arun Raghavan arun.raghavan at collabora.co.uk
Tue Jun 21 11:39:12 PDT 2011

On Tue, 2011-06-21 at 20:18 +0200, Kadinger András wrote:
> 2011.06.21. 19:22 keltezéssel, Arun Raghavan írta:
> > Hi Andras, others,
> >
> > Andras Kadinger<bandit<at>  surfnonstop.com>  writes:
> >>
> >>      Daniel,
> >>      I recommend you to start from a simple case and gradually progress
> >>      towards your goal.
> >>      Can you make things work with the "Speex in a Disco" (Example 6)
> >>      testcase at http://ns.surfnonstop.com/~bandit/speex/echocard1/ ?
> >>      These files were captured via a stereo soundcard, so the channel
> >>      sample clocks are exactly synchronized, making for a simple baseline
> >>      testcase for AEC.
> > I'm trying to run current speex with your test program on these samples,
> > and while the quality is quite nice, it's not nearly as good as the
> > samples on that site. I tried to bisect git back to the SVN commits
> > mentioned there, but I get about the same results. Am I missing
> > something?
> Hi Arun,
> As far as I know the AEC algorithm should be deterministic - if you run 
> the same code, with the same settings, giving the same input, you should 
> be getting the same output.
> You seem to have made sure the issue is not dependent on version of 
> Speex (source code), you said you use my testprogram (same source code, 
> same settings) and my samples (same input).
> Difference could also be caused by differences in the translation from 
> source code to machine code. These differences could be caused by the 
> toolchain (e.g. compiler version); or they could be platform-specific 
> differences: differences in math architecture (e.g. integer vs floating 
> point math, precision of math, math bugs), or a different set of 
> platform-specific codeparts getting activated within the Speex source 
> (which no longer guarantees you and I were actually running the same 
> code, so could be a source of the difference).

Indeed. I was curious to know if you or anyone else is seeing these
differences as well.

> The samples were created in 2006 on x86/Linux Gentoo (sorry, I cannot 
> recall the compiler versions anymore).
> If you are trying on a different architecture, maybe try it on x86 too, 
> to see whether the issue is triggered by the different platform, and 
> then we have a starting point.

I'm also running this on x86 (x86_64, technically), and it's all
floating-point, so I guess this is a regression somewhere. Will try to
see if I can run it without any optimisations if possible, which I
assume should serve as an adequate reference.


More information about the Speex-dev mailing list