M. Edward (Ed) Borasky
10/21/2007 10:18:00 AM
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.