What language or framework would you use to develop and test natively algorithms meant to be ported on an embedded hardware later? I am trying to find a nice clean solution to this problem since some days now, and couldn't make myself to stick to a solution.

I need to develop some stream and block processing for audio, including cascaded biquad, FT and iFT, FIR, dynamic correction. The whole audio chain will be embedded either in a DSP or on a ARM running Xenomai Linux.

What I am looking for is a way to quickly compile and test bits of codes, getting audio in and out, and in a language that will allow me to target a broad range of devices. (Would be C or Cpp surely).

I don't want to choose the definitive platform now because I don't know yet how much processing power will be required to make my full project runs.

Here are some tought:


I am using Gnu Octave but afaik it will not compile a real-time pipeline and the code is hardly portable.
I tried Audio Weaver from DSP Concepts (which is great) but the targets DSP are limited and the engine is proprietary.
I looked at Faust which is a very promising framework for audio (even able to generate Cpp code), but unfortunately it was designed with stream processing in mind and not meant to process blocks of data
I looked at some LabView + FPGA solution but the price and licensing is just WOW !
I looked at some IDE from Ti and AD but there also the price is too high.
Using a simple VST or ALSA framework might be ok but I don't really know where to start.
I finally settled on python, and here is why:

I had no reason to limit myself to a specific language or framework. The target plateform was not specified, but I needed to have proof of concepts for the project, and quick.

I choose python because of its versatility, the profusion of libraries, the speed over other scientific calculation packages, and the scientific community.

And so far so good.