Re: pre-processor's residual echo suppression and AEC order
Andras Kadinger <[email protected]>
| Newsgroups | gmane.comp.audio.compression.speex.devel |
|---|---|
| Message-ID | <[email protected]> |
The echo canceller (AEC) should be run first on the recorded signal. Only do denoise and AGC and others after AEC - otherwise whatever you did (e.g. denoise, AGC, etc.) will only confuse the AEC. Look under http://ns.surfnonstop.com/~bandit/speex/echocard1/ example 6 to have an idea about what quality to expect. 2011.05.25. 14:49 keltezéssel, Bart Cerneels írta: > Hi, > > Arun and me are working on a echo-canceler module for pulseaudio build around > speex. When using the preprocessor's echo filter, specifically in combination > with denoise and AGC, it's unclear whether these have to run before or after > the AEC. > > Right now we've got one instance of speex_preprocessor doing AGC and denoise > running before the echo canceler; and a second for echo suppression after the > echo canceler. This seems to have effect, but we have not tested the total > quality of this configuration yet. > > In the code however preprocessor.c compute_gain_floor() both noise and echo > variables, suggesting these belong together in the same instance. > > So is speex_preprocess_run always supposed to be run *after* > speex_echo_cancellation, does it perhaps depend on which filter function is > enabled? > > Thanks > Bart > _______________________________________________ > Speex-dev mailing list > [email protected] > http://lists.xiph.org/mailman/listinfo/speex-dev