How to decide what platform is best to implement real-time audio processing on? When developing products I do all of my algorithm design in Matlab. They are usually pretty basic, an IIR or FIR filter or two, a couple FFTs, etc. When it comes time to move it to an embedded environment I always have a hard time deciding what platform to run it on. I usually think of these (broad) platforms:


DSP core
FPGA
Microcontroller
ARM


What factors should I consider when trying to make this decision?
If you are keeping to "standard algorithms" like IIR, FIR, radix-2 or 4 FFT (ie stuff that fits DSP architectures well without much control flow), you can try this:

Count up how many "multiply accumulates" you need per second in all your algorithms.  


&lt; 10 million you can probably get a fast microcontroller to do the job (or even a slow one if you are &lt;1M)
&lt; 100M is easy DSP territory
&lt; 1G is likely to be doable fast DSP territory
1G-10G is where the cross-over between DSP and FPGA comes
> 10G is multiple DSPs or FPGA