Faust, the DSP language

Both a DSL and a low-level language; worth including in a category of its own.

FaustDSP is an academic functional programming language for DSP algorithms. Source is on github Multi-platform in the broadest possible sense: Write one bit of code, and run your algorithm embedded inside a diversity of other programs, such as MaxMSP/puredata/c++/VST/javascript… Comes with category-theoretic rationale, and an optional IDE. I could also file it under “patchers”, but the patcher-style visualisation is strictly isomorphic to the code version, so that’s not actually a negative for once.

It can also be controlled over the internet:

faust2jaqt - httpd mix4 . dsp
  • It’s not clear how you access buffers in faust at first glance. The keyword is table. See stream looper for one example and Mayank Sanganeria’s classic granulator for another.

    🏗 work out how to fill buffers from the disk via the hosting application (e.g. VST infrastructure.)