<!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>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I looked back at my notes and old code, and found 
that, unfortunately,&nbsp;I never made a standalone Speex build for the C5509A 
EVM.&nbsp; I&nbsp;replaced the audio codec on&nbsp;the board and lashed it 
together with a couple of other development boards before Speex was ever 
introduced.&nbsp; So, I cannot give you much more than a roadmap.&nbsp; 
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</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.&nbsp; </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.&nbsp; 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>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I started by bringing up some sample 
applications&nbsp; which were provided with the board (tone.c and 
evm_app.c).&nbsp;&nbsp; One of these generates a tone and the other implements 
an audio loopback with DMA (I ended up getting rid of the DMA).&nbsp; I did some 
customization of the startup routine provided with the board, to turn off 
options that I did not need.&nbsp; 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.&nbsp; 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>&nbsp;</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>&nbsp;</o:p></P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt">Thank you&nbsp;<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>&nbsp;</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>&nbsp;</o:p></P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt">Sincerely,</P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p>&nbsp;</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.&nbsp; This builds and runs directly on the TI 
  C55x simulator (Code Composer).&nbsp; 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).&nbsp; </FONT><FONT face=Arial 
  size=2>You can certainly get started in the simulator.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</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.&nbsp; 
  If you are considering the Speex echo canceller, that could greatly benefit 
  from a TI-optimized FFT.&nbsp; I have not used the preprocessor 
  myself.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</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.&nbsp; Speex runs fairly 
  efficiently in C on TI DSPs, but it has a big footprint.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>I hope this in helpful in getting started with 
  the DSP target.&nbsp; I will defer to Jean-Marc on how to contribute to the 
  project.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Regards,</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Jim Crichton</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</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>• &nbsp; &nbsp; 
    &nbsp; Rest of the narrowband modes<BR>• &nbsp; &nbsp; &nbsp; Preprocessor 
    (noise suppression, AGC)<BR>• &nbsp; &nbsp; &nbsp; 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>