Material from the community

Here is a list of additional material contributed by the community of Faust developers or users.

Articles, Video and Blog Posts

Handling infinity and not-a-number (NaN) values in Faust and C++ audio programming

This post by Dario Sanfilippo discusses insights gained over a few years of audio programming to implement robust Faust/C++ software, particularly when dealing with infinity and NaN values.

Three ways to implement recursive circuits in the Faust language

This post by Dario Sanfilippo is about the implementation of not-so-simple recursive circuits in the Faust language.

Make LV2 plugins with Faust

This post by Nicola Landro is about making LV2 plugins with Faust.

Getting started with Faust for SuperCollider

This post by Mads Kjeldgaard is about using Faust with SuperCollider.

Get Started Audio Programming with the FAUST Language

This post by Matt K is about starting audio Programming with Faust.

Using Faust on the OWL family of devices

This tutorial focus on using Faust and on features that are specific to OWL and the OpenWare firmware.

I ported native guitar plugins to JavaScript (in-depth)

This post by Konstantine Kutalia is porting Faust coded Kapitonov Plugins Pack in JavaScript.

Using Faust with the Arduino Audio Tools Library

A blog about using Faust with Arduino Audio Tools.

Writing a Slew Limiter in the Faust Language

A video about writing a Slew Limiter in the Faust Language by Julius Smith.

Make an Eight Channel Mixer in the Faust IDE

A video about making an Eight Channel Mixer in the Faust IDE by Julius Smith.

Various Tools

Syntax Highlighting

Syntax Highlighting Files

This folder contains syntax highlighting files for various editors.

Sublime Text syntax

Sublime Text syntax file for the Faust programming language.

Faust-Mode

Major Emacs mode for the Faust programming language, featuring syntax highlighting, automatic indentation and auto-completion.

Faustine

Faustine allows the edition of Faust code using emacs.

faust neovim plugin

Plugin to edit Faust code in the hyperextensible Vim-based text editor neowim.

Code Generators

faust2pdex

Generator of Faust wrappers for Pure Data. This software wraps the C++ code generated by Faust into a native external for Pure Data. You obtain a piece of source code that you can use with pd-lib-builder to produce a native binary with the help of make. No knowledge of C++ programming is required.

Faust.quark

This SuperCollider package makes it possible to create SuperCollider packages (Quarks) containing plugins written in Faust code. With this, you can distribute plugins written in Faust and make it easy for others to install, compile or uninstall them. It also contains some simple interfaces for the faust and faust2sc.py commands used behind the scenes.

ode2dsp

ode2dsp is a Python library for generating ordinary differential equation (ODE) solvers in digital signal processing (DSP) languages. It automates the tedious and error-prone symbolic calculations involved in creating a DSP model of an ODE.

Features:

  • Support linear and nonlinear systems of ODEs
  • Support trapezoidal and backward Euler discrete-time integral approximations
  • Approximate solutions of implicit equations using Newton's method
  • Render finite difference equations (FDEs) to Faust code
  • Calculate stability of ODEs and FDEs at an operating point

Contributing

Feel free to contribute by forking this project and creating a pull request, or by mailing the library description here.