What is Faust?
Faust (Functional Audio Stream) is an open-source functional programming language designed specifically for realtime signal processing and synthesis of high-performance audio effects and applications. It was created by the Music Representations research group at GRAME - National Center for Music Creation in Lyon, France.
Faust allows developers to write high-level signal processing algorithms using a pure functional programming style. The key features and benefits of Faust include:
- Concise syntax and intuitive abstractions for signal processing
- Architecture-agnostic - output code supports a variety of platforms (desktop, web, embedded, etc)
- Just-in-time compilation through various backends (C++, C, Java, WebAssembly etc)
- Efficient auto-vectorization optimized for audio DSP
- Integrated with major audio plug-in formats like VST, Audio Unit, etc
Using the Faust compiler, the high level functional language can be translated into highly optimized C++ code tailored for a specific target architecture. Developers can create realtime audio processing and synthesis applications like virtual analog synthesizers, guitar effects pedals, audio filters, modulation effects, spectral analyzers and more with ease using Faust.
Overtone, Sonic Pi, Synthesine, Klangmeister, Nyquist, SuperCollider, negasonic, Wavepot, Evaluator, ChucK, AudioMasher, Csound, SOUL programming language, Gibber, Extempore are some alternatives to Faust.