[Speex-dev] Sound card problem in acoustic echo
p_j_r_m
p_j_r_m at yahoo.com
Fri Jul 23 10:13:48 PDT 2010
I remember I had to expose the echo cancelation level implementing a get_echo_level( ) function based on this:
http://lists.xiph.org/pipermail/speex-dev/2008-September/006889.html
Using that value and averaging samples as "fedback" I did small corrections to sampling rate until convergence, although this not always worked.When it did, convergence was quite fast (seconds).
Resampling did not introduce noticiable CPU increase.But may be the small time used for conversions was the cause of non-convergence.I think this path is hard and uncertain, and now,i would dive first in DirectSound to try to obtain synchronized streams before passing them to speex.
Regarding ASIO, you have to install a special "driver" for it to work,and this seems unaceptable for general users.
--- El jue, 22/7/10, limaoquan2000 <limaoquan2000 at 126.com> escribió:
De: limaoquan2000 <limaoquan2000 at 126.com>
Asunto: [Speex-dev] Sound card problem in acoustic echo
Para: speex-dev at xiph.org
Fecha: jueves, 22 de julio, 2010 12:25
Thank you.
But it will cost you a long time to get the accurate play and capture frequencies.
Does your program test two frequencies of the sound card each time? Because
different sound cards have different frequency errors.
And the resampling program is also time consuming because the target frequency is
so close to the sampling frequency of the input signal, isn't it?
I have tested program based on Windows waveform functions and also DirectSound.
They have similar frequency error.
BTW: What's your conclusion of ASIO driver? Why "it was of no practical use"?
> I worked some time for a company doing AEC using Speex on Windows.It is true it depends a lot on sound card models. I remember I could do AEC by resampling frequencies so play and record frequencies where equal.Frequencies where aprox 100Hz appart.Also, I know that on other cases AEC was achieved by disabling FX DirectSound effects where it wasn`t possible before that.Try to disable all you don't need before calling Speex AEC function.
> Also, I tried the ASIO driver,as an experiment. I think it worked, but it was of no practical use.
网易邮箱,没有垃圾邮件的邮箱。
-----Adjunto en línea a continuación-----
_______________________________________________
Speex-dev mailing list
Speex-dev at xiph.org
http://lists.xiph.org/mailman/listinfo/speex-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20100723/e12ac211/attachment.htm
More information about the Speex-dev
mailing list