<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>Hello
all,</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>I am attempting to
integrate the AEC algorithm from Speex into an RTP-based voice-over-IP
application. The application is supposed to operate on a TI C6412-based board,
using Code Composer Studio for development. Everything seems to be working, but
the problem is that there is no discernible difference in the output, whether
the echo cancel function is called or not.</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>Let me first give
more details about what I'm doing.</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>Since I'm only
interested in AEC (we use a simple a-Law for the audio compression), I created a
lib that only includes the following files, all from directory
\trunk\speex\libspeex:</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2>fftwrap.c<BR>kiss_fft.c<BR>kiss_fftr.c<BR>math_approx.c<BR>mdf.c<BR>misc.c<BR></FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>This appears to be
sufficient to call the speex_echo_* functions without a linker error. I define
the preprocessor symbols CONFIG_TI_C6X and HAVE_CONFIG_H. FIXED_POINT is defined
in ti/config.h (also from the trunk). I am using the latest files from svn, as
of last Thursday (Aug.10).</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>From reading the
documentation and this mailing list, it seems that I am doing things correctly.
I am using a sample rate of 8kHz and a frame size of 192 samples (24msec). When
looking at the graphs of the buffers I'm giving as inputs to
speex_echo_cancel, there </FONT></SPAN><SPAN class=804022810-14082006><FONT
face=Arial size=2>is a delay of about 350 samples (43 msec) between a noise
about to be output by the speaker (given as the echo_frame parameter)
and that same sound later picked up as an echo by the mic (given as
input_frame). I've tried filter lengths of 400, 800 and others, with no
noticeable difference.</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>The call to
speex_echo_cancel typically takes 4 to 5 msec, which seems reasonable. After the
algorithm has been running for a while, I can see within the code that
st->adapted = 1. The arrays st->W and st->PHI seem to be all
zeroes, which seems odd. I don't know where else to look to check
whether things are working properly.</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>Since as I said the
echo cancelling is not working, I have these questions:</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>1. Is there
anything in my setup that seems to be wrong?</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>2. Is this algorithm
tested to work on a C6x? (The included projects test the codec but not
AEC.)</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>3. Assuming
everything is fine up to now, what should I check to try and find out what's
wrong?</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial size=2>Thanks in
advance,</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2>-Itay</FONT></SPAN></DIV>
<DIV><SPAN class=804022810-14082006><FONT face=Arial
size=2> </DIV></FONT></SPAN></BODY></HTML>