Developing a Faust addon?

Faust (Functional Audio Stream) is a functional programming language for sound synthesis and audio processing with a strong focus on the design of synthesizers, musical instruments, audio effects, etc. created at the GRAME-CNCM Research Department. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards.

Would a Faust addon, allowing to deploy Faust DSP in OF projects (using the C++ generated code from a DSP program), or possibly embedding the libfaust compiler would be interesting for the OF community ?

2 Likes

Sounds great (although I am personally kind of used to Pure Data and ofxPd). :slight_smile:

Salut Stéphane!

Faust integration would definitely be of interest. There are different OF audio toolkits with different levels of integration, and I personally generally use Csound via an OSC interface (as I mostly need parametric control, and re-starting Csound in a terminal is quite fast so it’s OK – and not bad in terms of compartmentalization anyhow) but the tightness that would be provided by Faust would be great.

I must confess that I am not up to date with the Faust paradigm(s); the critical aspect would be to support as much dynamicness as possible, be it from an external source file (similar to GLSL + a file watcher that re-compiles on-the-fly as changes are saved) or programmatic object-based operations. Next critical aspect would be sharing parameters as transparently as possible.

Conversely it is interesting to think about what OF could bring to Faust, in terms of providing a malleable C++ GL-based event loop? there are so many permutations of this-embeds-thats these days… maybe I’m old-school, but I’m still somewhat of a sucker for a tight, polished chunk of locally-executable code (and @Jona don’t take that personally – the emscripten stuff is great!).

I am available to support an ofxFaust effort.

1 Like