A Functional Programming Language for Real Time Signal Processing
What is Faust?
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. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards.It is used on stage for concerts and artistic productions, in education and research, in open source projects as well as in commercial applications.
Thanks to a wrapping system called "architectures", codes generated by Faust can be easily compiled into a wide variety of objects ranging from audio plug-ins to standalone applications or smartphone and web apps, etc.
If You’re In a Hurry
If you’re in a hurry and just wanna have a look at how Faust programs look like, you can simply check the examples in the Examples tab of the upper menu of this website.
If You Wanna Get Started With Faust
If you’re looking for a step by step tutorial of approximately 2 hours that will walk you through writing simple Faust programs and give you an overview of what Faust can do, have a look at our Quick Start Tutorial.
If You’re Looking For the "Manual"
Faust’s syntax and features are thoroughly documented in the Faust Manual tab of the upper menu of this website. This resource contains hundreds of code examples and many short tutorials.
If You’re Looking For the Documentation of a Function In the Faust Libraries
The documentation of Faust’s standard libraries is automatically generated directly from the libraries’ source code.
If You’re Looking For Tutorials on Various Topics Around Faust
The Tutorials tab of the upper menu contains a wide range of tutorials on Faust ranging from using Faust to make audio plug-ins from scratch to designing new architectures for Faust. Similarly, the Workshops tab contains the handout of various workshops that were taught around Faust.
If You're Looking For Something in Particular
You can use the Search function of this website if you're looking for something specific.
Faust Kadenze Course
In 2018, Yann Orlarey and Romain Michon shot and online course on the Kadenze platform on "Real Time Audio Signal Processing in Faust." The videos of this course are free to watch online: https://www.kadenze.com/courses/real-time-audio-signal-processing-in-faust/info
- Julius Smith's online book series on audio signal processing which hosts dozens of Faust code examples: https://ccrma.stanford.edu/~jos/
- Romain Michon's Faust Tutorials: https://ccrma.stanford.edu/~rmichon/faustTutorials/
- Music 250a (Physical Interaction Design for Music) course which hosts various tutorials on Faust and hardware: https://ccrma.stanford.edu/courses/250a-winter-2020/
- Embedded DSP With Faust Workshop: https://ccrma.stanford.edu/workshops/faust-embedded-19/