This is interesting, but not convincing. I’m always on the lookout for new audio-specific languages, which is how I came to this video …actually I came here because Roli e-mailed me a link! But I don’t see any promises here that Faust (http://faust.grame.fr/) isn’t already delivering, today.
Faust already uses LLVM, already compiles faster than hand-tuned C code (as demo’d by CCRMA’s port of their Synthesis Toolkit), already ports to a vast number of platforms (including DSP chips) and cross-compiles to all the major languages, can already be live-demo’ed in a browser, et cetera. It’s also (IMHO) vastly more elegant and concise at describing DSP computation (once you wrap your head around it).
Julian seems to be very pleased with how concise, high level & clear his examples are, and I’m sure that’s true compared to other code he or others have had to write. But I’m pretty sure every one of these examples would be a great deal simpler & cleaner in Faust. You wouldn’t have to write a voice allocator for your synth, for instance, because Faust gives you that for free. Likewise you wouldn’t need to implement delay, reverb, filters, et cetera because the Faust libraries are rich with ones you can already use. But OTOH if you did want to implement it all, it’d still be much shorter, because you just describe the functions, and the compiler implements them. Delay, for instance, is a one-liner.
Am I missing something here? Or is Julian just not aware of Faust? (Or is Faust itself actually the secret sauce behind SOUL? That seems unlikely, but OTOH Faust is already fairly-well integrated with JUCE, so when Roli bought JUCE they got Faust support for free.)
Certainly the “getting your head around it” part of Faust takes some time. I can see that SOUL is very much a procedural, OO-ish, C+±based approach to coding sound. So are several other interesting and powerful sound languages. Whereas Faust is purely functional – but if there’s one type of coding that functional programming is ideally suited to, it’s signal processing.
Clearly I’m a big fan of Faust, but if there’s something that SOUL can do better, I’m all ears. I’m just not seeing the advantage yet. Am I missing something?