I&#39;ll only add that in my experience, the echo canceller + echo suppressor removes significantly more of the echo than the echo canceller by itself. In our testing, the echo canceller by itself removed about 65% of the echo (which isn&#39;t good enough), and the echo canceller + echo suppressor removed about 90% (which is good enough for 1:1 conversations). <div>
<br></div><div>What was key to getting this to work (this was in Silverlight) was enabling a buffer to hold the recorded audio for about 200 ms before submitting it to the echo canceller. By default, the Speex pre-processor only holds it for about 20 ms, and we found that wasn&#39;t nearly long enough, at least in our particular environment. We tested a variety of different buffer lengths on a variety of different kinds of hardware, before settling on 200 ms as producing the best results on the widest range of systems. But of course, this was in Silverlight, which I strongly suspect adds a bit more latency than other environments, so 200 ms probably isn&#39;t the best if you&#39;ve got better direct access to the hardware. But I also suspect that 20 ms likely isn&#39;t the best either. It would actually be helpful if this were a configurable value in the Speex preprocessor. (Someone want to take that on? :-)<br clear="all">
<br>Ken Smith<br>Cell: 425-443-2359<br>Email: <a href="mailto:ken@alanta.com" target="_blank">ken@alanta.com</a><br>Blog: <a href="http://blog.wouldbetheologian.com/" target="_blank">http://blog.wouldbetheologian.com/</a><br>

<br><br><div class="gmail_quote">2011/5/24 Jean-Marc Valin <span dir="ltr">&lt;<a href="mailto:jmvalin@jmvalin.ca">jmvalin@jmvalin.ca</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The fact that the AEC takes a few seconds to converge is normal. The<br>
fact that it needs to completely re-converge in the middle of a call<br>
probably indicates that something went &quot;wrong&quot; in the audio<br>
capture/playback. For example, that could be an overrun/underrun in<br>
the soundcard buffer, or the user changing a volume control after the<br>
AEC, or moving the speakers, ... anything that changes the impulse<br>
response.<br>
<br>
    Jean-Marc<br>
<br>
Arun Raghavan &lt;<a href="mailto:arun.raghavan@collabora.co.uk">arun.raghavan@collabora.co.uk</a>&gt; a écrit :<br>
<div><div></div><div class="h5"><br>
&gt; Hello,<br>
&gt; We&#39;ve integrated the speex echo canceller into PulseAudio, and coupled<br>
&gt; with the AGC/denoiser, it works reasonably well and has been a breeze to<br>
&gt; plug in, so thank you!<br>
&gt;<br>
&gt; One thing we&#39;re seeing, though, is that the canceller seems to take some<br>
&gt; time (a few seconds) to &quot;learn&quot;, so initially the echo is clearly<br>
&gt; audible and it slowly fades out. This sometimes occurs in the middle of<br>
&gt; a call as well (the echo becomes loud again and fades away in a few<br>
&gt; seconds).<br>
&gt;<br>
&gt; With the echo suppressor enabled, the learning time seems to drop, but<br>
&gt; the final echo remains higher than without suppression, and is still<br>
&gt; sufficiently audible to be annoying.<br>
&gt;<br>
&gt; Is this known behaviour? Any clues w.r.t. what might be going wrong?<br>
&gt;<br>
&gt; Cheers,<br>
&gt; Arun<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Speex-dev mailing list<br>
&gt; <a href="mailto:Speex-dev@xiph.org">Speex-dev@xiph.org</a><br>
&gt; <a href="http://lists.xiph.org/mailman/listinfo/speex-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/speex-dev</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
_______________________________________________<br>
Speex-dev mailing list<br>
<a href="mailto:Speex-dev@xiph.org">Speex-dev@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/speex-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/speex-dev</a><br>
</div></div></blockquote></div><br></div>