[Speex-dev] Echo Cancellation Tail Length
Dimitri
vandyck_dimitri at hotmail.com
Fri Nov 30 02:21:39 PST 2012
Hi,
I trying to get the speex AEC working on an embedded linux device with an
arm926ej processor. At the moment it seems like disabling/enabling the AEC has
no impact, except for processing power (50% if AEC enabled, 10% if disabled).
I compiled with DUMP_ECHO_CANCEL_DATA and executed the echo_diagnostics.m with
the resulting audio fragments.
octave:4> echo_diagnostic('aec_rec.sw', 'aec_play.sw', 'aec_diagnostic.sw',1024);
Far end to near end delay is 1793 samples
This is too much delay, try delaying the far-end signal a bit
Drift estimate is 0.004001% (1 samples)
A drift of a few (+-10) samples is normal.
octave:5> echo_diagnostic('aec_rec.sw', 'aec_play.sw', 'aec_diagnostic.sw',1024);
Far end to near end delay is 1785 samples
This is too much delay, try delaying the far-end signal a bit
Drift estimate is -0.076024% (-19 samples)
There may be (not sure) excessive clock drift. Is the capture and playback done
on the same soundcard?
If I understand correctly, the AEC is not able to remove echo because the delay
(~1800 samples) is longer then the tail filter length (1024 samples).
Any suggestions on how to fix this problem?
Thanks,
Dimi
More information about the Speex-dev
mailing list