AnsweredAssumed Answered

Processing multiple (stereo) output channels at once?

Question asked by Martin Lesch on Jan 5, 2018


I'm sorry but I am new to the forum and have no experience with ARM platforms at all. I have just realized Arduino projects or other ones using SBC's like Raspberry, but for my upcoming project the STM32F4 mcu could possibly be the best choice.


The requirements for my project are:

Simultaneous audio playback of up to 4 (better: 6) stereo wav files from usb key!

I just need one jack for analog audio output, so the mixing of the audio channels should be done software based.

Another requirement is a best possible playback latency (response time). With other words: Every sound should be played as instantly as possible after requesting the playback for an arbitrary file. There will be hundreds of sound files (having very different lengths at a sampling rate of 44 or 48 KHz) that needs to be played disordered and instantly like the sounds on a piano or keyboard.


It was nice if I could support mp3 format for at least one sound channel, regardless of their resonse time which doesn't count here.


So my question is: What platform can I use? Is the STM32F4 able to fulfill that requirements, especially could it provide the needed performance for that task? I want to do the software stuff in c++.


A few more questions:

The STM32F4 discovery board provides an analogue audio jack, does anybody have experience with its sound quality?

How long is the boot time/initialization time of the STM32F4? Is it depending on the amount of used flash memory?

Do you think the software part (just for the described playback) will be very complex? Ok, maybe the last question may not be objectively answered...