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.