[Speex-dev] Re: Porting Speex on C5509A and CELP Algorithm
Documentation
Jim Crichton
jim.crichton at comcast.net
Fri Jul 20 13:02:18 PDT 2007
Jean,
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.
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. 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.
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.
- Jim
----- Original Message -----
From: Jean Quirion
To: 'Jim Crichton' ; speex-dev at xiph.org
Sent: Friday, July 20, 2007 1:57 PM
Subject: Porting Speex on C5509A and CELP Algorithm Documentation
Jim,
Thank you very much 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.
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?
Sincerely,
Jean Quirion
------------------------------------------------------------------------------
From: Jim Crichton [mailto:jim.crichton at comcast.net]
Sent: Thursday, July 19, 2007 10:54 AM
To: Quirion, Jean; speex-dev at xiph.org
Subject: Re: [Speex-dev] How Can I Get involved in Speex Fixed-PointDevelopment?
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). You can certainly get started in the simulator.
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.
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.
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.
Regards,
Jim Crichton
----- Original Message -----
From: Quirion, Jean
To: speex-dev at xiph.org
Sent: Thursday, July 19, 2007 8:04 AM
Subject: [Speex-dev] How Can I Get involved in Speex Fixed-PointDevelopment?
Hi,
My name is Jean Quirion and I am a DSP engineer. Currently I am
working on a project where it is desired to implement a VoIP solution
over a GSM GPRS link. I would like to use Speex as the vocoder for
this application. This application would require the Speex
encoder/decoder and possibly the pre-processor to run on a low power
fixed-point DSP such as a TI C55x.
Thus, I am interested in getting involved in the fixed-point
implementation of Speex. I feel I can contribute significantly to the
Speex project while effectively developing a vocoder solution for my
project.
Can you tell me how I can get started? I looked at the list of tasks
on the Seepx wiki and I find that the following would be best suited
for my interests:
Complete fixed-point (DSP development)
. Rest of the narrowband modes
. Preprocessor (noise suppression, AGC)
. Jitter buffer
Please let me know how to move forward. Where does the Speex vocoder
fixed-point implementation stands? Has if been successfully ported and
tested onto a TI DSP evaluation board (i.e. an EVM)? If not, and if it
can be helpful, I would be interested in tackling that task.
Sincerely,
Jean Quirion
----------------------------------------------------------------------------
_______________________________________________
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/20070720/aa46e0bd/attachment.htm
More information about the Speex-dev
mailing list