Gaspard Bucher wrote:
>> I'm not quite sure *exactly* what it is you're trying to do here, but my
>> rough guess is that it's real-time multimedia. Judging by some of the
>> other things on the site -- support vector machines, BLAS, etc. -- I
>> think you probably know enough to code the whole thing in C or C++, and
>> if you can do so, that's what I'd recommend.
> 
> All the core parts are coded in C. I need a scripting language for the
> post-processing (simple low-pass filter, decision tree, instrument
> change depending on song position, etc).
> 
>> In fact, I'd recommend getting one of the Linux audio distributions,
>> like JAD or Studio 64, and getting the real "hard real-time" (as hard
>> real-time as Linux can get, anyhow) libraries up and running. I've
>> mostly looked at Studio 64 because I have a 64-bit machine, but JAD is
>> also good. Both are Debian Linux based and have special kernel patches
>> and other software for low-latency audio processing.
> 
> This would be great, but the machine has to include the
> sound-generating application (I bought mac-minis). If the latency is
> too bad, I might use Studio64 and send all the midi to a central
> "audio-generation" machine.
> 
> 
>> Lua is probably a good bit faster than Ruby, but I don't know how much
>> of the application has to be in the scripting language and how much in
>> close-to-the-metal C/C++. I really don't think you want a
>> garbage-collected language for this, although I'm sure it's possible to
>> use one if the heavy lifting is done in a low-level library.
> All long-time processing (SVM, PCA) will be done I C using the
> Accelerate framework (fast BLAS and LAPACK tuned for Inter
> processors).
> 
>> Speaking of low-level libraries, since you're looking at BLAS, LAPACK,
>> support vector machines, etc., you might want to install Atlas
>> (Automatically Tuned Linear Algebra Subroutines). They just released
>> 3.8.0 and it's hand tuned to most modern chips. On my dual-core Athlon64
>> X2 2200+ I've gotten close to 10 GFLOPS on 32-bit operations!
> I do not know if there is a difference between Accelerate framework
> and Atlas. I might install Atlas if I can gain some speed here.
> 
> Thanks for the reply, it seems like Lua will be better for the
> post-processing I need to do.
> 
> Gaspard
> 
> 

Ah ... Intel Mac Minis. I don't know Accelerate, but I know Clint Whaley 
and the rest of the Atlas people have wrung every possible gigaflop out 
of the recent Intel Core2 processors, so unless Accelerate has managed 
to find a cycle or two the Atlas team didn't spot, Atlas is probably the 
way to go.

What are you using to generate the audio? The built-in synthesizer in 
MacOS? I have absolutely no idea how the audio on a Mac works -- as 
you've probably guessed I'm a hard-core Linux geek.