[Speex-dev] Acoustic echo cancellation
Kadinger András
bandit at surfnonstop.com
Tue Jun 21 11:18:47 PDT 2011
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).
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.
More information about the Speex-dev
mailing list