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.
Cheers,
Arun