Faust (audio language)
More info
- Creator
- GRAME (Yann Orlarey et al.)
- Released
- 2002
- Type
- Programming language
- Website
- faust.grame.fr
- Source
- github.com/grame-cncm/faust
A functional language for signal processing in which programs are block diagrams, compiled down to efficient C++ or WebAssembly.
Faust (Functional Audio Stream) came out of the GRAME research centre in Lyon in 2002. A program describes how signals flow rather than what the machine should do step by step. Five operators are enough to wire blocks together: : in series, , in parallel, <: and :> to split and merge, ~ for feedback. process = _ : *(0.5); halves the volume.
The compiler emits C++, C, Rust, LLVM or WebAssembly, and wrappers turn the same source into a VST, an LV2, Max and Pure Data externals or a web page. Anyone who has written the same filter for four plug-in formats will see the appeal.