cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F4 Simple Audio Processing Using Record and Playback Example

saviphagura
Associate II
Posted on April 15, 2014 at 05:04

Hey all,

I'm working on a project where I have to process an audio signal in a few different ways. However, I have never done anything of the sort. I have been reading up into how to implement basics such as band pass filters and such in C, but am lost as to how to actually implement it. I have been using the ST provided Audio Playback and Record example to play a .WAV file from a USB drive. I was going through the ''waveplayer.c'' file and noticed where the data from the USB is stored into a buffer, and was wondering if I could grab that signal, process it, and then store it into the buffer. The part of the code I am referring to is:

if(buffer_switch == 0)
{
/* Play data from buffer1 */
Audio_MAL_Play((uint32_t)buffer1, _MAX_SS);
/* Store data in buffer2 */
f_read (&fileR, buffer2, _MAX_SS, &BytesRead);
buffer_switch = 1;
}
else
{
/* Play data from buffer2 */
Audio_MAL_Play((uint32_t)buffer2, _MAX_SS);
/* Store data in buffer1 */
f_read (&fileR, buffer1, _MAX_SS, &BytesRead);
buffer_switch = 0;
}

Could I take the data stored into the buffer, by ''f_read'', and process it as required before storing it in the buffer? If so, can anyone provide a quick high level example? As I mentioned I've never done anything of this sort before and am stuck as to where to start. If there is a better method, using this example, please explain it to me. I am using the STM32F4 Discovery board with IAR Embedded Workbench IDE. Thanks for the help!
1 REPLY 1
saviphagura
Associate II
Posted on April 15, 2014 at 20:30

Can anyone help at all, please?