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.

The core component of Faust is its compiler. It allows to "translate" any Faust digital signal processing (DSP) specification to a wide range of non-domain specific languages such as C++, C, JAVA, JavaScript, LLVM bit code, WebAssembly, etc. In this regard, Faust can be seen as an alternative to C++ but is much simpler and intuitive to learn.

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.

The Faust Web IDE

Getting Started

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 Faust Examples.

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. 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 Prefer Video Tutorials

Check out the Faust Kadenze course.


Faust News

>> February 1, 2021: Faust Physical Modeling Workshop -- Online Event

Faust has been used for the physical modeling of musical instruments for many years now. Various tools have been developed recently to address the needs of various modeling techniques (e.g., finite difference scheme, waveguides, mass interaction, etc.).

The goal of this one day workshop was to provide a series of interactive one-hour tutorials on these tools as well as some background on their related modeling techniques.

It took place online on Feb. 1, 2021, 3-9pm GMT+1. Additional information about this event can be found here.

>> November 21, 2020: Programmable Audio Workshop (PAW-20) -- Online Event

With a combination of talks and workshops, PAW is an intensive day devoted to electronic sounds and programmable audio technologies! PAW-20 will be a fully online event. Information about the free registration process will be posted soon!

PAW 2019

>> December 1-2, 2020: International Faust Conference 2020 (IFC-20) -- Online Event

The Second International Faust Conference (IFC-20) will take place at the Maison des Sciences de l’Homme Paris Nord (Saint-Denis, France) on December 1-2, 2020. It aims at gathering researchers, developers, musicians, computer artists using the Faust programming language to present current works, creations and projects and discuss future directions for Faust and its community. The 2020 edition is organized by the CICM (Centre de Recherches Informatique et Création Musicale) / MUSIDANSE Lab / Université Paris 8.

IFC 2018

>> FAST Project: Fast Audio Signal Processing Technologies on FPGA

The FAST project will start in March 2021! It is funded by the Agence Nationale de la Recherche (ANR -- the French National Research Agency). It gathers the strength of GRAME-CNCM, CITI Lab (INSA Lyon), and LMFA (École Centrale Lyon) towards two goals:

  • facilitate the design of ultra-low latency embedded systems for real-time audio signal processing,
  • use such systems in the context of active control of acoustics.

Faust will play a central role in this project.