<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:o = "urn:schemas-microsoft-com:office:office"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16481" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Jean,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I looked back at my notes and old code, and found
that, unfortunately, I never made a standalone Speex build for the C5509A
EVM. I replaced the audio codec on the board and lashed it
together with a couple of other development boards before Speex was ever
introduced. So, I cannot give you much more than a roadmap.
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The only "port" that is required is to replace the
sample and data file I/O in testenc_c5x.c with real audio and data
interfaces. </FONT><FONT face=Arial size=2>On the 5509A, everything fits
in internal memory, so I did not have to do much with the map. On the
C5502, you will have to do some planning on how to split between internal and
external memory.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I started by bringing up some sample
applications which were provided with the board (tone.c and
evm_app.c). One of these generates a tone and the other implements
an audio loopback with DMA (I ended up getting rid of the DMA). I did some
customization of the startup routine provided with the board, to turn off
options that I did not need. I vaguely remember having to modifiy some
other board support files, because of a memory model change, but I would need to
do some more checking to find the specific issue. You can contact me off
list if you end up using the same board, and I might have some more useful
information.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- Jim</FONT></DIV>
<BLOCKQUOTE dir=ltr
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=jquirion@orion.ns.ca href="mailto:jquirion@orion.ns.ca">Jean
Quirion</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=jim.crichton@comcast.net
href="mailto:jim.crichton@comcast.net">'Jim Crichton'</A> ; <A
title=speex-dev@xiph.org
href="mailto:speex-dev@xiph.org">speex-dev@xiph.org</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, July 20, 2007 1:57 PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Porting Speex on C5509A and CELP
Algorithm Documentation</DIV>
<DIV><BR></DIV>
<DIV dir=ltr align=left>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">Jim,</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">Thank you <SPAN
class=869485317-20072007>very much </SPAN>for your suggestions. I managed to
get the C55x code working on the simulator. I would like to port Speex both on
a C5502 EVM and a C5509A EVM. As such, if you can provide me with the details
of your port on the C5509A, it would be greatly appreciated. </P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">Furthermore, I am looking for
some technical documentation on the CELP algorithms. I would like to better
understand the math being implemented. Do you know where such documentation
can be found?</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">Sincerely,</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p> </o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">Jean Quirion</P></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Jim Crichton
[mailto:jim.crichton@comcast.net] <BR><B>Sent:</B> Thursday, July 19, 2007
10:54 AM<BR><B>To:</B> Quirion, Jean; speex-dev@xiph.org<BR><B>Subject:</B>
Re: [Speex-dev] How Can I Get involved in Speex Fixed-PointDevelopment?
<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><FONT face=Arial size=2>There is a port for the TI C55X, in the TI
directory of the source tree. This builds and runs directly on the TI
C55x simulator (Code Composer). I have run this on the Spectrum Digital
C5509A EVMPLUS board, by modifying some of the sample audio drivers (I could
provide some details if you chose that board). </FONT><FONT face=Arial
size=2>You can certainly get started in the simulator.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The Speex port does not include any assembly
optimization for TI, so that is an area that you might be interested in.
If you are considering the Speex echo canceller, that could greatly benefit
from a TI-optimized FFT. I have not used the preprocessor
myself.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>You should plan on providing external memory for
your DSP if you are doing more than the basic codec. Speex runs fairly
efficiently in C on TI DSPs, but it has a big footprint.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I hope this in helpful in getting started with
the DSP target. I will defer to Jean-Marc on how to contribute to the
project.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Regards,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Jim Crichton</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=jquirion@orion.ns.ca href="mailto:jquirion@orion.ns.ca">Quirion,
Jean</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=speex-dev@xiph.org
href="mailto:speex-dev@xiph.org">speex-dev@xiph.org</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, July 19, 2007 8:04
AM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> [Speex-dev] How Can I Get
involved in Speex Fixed-PointDevelopment? </DIV>
<DIV><BR></DIV>
<DIV><FONT face=Arial size=2>
<DIV style="DIRECTION: ltr">Hi,<BR><BR>My name is Jean Quirion and I am a
DSP engineer. Currently I am<BR>working on a project where it is desired to
implement a VoIP solution<BR>over a GSM GPRS link. I would like to use Speex
as the vocoder for<BR>this application. This application would require the
Speex<BR>encoder/decoder and possibly the pre-processor to run on a low
power<BR>fixed-point DSP such as a TI C55x.<BR><BR>Thus, I am interested in
getting involved in the fixed-point<BR>implementation of Speex. I feel I can
contribute significantly to the<BR>Speex project while effectively
developing a vocoder solution for my<BR>project.<BR><BR>Can you tell me how
I can get started? I looked at the list of tasks<BR>on the Seepx wiki and I
find that the following would be best suited<BR>for my
interests:<BR><BR>Complete fixed-point (DSP development)<BR>•
Rest of the narrowband modes<BR>• Preprocessor
(noise suppression, AGC)<BR>• Jitter
buffer<BR><BR>Please let me know how to move forward. Where does the Speex
vocoder<BR>fixed-point implementation stands? Has if been successfully
ported and<BR>tested onto a TI DSP evaluation board (i.e. an EVM)? If not,
and if it<BR>can be helpful, I would be interested in tackling that
task…<BR><BR>Sincerely,<BR></DIV>
<SCRIPT><!--
D(["mb","\u003cdiv style\u003d\"direction:ltr\"\>\u003cspan class\u003dsg\>\u003cbr /\>Jean Quirion\u003cbr /\>\u003c/span\>\u003c/div\>",0]
);
D(["ce"]);
//--></SCRIPT>
<DIV style="DIRECTION: ltr"><SPAN class=sg><BR>Jean
Quirion</SPAN></DIV></FONT></DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>Speex-dev mailing
list<BR>Speex-dev@xiph.org<BR>http://lists.xiph.org/mailman/listinfo/speex-dev<BR></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>