This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Basic real time audio processing example with DMA

Other Parts Discussed in Thread: TMS320C5535

Hello experts,

I've purchased the TMS320C5535 eZdsp USB Kit, and managed to get the IDE and everything setup so I can already compile my own projects.

What I want to do next is to get a basic version of a real time audio processing app running.

It should record from the microphone, buffer the data. After I do some processing I want to send the data to some output buffer. If there is some delay on the order of tens of microseconds, that doesn't cause any problems for my application.

I've seen the examples, but they are all really basic, i.e. read one sample from I2S, do s.th. with it, and write it to the outpout on I2S. This won't work for my project because it is too inefficient. Is there a good starting point for a project that uses DMA to read from and write to the codec? If yes, would you please also point out the files in which the DMA setup and handling is done?

Looking forward to your replies,

Florian 

 

  • Sorry, minor correction: I meant to write tens of milliseconds not tens of microseconds.

  • Hi, 
    I am trying to do something similar. I want to take in 1024 samples of audio data,  FFT it, and do processing on the FFT result. Then I want to repeat the process indefinitely. Right now, the FFT takes too much time to process, so I hear audible gaps in the incoming audio. Anyone have any resolutions to this problem? It seems like a common problem that anyone wanting to process an FFT would run into, so it seems like there should be a simple solution. 

    The only thing I can think of is to have two audio and FFT buffers (all of size 1024), and fill the first buffer, and while the second audio buffer is being filled, calculate the FFT on the first filled buffer. Then calculate the FFT on the second audio buffer while refilling the first with new samples. But I have no idea how to do this parallel type processing because C code is sequential and this DSP processor runs sequentially. 

    Anyone have any ideas?  


    Thanks,
    Nate