Steve, I was actually hoping you would tackle this thread, thank you! :-)<br clear="all"><br><div>I am not a DSP guy and to be honest, I don&#39;t think I am much of anything guy, but I did some shallow study on AEC algos... It seems that the delay between the recording and the playback can also degrade the AEC performance considerably. I personally thought that the use of pablio and the lack o lower latency audio path on mod_pa would help make the speex AEC be completely useless...</div>
<div><br></div><div>I am not talking about bad performance, I am talking about doing nothing with the filters and making it even worse if you tweak too much... Now, I think that before we pursue a solution, we have to find the problem and that&#39;s the question I was going to ask you.</div>
<div><br></div><div>Can you point us towards the right direction? Skype is _very_ useable on a Mac and &quot;most&quot; windows machines I have used. On the mac they almost never fail... Are we able to achieve that type of quality? If we are able to, in which direction should we start going towards?</div>
<div><br></div><div>I honestly thought that replacing mod_pa completely was the solution at first (and creating some abstraction layer to plug in os dependent drivers such as coreaudio for mac or dx for windows directly into FS, thus reducing this delay of buffers such as pablio) but now I am almost convinced that it was never the problem. If we can decide that before anything else, I think we could make some progress.</div>
<div><br></div><div>Thank you,<div>Joćo Mesquita<br>
<br><br><div class="gmail_quote">On Sat, Jan 22, 2011 at 1:17 AM, Steve Underwood <span dir="ltr">&lt;<a href="mailto:steveu@coppice.org">steveu@coppice.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On 01/22/2011 02:22 AM, Mitch Capper wrote:<br>
&gt; I did look into AEC a bit, although one of the best options for me<br>
&gt; looked like the DirectX AEC support, but obviously this would be<br>
&gt; windows only.   There is oslec for linux which tries to do AEC at a<br>
&gt; driver level and is in the kernel.   The speex AEC processing does not<br>
&gt; look very complex<br>
&gt; (<a href="http://www.speex.org/docs/manual/speex-manual/node7.html" target="_blank">http://www.speex.org/docs/manual/speex-manual/node7.html</a> using<br>
&gt; speex_echo_playback/speex_echo_capture).   Of course easier said then<br>
&gt; done, and does require passing it the audio in the structure it<br>
&gt; expects.  One of my main concerns is I do not also know about how good<br>
&gt; the speex AEC processing is for it to be worthwhile and would be<br>
&gt; curious if it has been found to give good results in voip settings (as<br>
&gt; I only saw to the contrary).<br>
&gt;<br>
&gt; Finally, it probably hasn&#39;t been too high on my list due to the fact<br>
&gt; that I have been using my client with a headset so the need is not<br>
&gt; really there.<br>
</div>OSLEC is not an AEC. It is a line echo canceller, and very much<br>
optimised for that role. It would be useless for acoustic echoes.<br>
<br>
The AEC built into Windows and the speex echo canceller have a problem<br>
all echo cancellation is now suffering on modern PCs. Its a problem that<br>
keeps coming up on the speex mailing list. Like most echo cancellers<br>
they assume the mic and speaker sampling rates match. It turns out that<br>
with an increasing number of sound cards this is not the case. The<br>
sample rates are very similar, but they are not locked, and drift in<br>
relation to each other. This wrecks the performance of the echo<br>
canceller, and is not an easy problem to work around.<br>
<br>
That said, there are products, like skype, which *appear* to do a good<br>
job of echo cancellation. If you play around with skype, though, you&#39;ll<br>
notice it isn&#39;t actually echo cancelling. It seems to be adaptively<br>
juggling gains to give the appearance of clean duplex communication, and<br>
the result is fairly pleasing. I think it may be using a similar<br>
approach to the DSP Group duplex speakerphone chips from the early 90s.<br>
They were never quite as good as the kind of full AEC seakerphones I was<br>
developing around the same time. They did, however, give results far<br>
better than traditional simplex speakerphones using a DSP too<br>
underpowered to perform full echo cancellation.<br>
<font color="#888888"><br>
Steve<br>
</font><div><div></div><div class="h5"><br>
<br>
<br>
_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br></div></div>