Powered By Faust

This page lists the projects using Faust in different ways: musical pieces or artistic projects, plugins, standalone applications, integration in audio programming environments, development tools, research projects (possibly non musical), embedded devices, Web applications, etc.

201 Musical Synthesizer

We’re Critter & Guitari and we’re happy to announce our newest synthesizer: the 201! If you’re familiar with our other musical instruments such as the Pocket Piano, Organelle, Bolsa Bass, or Kaleidoloop, we hope you’ll see that the 201 fits right in with them: the 201 is fun, portable, and packed with a medley of musical magic!

Inside, the 201 uses a combination of Pure Data and Faust musical programming environments. Users are invited to modify or create new sound engines!

OneTrick SIMIAN

Crash into the 80s with an open source drum synth inspired by hexagonal classics like the Simmons SDS-V. Thumping kicks, punchy snares, and sizzling cymbals coalesce with its clacky claves and crunchy claps. Bring saccharine synthwave sauce to your sublime soundscapes or drop indelable pewww pewww tom toms into your new nu-disco. Get the source code containing Faust DSP.

CollisionDrive.lv2

CollisionDrive is modeled after the Horizon Devices Precision Drive, a modern overdrive pedal with a built-in noise gate, with DSP written in Faust.

MetalTone.lv2

Distortion Pedal simulation. MetalTone is modeled after the renowned BOSS MT-2 Metal Zone, a high gain distortion pedal with an advanced EQ section, with DSP written in Faust.

tamgamp.lv2

Tamgamp (Rhymes with: "Damage Amp") is a LV2 guitar amp simulator that provides two plugins, with DSP code developed with Faust:

  • Tamgamp - a plugin based on Guitarix DK Builder simulated chains.
  • TamgampGX - a plugin based on tuned Guitarix internal amplifiers implementation.

ReverbZen

A Reverb written with Faust and JUCE, based on SchroederReverberators. This reverb effect uses different stages. It splits input signal in parallel and uses different types of delaylines. Different filters are provided to get rid of unwanted resonances. Check out reverb.dsp file to get more detailed insight.

Wingie2

Wingie2 is a handheld stereo resonator that you can use as a development platform, and can be programmed with Faust.

Slowmo.lv2

A multiband slow gate with delay/echo. The C++ files for the effect are generated from Faust DSP files: Bandsplit.cc, Delay.cc and Volume.cc.

Vocoder App

Vocoder mobile app for Android made with Faust and its Smartkeyboard interface. This app was developed in the context of a project for the the Real Time Interaction and Performance exam (Sound and Music Computing MSc, Aalborg University, Copenhagen, 2020).

The paper A Faust-built Mobile Vocoder Instrument, included in the repo, provides more information on the algorithm, as well as the description of a case prototype.

Echoplex Ep-3 Simulator

This archive contains a virtual model of the Echoplex Ep-3 tape delay. The effect has been developed using Faust in the context of a project for the Sound Processing exam (Sound and Music Computing MSc, Aalborg University, Copenhagen, 2019).

The paper Faust Model of the Echoplex Tape Delay, included in the repo, provides more information on the algorithm.

faust2smartphone

faust2smartphone is a tool to generate interactive musical mobile application embeded Faust API.

DPF-Fadeli

An experiment with Faust Demo Library content as DPF plugins. Basically glueing a few different projects together, to compile Faust DSP programs in several plugins format: LV2, VST2, VSL3, clap:

  1. DPF
  2. faust
  3. faustpp
  4. faust examples

TR8CK

TR8CK is an experimental DAW/tracker with Faust live coding via faust2webaudio and UI powered by SolidJS.

GuitarD

It's a basic multi effects processor which follows a node based approach. Components are developed with Faust.

HISE

HISE is an open source framework for building sample based virtual instruments combining a highly performant Disk-Streaming Engine, a flexible DSP-Audio Module system and a handy Interface Designer. The implementation of the Faust integration was the result of a Google Summer of Code project done by Roman Sommer with the help of Christoph Hart as mentor.

MBStereophony

This is a simple implementation of a Regalia-Mitra filter bank using 3rd order Cauer low-pass filters as the base designs. There are four filter bank programs available which are described below. MBStereophony itself is a demo effect that down-mixes a stereo signal separately per frequency band.

Audiolab

A docker based DSP learning/Experimentation environment including:

  • Jupyter lab
  • FAUST
  • python 3.7 (at the moment. Depends on miniconda3 docker image)
  • FAUSTpy to run FAUST code inside jupyter
  • faustWidgets (to interactively control FAUST code )
  • librosa (for MIR and feature extraction)
  • scipy, pandas, numpy for general data science
  • sox (encoding, batch processing etc)
  • ffmpeg (encoding batch processing etc)
  • seaborn (more beautiful plots)
  • latex TODO (for exporting jupyter notebooks)

LR_Delay

A stereo delay plugin which emphasizes free (non beat-synced) controls for the individual channels. Built with Faust and JUCE.

Leslie speaker simulator

This archive presents a virtual simulation of the Leslie Speaker commonly found in Hammond electric organs. The digital effect has been developed using the FAUST programming language, and then ported into a VST-compatible format using the JUCE C++ framework.

cookiecutter-dpf-faust

A cookiecutter project template for DISTRHO Plugin Framework (DPF) audio effect plugins using FAUST for the implementation of the DSP pipeline. Look at the demo video.

DF Zita Rev1

A feedback-delay-network reverb plugin built with DPF and based on a FAUST library demo. Several other projects are developed using the same DPF/FAUST methothodolgy:

  • FAUST filters, a collection of virtual-analog filters from the FAUST standard library packaged as multi-format plugins via the DPF
  • SendMixer, a stereo channel strip plugin with one master gain and two pre/post-fader sends
  • Stereo Cross Delay, a stereo delay plugin with feedback and cross-mixing.

Theremotion

Theremotion is a virtual instrument inspired by the Theremin. Just like a Theremin, the position of your hand in the air controls the pitch and volume of the sound. However, you can also control much more dimensions of the sound with specific motions. With specific hand positions, you can control a low pass filter, a supersaw sound, a guitar sound and more. You can even make the instrument "stick" to a scale, making it much easier to control than a Theremin.

The hand tracking is provided by Ultraleap's Leap Motion Controller. The sound generation is created with Grame's Faust. The program is built with Rust.

Hypercurve

Hypercurve is a library allowing you to combine several curve algorithms into a single 2D envelope. It is designed to be used in audio applications, for people who know how to enjoy a finely shaped curve. As shown above, you can perfectly combine gaussian curve with diocles cissoid curve, and plenty of other curve algorithms. The library can be used in C++, Lua, Csound and Faust.

faust-mcp

This package provides a Pd abstraction mcp.pd (along with some helper abstractions and externals) which lets you control your Faust instruments and effects more conveniently with control surfaces utilizing the Mackie Control Protocol (MCP).

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.

Komet

Komet is a computer music / sound system by Mads Kjeldgaard written in SuperCollider and Faust.

Komet is a computer music system that makes advanced synthesis operations and composition easier. It auto generates thousands of synthesizer variations from simple recipes and offers a range of DAW-like features such as effect chains (like on channel strips) and other conveniences. It can work natively in stereo, multichannel or high order ambisonics mode with the flick of a switch, allowing the same compositions to be used in different sound systems.

Faug

A Minimoog Model D emulation with the DSP portion written in Faust and using JUCE framework. Moog + Faust = Faug.

Striso Studio

A virtual Web version of the Striso board, using the Faust WebAssembly compiled sythesizer code.

Sttera

A Software for Audio Recognition and Orchestration as Medium for Music Ritual. Faust WebAssembly library is used internally with the faust2webaudio project.

XUiDesigner

A WYSIWYG LV2 X11UI GUI creator tool. Provide a easy to use GUI generator tool to create X11 UI's for LV2 plugins. Currently only libxputty is supported, but the generated GUI C file could be used probably with other widget tool-kits as well, just a wrapper file is needed to translate the generated file to the needs of a toolkit.

XUiDesigner could now parse faust (.dsp) files and generate a full LV2 Bundle for them. A faust (.dsp) file could be given by the command-line parameter -f or simply by drag it on the Designer window. It will create all control widgets which you could then rework to your needs before you save your Bundle.

DSP Speech Processor

A Faust based DSP Speech Processor. Based on the Daz DSP v2.1 Speech Processor firmware, with improvements. Compiled into Webassembly format. Runs in a web browser!

Squaring Loop Synchronous AM ISB Demodulator

This demodulator uses a squaring loop to regenerate the AM carrier from the sidebands during signal fades. This allows it to maintain carrier lock even without a carrier! The squaring loop multiplies the signal with itself, causing a 2F carrier to be generated. Carrier + carrier = 2F. LSB + USB = 2F.

eurorack-blocks

The eurorack-blocks project allows to develop your own custom Eurorack module for either prototyping or fun in the comfort of your day-to-day IDE with the C++ or Faust language, or using the Cycling '74 Max environment, testing and debugging in a virtual Eurorack environment, and when ready, to auto-magically generate all the needed files to manufacture the eurorack module for you to use in a real Eurorack modular system.

GameLAN

GameLAN is a set of musical applications designed by Grame, National Center of Musical Creation. They are based on Faust technology and have been designed to be played using only the movements of the smartphone. No musical prerequisite, only your gestures will make you a musician!

Screamer

Version 1.0 is the accurate Faust reproduction of a VST plug-in written in 2003. In later versions, the parameter ranges is modified and some new functionality are added.

This signal mangler features a weird kind of overdrive (see source code for exact formula), a hard-clip distortion, LFO-modulated bit reduction and the possibility of calculating the modulo of a signal.

Typebeat

Typebeat is a virtual groovebox that’s entirely keyboard-operated. Typebeat draws inspiration from two computing environments. Effects are developped in Faust then generated as Rust modules.

AFDN-reverb

(High-Order) Ambisonics Feedback Delay Network Reverb. Code is developed in Faust and Max.

Karpsichord

A virtual harpsichord based on Karplus-Strong string synthesis, implemented in Faust and running in the Web.

Arduino Audio Tools

Some basic header-only C++ classes that can be used for Audio Processing provided as Arduino Library. A simple Interface class to use Faust with Arduino Audio Tools is provided. Code can be written using Faust.

Organelle

The Organelle makes it easy to explore new sounds and experiment with new ways of making music. It combines playful and intuitive controls with a powerful and flexible sound engine. The result is an instrument that is limitless in musical possibility and a joy to play.

At the heart of the Organelle's sound engine is a robust computer that runs patches. A patch allows the instrument to take on different forms. Onboard hardware for sound input and output and mappable knobs, keys and buttons enable patches to synthesize, sample, effect, and anything in between!

The Organelle can be programed with Faust as explained here and with this PD external using Faust.

Zrythm

Zrythm is a digital audio workstation designed to be featureful and easy to use. It offers streamlined editing workflows with flexible tools, limitless automation capabilities, powerful mixing features, chord assistance and support for various plugin and file formats. A set of Faust effects are compiled as LV2 plugins and included in the application.

Patches for the OWL Pedal/Eurorack Module

This is a collection of patches written or ported specifically for the OWL. Most of them were written using FAUST and if you want to modify them you'll need to have a working FAUST installation. C++ source code (the .hpp files) for the OWL can be generated by running the "updateFaustPatches.py" python script. Then you will need to rebuild the OWL firmware and upload it to the device.

Kiwi

Kiwi is a graphical programming environment dedicated to music and sound creation, such as Max or Pure Data softwares, but offering a real-time collaborative approach: Kiwi allows several distant users to work simultaneously on the same patch hosted online.

Kiwi is part of the French ANR-funded MUSICOLL project that unites the CICM and OhmForce. The main goal of this project is to study how collaboration can enhance the way digital audio music composition is taught and more generally how it can renew music creation practices and improve its workflow.

Faust DSP programs can be dynamically compiled as objects included in the patch. An extended presentation of the system can be found in this IFC 2020 paper.

Brainwave Virtual Instrument

The Brainwave Virtual Instrument (BVI) is an open-source software synthesizer built in the programming language Faust. Its purpose is to facilitate the exploration of electroencephalogram (EEG) and other brain data through sonification. Pre-recorded data is translated as parameter controls of the instrument in the form of Open Source Control (OSC) messages that are generated and streamed by a small python program.

The instrument can easily be distributed and compiled to different targets thanks to Faust’s flexibility. Frequency Modulation synthesis provides a comprehensive approach to textural parameters of sounds, so that musical composition and improvisation based on a creative use of brain data become feasible. This is exemplified by the Brainwave Etudes (BE), a series of compositions inspired by measurements of brain activity during different states of mind.

The BVI was created for two major purposes: on the one hand, to find musical structures that relate to each other in order to present an aesthetic proposal, and on the other, to create a tool that familiarizes scientists and researchers in the field of neuroscience with sonification techniques, and the exploration of brain activity through sound. An extended presentation of the system can be found in this IFC 2020 paper.

Mephisto

Mephisto is a transpiler for converting sound patches designed using the graphical computer music environment Pure Data to the functional DSP programming language Faust. Faust itself compiles into highly-optimized C++ code. The aim of the transpiler is to enable creating highly optimized C++ code embeddable in games or other interactive media for sound designers, musicians and sound engineers.

weather_organ

Weather Organ is a Faust instrument for manipulating sparse noise to imitate slowly-changing natural sound sources such as rain, wind, surf, fire, Geiger counters and volcanic activity, and to create interesting new textures of sound. It is the product of various discoveries made while using Faust to explore the definition, synthesis and experience of acoustic noise while, simultaneously using the exploration of noise as as focus for learning Faust.

Genius Eurorack Module

The Genius is the next evolutionary step for the OWL platform, and the first product released based on a Cortex M7 microcontroller. It runs the OWL firmware and so can be programmed with Faust. A demo running bells from thee physical library can be listened to here.

Dataflow Based FPGA Program Synthesis

A Yale-NUS BSc. (Hons) in Mathematical, Computational, and Statistical Sciences Capstone: an FPGA Program Generator written in Python that takes dsp-sig XML Dataflow Graphs created using FAUST to produce FPGA programs in VHDL.

DSPedal

DSPedal is a custom hardware platform for real-time sound effects. It is operated by few knobs, external expression pedal, couple of buttons and a small graphical LCD.

Processing effect is written in Faust programming language and compiled into C code. So far the Cortex M4 core clocked at 204 MHz has proven to be capable of executing relatively complex effects like wah, but effect-chaining quickly reaches the limits of processing power.

Tambura

Waveguide physical model of an Indian Tambura/Tanpura. This is a FAUST patch inspired by the Indian Tambura/Tanpura - a four string drone instrument, known for its unique rich harmonic timbre.

The model uses a few tricks to produce a Tambura-like sound, and should probably be referred to as a "pseudo" physical model, because it does not attempt to accurately recreate the physics of the string-bridge interaction. It includes a range of parameters selected to allow control of the qualities of the excitation/pluck, string behavior and sympathetic resonance. It can produce some beautiful evolving drones, which can vary from very synthetic to quite natural. The model can be tested here.

drumbox

drumbox is a fun and powerful drum synthesizer for your Android device. Start from a preset and tweak the sounds and appearance to make it your own. Freestyle on the drum pads, record a sequence or both...it's up to you!

Granola

Granola is a monophonic granular live feed processor. The grain processor is inspired by the Mutable Instruments Beads. The grain window shape control is inspired by the GR-1 Granular synthesizer from Tasty Chips Electronics. The DSP code is written in Faust.

fverb

A stereo variant of the reverberator by Jon Dattorro coded in Faust.

Sonification

This study has been developed as a proof-of-concept for data pattern sonification. We've implemented data pattern sonification using FM synthesis coded in Faust. Air pollution data, which is temporal, is retrieved from the server and is done pattern mining. Then pattern data sonification is done.

GULA Plugins

A collection of guitar effect LV2 plugins (The Vibey, The Splits, The Fades, SSaP Tone, Sweabed, Pequed, Peak audio to CV, LFO CV) with MOD Devices user interfaces.

limiterStereo

Yet another look-ahead limiter code in Faust. The novel aspect of this limiter is that it uses N cascaded one-pole filters for amplitude profiling, which improves smoothness in the first to N-1 order derivatives and reduces total harmonic distortion. This design uses four cascaded one-pole lowpass filters, following the cut-off correction formula (8.9) found in [Zavalishin 2012].

Web Audio Modules

Web Audio Modules are an open source framework facilitating the development of high-performance Web Audio plugins (instruments, realtime audio effects and MIDI processors). They can be developed using JavaScript and Web standards or compiled from C, C++ code, and domain-specific languages such as Faust or Csound. The Faust Web IDE contains an integrated GUI builder, read a tutorial here.

Kapitonov Plugins Pack

Set of 7 plugins for guitar sound processing, compiled in LADSPA and LV2 formats. Compatible with hosts such as Ardour, Qtractor, Carla, guitarix, jack-rack. The DSP of all of them is written in Faust.

tubeAmp Designer

Standalone software guitar processor, editor of *.tapf profile files for tubeAmp (KPP) and guitar amp profiler.

BioSignals

BioSignals is a data aquisition and processing device for EMG, ECG and EEG signals. Since it is using the OpenWare firmware, it can be programmed with Faust.

Scale it

Scale it is an open source program (written in graphical programming language Pure data and in Faust) that allows sonification of a signal distribution in real time. There are two different possibilities of sonification of the signal. One of the objects, tone, generates changes in pitch of a monophonic tone. The other object, chord, expresses the input value in width of polyphony.

Scale it is being developed primarily for neurofeedback purposes. To allow straightforward and customizable instruments to carry sonic feedback about EEG activity in specific regions of the neocortex.

JackTrip

JackTrip is a Linux, macOS, or Windows multi-machine audio system used for network music performance over the Internet. It supports any number of channels (as many as the computer/network can handle) of bidirectional, high quality, uncompressed audio signal streaming. Several DSP effects (compressor, freeverb, zitarev, limiter) are written in Faust, compiled as C++ code, and included in project sources.

Level Rider

This is an audio plugin written in Faust that automates gain level adjustments, based on a target gain level, a time window over which overall loudness is calculated via RMS, and a maximum adjustment threshold.

This plugin is comparable to Waves Vocal Rider or Waves Bass Rider in its functionality, but is free and open-source.

Whetstone Transient Shaper

A free, open source transient shaping audio plugin that operates on a specified frequency band. Whetstone will extract a certain frequency band based on a low cutoff and high cutoff that you choose, apply transient shaping to it, and then reintegrate the shaped band back into the original signal.

This plugin is meant to be comparable to the excellent Spiff plugin in its core functionality, but lacks many of the nice features and polished UI. The DSP is coded in Faust.

Reverb Trickery

A free, open source audio plugin implementing various creative reverb effects, including octave-shifted, distorted, hi-pass/low-passed, gated, and narrowing reverb, coded in Faust.

b259wf

This is a model of the "tibre" circuit of the Buchla 259 Complex Wave Generator, made in Faust. The model follows the circuit modelling as seen on the paper Virtual Analog Buchkla 259 wavefolder, using 5 folds.

The proposed 2-point BLAMP antialiasing method has been attempted for arbitrary sources as shown here, but it is not sufficient for high frequencies and/or more complex signals. Instead, filtering and light cubic nonlinearity distiorion has been used to round corners and for clipping.

The user interface consists of the controls fold for the folding amount, offset for offseting the signal before folding, and lowpass as a final stage one-pole filtering to control the character (too much folding might introduce unwanted higher harmonics for certain signals). The final output is dc-blocked.

string-machine

This is a virtual-analog string ensemble synthesizer. The implementation is based on a digital model designed by Peter Whiting. The improvement of the model adds various abilities, in particular a virtual-analog emulation of the bucket brigade delay circuit. Most of the DSP code is developed using Faust. Three VST or LV2 are generated: string-machine, string-machine-chorus and string-machine-chorus-stereo.

metaFx

The metaFx is a control surface for continuous sound transformations in real time, just like the metaSurface64.

Like metaSurface64, it has both its own loop generator and a multi-effects FX engine, but its operation is different, especially for the management of plugin chains and pads.

Each mixer on this surface can directly control the gain and the attached plug-ins. It is also possible to control the tracks of an external sequencer (Ardour or Reaper). To do this, the application uses OSC controllable modules that come from the Faust language library that is embedded in the application. Its interest lies in the construction of a parallel sound processing chain in the form of a graph.

Kymatica.com

Jonatan Liljedahl at Kymatica AB makes iOS music apps, electronic music, and a little bit of audio hardware. The following iOS applications have DSP code developed using Faust:

  • AU3FX:Push: AUv3 dynamics processor with noise gate, compressor/expander with external side-chain input, brick-wall look-ahead limiter and hard/soft clipper.

  • AU3FX:Space: High quality tweakable AUv3 reverb with resonant filters. For everything between small rooms, resonators, and infinitely large spaces.

  • AU3FX:Dub: Stereo AUv3 delay effect for everything from clean digital delays to filthy dub echoes, ping-pong flangers, and broken cassette tapes.

  • AUFX:PeakQ: A versatile 4-band parametric stereo equalizer for everything between subtle frequency enhancements and agressive boosting/cutting or special resonator effects.

Nemesis

Nemesis is multichannel dsp platform for eurorack. It can be programmed with Faust.

Sonobus

SonoBus is an easy to use application for streaming high-quality, low-latency peer-to-peer audio between devices over the internet or a local network. Several DSP effects (Compressor, Expander, Limiter, ParametricEQ, Reverb) have been written in Faust, compiled as C++ code, and included in the JUCE project.

XPlugs.lv2

This repository contain the LV2 plugins developed using libxputty/XUidesigner. The included makfile allows the build of all plugins against a single checkout of libxputty. Each plugin exists as its own submodule under this repository. Some of the DSP code has been written with Faust.

Bass Preamp Drive

The goal of this project is to digitally reproduce the behavior of a well-known electric bass preamp: Ampeg SVT3 Pro. This preamp has been copied by several manufacturers. So we have an almost perfect copy with the Bugera BVP5500 which has four preamplifier tubes. An analog copy is also available as a pedal, the Tech 21 BDDI. The project is based on advances in the simulation of analog circuits made available by the Guitarix project and the excellent Faust from Grame cncm.

Drum Module

This project aims at integrating a digital drum synthesizer using Faust and Miosix real time OS on an STM32F407VG Discovery Board. To do this, a user interface by means of buttons, sliders, encoders, and an LCD has been implemented to control the synthesizer. Moreover, a serial MIDI input port has been added in order to control the synthesizer externally by using an external sequencer or controller.

Daisy based audio boards

Daisy is an embedded platform for music. It features everything you need for creating high fidelity audio hardware devices. Just plug in a USB cable and start making sound! No soldering required. It can be programed with Faust using the faust2daisy tool.

Elk Audio OS

Elk is an Audio Operating System developed from the ground up to deliver real time audio performances in embedded systems and remote networks. It can run on several hardware. Faust can be used to generate VST2 plugins to run on the plaform.

ER-301 Sound Computer

The ER-301 is a voltage-controllable canvas for digital signal processing algorithms. It can be programed with Faust using the faust2er301 tool and some units are developed here. Note that it is still a WIP, read the discussion here.

Zynthian platform

Zynthian is a new class of musical device. A powerful multitimbral synthesizer and audio processor, capable of managing up to 16 audio chains simultaneously. Also, it's a MIDI processor and router, equipped with standard MIDI ports, USB, WIFI & wired networks. Zynthian is a community-driven project and it's 100% open source. The Zynthian platform can be programmed with Faust with some DSP examples here.

GxPlugins.lv2

GxPlugins.lv2 is a set of more than 40 extra standalone lv2 plugins designed to compliment the Guitarix project. Each plugin exists as its own submodule under this repository. The DSP code has been written with Faust.

Stone phaser

A classic analog phaser effect. This is an analog phaser with similarity to the Small Stone. It has a color switch, which makes the phasing stronger when on, and adds some feedback controls. A stereo variant of the phaser is included. This effect is supported on MOD devices. The DSP code is developed in Faust.

sfizz

sfizz is a sample-based musical synthesizer. It features the well-established SFZ instrument format at its core, which permits to use existing instrument libraries, or create personal instruments with ease. Not only is sfizz ready-to-use as an instrument plugin of its own, the library allows developers to create instruments of their own, taking advantage of the abilities of SFZ.

The sfizz project uses the SFZ parser and synth c++ library, providing AU / LV2 / VST3 plugins and JACK standalone client. Some effects are developed in Faust are well as several filters.

Antescofo

Antescofo is a coupling of a real-time listening machine with a reactive and timed synchronous language developed at IRCAM. The language is used for authoring of music pieces involving live musicians and computer processes, and the real-time system assures its correct performance and synchronization despite listening or performance errors. Antescofo audio DSP processes can be described with Faust, using libfaust dynamic version of the Faust compiler.

Motion Vox

A mobile music creation and performance workstation with a built-in motion-based controller, sequencer and synthesis engine. The controller unites XY pad, accelerometer and gyroscope events with complex data filtering engine. Performance process consists of touching the active area on the screen with the index finger and moving the cursor while moving the device in space. Smartphone position in space and finger movement on a screen affect various parameters of sound or generate realtime MIDI output. The app was inspired by the SmartFaust project of GRAME. The audio engine of the app is made with FAUST.

INScore

INScore is an open source framework for the design of interactive, augmented, live music scores. Augmented music scores are graphic spaces providing representation, composition and manipulation of heterogeneous and arbitrary music objects (music scores but also images, text, signals...), both in the graphic and time domains. Audio DSP processes and effects can be described using Faust. The environment runs as a native application but also in the Web. Faust programs are only supported by the online version.

Virtual Rhizome

By Vincent Carinola. Virtual Rhizome responds to a proposal by Christophe Lebreton and Jean Geoffroy to compose a work for the original Smart Hand Computer system, developed at the GRAME-CNCM using the Faust language and allowing to play smartphones as an instrument.

The work takes the form of a labyrinth, a kind of virtual architecture that could be compared to Borges' "garden of branching paths", within which the musician evolves by adapting his gestures to the constraints of different types of situations. Each situation is characterized by an autonomous functioning of the system, that the musician must apprehend in order to find the key allowing him to modify it and to move towards another situation. But in order to orientate himself well, he must create a mental representation of the structure of the work. The performer then becomes an explorer of a world that he unveils, but isn't that what he has always been?

Virtual rhizome owes much to the availability and enthusiasm of Jean Geoffroy and Christophe Lebreton. It is amicably dedicated to them.

SmartFaust

SmartFaust is a concept of musical applications for smartphones. These applications have the particularity of only using the user's gestures and not by tapping on the device's screen. Made for iOS and Android, they can also use the motion sensors of these devices to make them real musical instruments.

Smartfaust applications are based on the Faust (Functional Audio Stream) programming language developed by Grame over the last 15 years and recognized as a standard in the field of real-time signal processing for audio.

The SmartFaust applications were first used for the creation of the pieces Mephisto (for drums and cell phone ensemble), Belzebuth (participative piece for public equipped with Smartphones), Iblis (for clarinet and cell phone ensemble) and Bélial (for harp and cell phone ensemble) written by the composer Xavier Garcia.

From this same technology were later created the applications "Geek Bagatelles" (2016) and "GameLan" (2019).

Download here: Android & iOS

Trombone Simulator

This simulator is a physical model of a trombone. Physical models of the lips, mouthpiece, slide, and bell are digitally simulated. The controls are listed at the top. The main controls are to move the cursor (or your finger on a touch device) left and right on the picture to adjust the embouchure, and up and down to extend and retract the slide. The diagonal colored lines are a guide to where the resonances are: playing over a resonance means that the embouchure and slide length are matched. Playing over white space means that one is between resonances and the note quality won't be as good. The big gray wedge on the upper right indicates that the resonances are very close together there. The vertical dashed lines indicate the rough locations of B-flat (thick lines) and F (thin lines). Other notes are unmarked, and likewise the slide positions. (Just like on a real trombone!) The off-key resonances (7th, 11th, 13th, and 14th) are marked in red. The g and f keys can be used to growl and flutter-tongue, respectively.

The audio simulation is written in Faust, which conveniently compiles to WebAssembly and a Web Audio API wrapper. The overall approach used was a digital waveguide model, as described in J. O. Smith III's Digital Waveguide Theory. The lips and bell are adapted from F. Scott's masters thesis.

Integrating 1-DoF force feedback interactions in self-contained DMIs

By Mathias Kirkegaard. This thesis presents a system for designers of Digital Musical Instruments (DMIs) to explore the integration of 1 degree of freedom (DoF) force feedback interactions in new self-contained instruments. The system developed consists of an open-source graphical tool and a rotary force-feedback device made from commercially available components to facilitate the authoring of audio-haptic applications. Implementing an early prototype is used to inform the development of the graphical editing tool and its integration in an embedded audio-haptic environment using the functional programming language Faust for real-time signal processing.

Beyond Key Velocity: Continuous Sensing for Expressive Control on the Hammond Organ and Digital Keyboards

By Giulio Moro. In this thesis we seek to explore the potential for continuous key position to be used as an expressive control in keyboard musical instruments, and how pre- existing skills can be adapted to leverage this additional control. The nonlinear waveguide physical model of a flute has been developed in Faust.

Guide de la synthèse sonore

By Sebastien Clara. In this guide, I try to demystify how sound synthesis works. To do so, I present the fundamental principles of sound synthesis. I accompany these explanations with small sound applications that you can manipulate in your web browser and thus, you will be able to notice the impact of a parameter on the sound.

Most of the sound examples are written in Faust and run in the web pages. This guide is currently only in french.

PICO DSP

PICO DSP is an open-source, Arduino-compatible ESP32 development board for audio and digital signal processing (DSP) applications. It offers an expansive audio-processing feature set on a small-format, breadboard-friendly device that provides audio inputs, audio outputs, a low-noise microphone array, an integrated test-speaker option, additional memory, battery-charge management, and ESD protection all on one tiny PCB. The board can be programmed using Faust.

Soundjack

The Soundjack realtime communication application is extended by a server cloud to handle up to 60 musicians of an orchestra, developed with the Faust programming language. Each musician is connected to a Soundjack UDP client. An individual stereo mix of the multiple audio streams originating from the multiple Soundjack clients has to be provided to each listening musician. An extended presentation of the system can be found in this IFC 2018 paper.

studiox-switcher

Studiox-switcher is an input switcher and silence detector for JACK. It can switch between 3 stereo inputs, a fallback channel is activated if the active input is below a volume threshold for some amount of seconds, and channels may be switched via OSC and HTTP. The core DSP engine is done via Faust for switching, silence detection and level metering.

SynthSpace

Synthspace is the ultimate virtual synthesizer. It combines the familiarity of real instruments with the possibilities of virtual worlds. Nodes for Synthspace can be developed in Faust.

Bass21

This VST3 is a virtual-analog simulation of the famous Bass Driver DI Version 1 preamp pedal from Tech21. The discretization, while far from being exact, is moderately close to the original. The potentiometers are identical to these physically present on the BDDI pedal, apart from the pregain which is specific to this digital version. The DSP code is written in Faust.

EchoMatrix

The EchoMatrix was designed to provide some of the functionality of the Yamaha UD Stomp pedal as used be Alan Holdsworth. This project will be submitted to the KVR Developer Challenge 2021 contest to highlight the power of the Faust DSP development environment and the JUCE framework to create a non-trivial effect VST3 using a managable amount of Faust DSP code.

The Striso board

The Striso board is a very expressive music instrument which combines multidimensionally sensitive keys with an innovative note layout that helps understand the structures in music. The keys capture each subtle finger movement, which allows for levels of musical expression previously only known to acoustic instruments. Additionally, accents and sound effects can be added by shaking and moving the instrument as a whole.

The internal sound is written in Faust, and is controlled directly by the signals from the keys and motion sensor. External synthesizers can be controlled using MPE MIDI, or using OSC which is easier to set up for Faust synthesizers. The firmware source code is released as open source.

Live concatenative granular processing

This algorithm addresses signal discontinuity and concatenation artefacts in real-time granular processing with rectangular windowing. By combining zero-crossing synchronicity, first-order derivative analysis, and Lagrange polynomials, we can generate streams of uncorrelated and non-overlapping sonic fragments with minimal low-order derivatives discontinuities.

The resulting open-source algorithm, implemented in the Faust language, provides a versatile real-time software for dynamical looping, wavetable oscillation, and granulation with reduced artefacts due to rectangular windowing and no artefacts from overlap-add-to-one techniques commonly deployed in granular processing.

fb_suppression

ALS - Automatic Larsen Suppression algorithms implementing adaptive filtering through spectral centroid calculation, and adaptive frequency shifting through RMS calculation.

ossia score

Ossia score is a sequencer for audio-visual artists, designed to enable the creation of interactive shows, museum installations, intermedia digital artworks, interactive music and more in an intuitive user interface. Faust can be used to create advanced audio processes. A demo video of the Faust integration can be seen here.

FASELUNARE Microcosmos

Microcosmos is a small open-source electronic board, developed by ​Faselunare (Italy), aimed at prototyping electronic musical instruments and learning electronics, microcontroller programming and audio DSP, and programmable with Faust. A demo video of the project can be seen here.

Audio Anywhere

The goal of Audio Anywhere is to explore the idea of compile once, run anywhere for audio DSP code. Audio Anywhere combines Faust, for audio DSP code, and HTML5 to enable development of modern audio synthesis and effects tools. There are currently three main repos for this work:

The KeyWi

An Expressive and Accessible Electronic Wind Instrument, where the sound is synthesized with Faust running on the Bela Mini processing board.

React Web Audio Guitar Studio

React Web Audio Guitar Studio is an online real-time Web Audio based all-in-one guitar studio, using native plugins written on Faust, compiled on-demand, and ran in a browser.

JSPatcher

JSPatcher is a Visual Programming Language (VPL) in Max/PureData style on the web with following features:

  • Patch WebAudio native AudioNodes
  • Play with JavaScript Web APIs
  • Import and patch external JavaScript modules
  • Customize AudioWorklet DSPs with Faust

A presentation video can be seen here.

Gwion

Gwion is a programming language aimed at making music. It is strongly inspired by ChucK and can use a set of plugins for Gwion. One allows to use the libfaust library to JIT compile and run DSP code on the fly. The faust2gw tool allows to produce statically compiled modules.

sonejostudios

A set of tools written using Faust.

Panoramix

Stereo Panorama/Balance and Volume Automation Tool.

Mixer4x

A simple 4-channel stereo mixer. The main goal is to use it as a submixer on a 4 channel track, but you can use it everywhere you need a small 4 channel stereo mixer.

faustdrumseq

A very simple drum sequencer written with Faust, using the new soundfile object.

MidiClockClick

A simple metronom driven by MidiClock.

SuperBeatRepeater

Beat Repeater with Sidechain Beat Recognation and Midi-Clock Sync. Very useful i.e to add musical diversity by looping short parts of the stream (i.e drums).

SuperCutSequencer

Cut "On/Off" Sequencer (8 steps with smooth) synced to Midi-Clock Beats and Midi-Clock Start/Stop. Very useful i.e to add musical diversity in looped tracks (very nice with i.e bass lines).

DeLooper

Sample-accurate Looper/Delay with free mode and midi-clock sync mode.

XYMatrix

XY Surround Matrix for one Source (Mono Input) with 4 Outputs (Left, Right, Surround Left, Surround Right) and Position Lock.

stm32-faust-synth

STM32 synthesizer video is a short presentation of a polyphonic synthesizer based on STM32F405 µC. Faust is used for signal processing and a TLV320AIC23B stereo codec serves as DAC. Another more recent video is here.

faustgen2~

The faustgen2~ object is a Faust external for Pd a.k.a. Pure Data, Miller Puckette's interactive multimedia programming environment.

Amati

Amati is a VST plugin for live-coding effects in the Faust programming language. As of now it only provides basic functionality.

PureTones

PureTones PureTones is a family of software tools for Indian Classical music. They are built based on an in-depth study and exploration of Indian Classical music to understand the role of harmonics, microtones and consonance in Indian Ragas and musical scales:

The Ragatronics project combines Ragas from Indian Classical music with elements from Rock, Jazz and Electronic music.

All applications have been developed using Faust and WebAudio tools.

Making Sound Machines

Making Sound Machines are a duo of makers from Düsseldorf, Germany. We build kits, modules and DIY projects, and use the projects we’ve built to make music. Faust is used in several projects.

master_me

Automatic audio mastering plugin for live-streaming, podcasting and internet radio stations.

With the first Covid-19 related lock-downs in 2020, many real-life concerts, conferences and festivals were forced into the digital domain - and sounded pretty crappy. Having worked for almost 20 years in audio mastering, Berlin based engineer Klaus Scheuermann started to develop master_me - a word fusion of automatic mastering and mini-me - in order to make open source streaming sound better. After a few weeks of learning and development, master_me was first used at the 'Quarantine Sessions' - a weekly distributed electro-acoustic improvised concert, hosted at Stanford's CCRMA Institute.

master_me was developed further to be an easy-to-use tool for all live streaming applications. In 2022 it was funded by the Prototype Fund, an open source software funding initiative by the german ministry of education and research. A stable release is available since September 2022.

metaSurface64

metaSurface64 is a real-time continuous sound transformation control surface that features both its own loop generator for up to 64 voices and a multi-effects FX engine. The application embeds the libfaust dynamic version of the Faust compiler.

Fragment Audio Server and Fragment

Fragment Audio Server (FAS) is a high performance pixels-based graphical audio synthesizer implemented as a WebSocket server with the C language (C11). Faust, is embedded (when compiled with WITH_FAUST) and allow to dynamically extend FAS bank generators and effects with custom one written with the Faust DSP specification language. FAS is the audio engine used in Fragment , the Collaborative Graphical Audio Synthesizer. Follow the demo here.

Swanky Amp

Swanky Amp is a tube amplifier simulation DSP plugin which aims to capture the details in the dynamics of tube amplifiers. The DSP is primarily written in Faust, whereas the UI is written in C++ using the JUCE. Follow the demo here. A commercial version is available here.

Web Synth

This is a web-based DAW (Digital Audio Workstation) written in Rust/WebAssembly and TypeScript with extensive Faust language integration with dynamic remote code compilation and executing via WebAssembly. Follow the demo here.

DawDreamer

DawDreamer is an audio-processing Python framework supporting core DAW features such as audio playback, VST MIDI instruments, VST effects, Faust, and parameter automation. DawDreamer is written with JUCE, with a user-friendly Python interface thanks to pybind11. DawDreamer draws from an earlier VSTi audio "renderer", RenderMan.

TD-Faust

TD-Faust enables Faust code to run inside TouchDesigner. Follow the demo here.

Mephisto LV2

Mephisto LV2 a Just-in-Time Faust compiler embedded in an LV2 plugin. Write LV2 audio/cv instruments/filters directly in your host in Faust DSP language without any need to restart/reload host or plugin upon code changes.

iPlug2

iPlug 2 is a simple-to-use C++ framework for developing cross platform audio plug-ins/apps and targeting multiple plug-in APIs with the same minimalistic code, support for the Faust programming language, and the libfaust JIT compiler.

pMix

pMix (short for preset mixer) is a sound design, composition and performance tool that facilitates the control of multiple parameters using an intuitive graphical interface. It includes a graphical patcher for creating a network of audio synthesis or processing nodes. A node could be a VST2, VST3, AU or LADSPA plug-in or it could a JIT compiled FAUST script. FAUST is a first class citizen in pMix and an integrated code editor and SVG display makes it a nice environment for FAUST development.

Temper JUCE plugin

Temper is a digital distortion audio plugin targeting VST, VST3, and AU for OS X and Windows. It builds upon traditional waveshaping techniques using modulated filter coefficients to produce a unique phase distortion. The primary signal processing loop is written with Faust, and compiled with JUCE for the various build targets.

Faust Mass-Interaction

mi_faust implements 1D mass-interaction models in the FAUST programming language. Starting from a scripted model description (see MIMS), mi_faust compiles a physical model into FAUST code. It handles this by generating routing functions between all the masses and all the interactions in the model.

Head over to the FAUST community page to see examples of a series of instruments created in mi_faust, and available as web-apps !

Dynamic PedalBoard

Dynamic PedalBoard allows users to plug different stompboxes together in a web browser.

SHARC DSP Board

The ADI SHARC DSP board fully supports Faust.

Nuance

Nuance is a pressure sensitive music controller that uses Faust for sound synthesis and processing.

The PlateAxe

The PlateAxe is a percussion instrument physical model controller using Faust for sound synthesis and processing.

The BladeAxe

The BladeAxe is an electric guitar physical model controller using Faust for sound synthesis and processing.

Bart Brouns' Projects

A collection of projects by Bart Brouns and based on Faust.

EarTone Toolbox

The Ear Tone Toolbox is a collection of unit generators for the production of auditory distortion product synthesis.

AudioKit

AudioKit allows developers to quickly add professional audio functionality to iOS, macOS, and Apple Watch apps.

Radium

Radium is a music editor with a new type of interface. It includes a Faust audio DSP development environment.

  • Compared to the normal sequencer interface editing is quicker and more musical data fits on the screen.
  • Compared to trackers, note positions and effects are edited graphically, which should be quicker, provide more vertical space and give a better musically overview. (Everything can also be edited by text, like in a normal tracker)
  • Radium can also be used as a normal multitracker to mix and record audio.

BELA

Bela is a maker platform for creating beautifully responsive audio and interactive applications. Designed for artists, musicians, researchers and makers, Bela brings the power of ultra-low latency interactive audio and sensors to your digital projects. It can be programmed with Faust.

HOA Library

HOA Library allows musicians and composers to synthesize, transform and render sound fields in a creative and artistic way. This library facilitates the understanding and the appropriation of key concepts of ambisonics. Thanks to original graphical interfaces a lot of new signal processings are allowed like diffuse sound field synthesis, perspective distorsion or spatial filtering. HOA library is open-source and free and offers a set of C++ and FAUST classes and implementation for Max, PureData and Unity.

Ambitools

Ambitools is a collection of plug-ins and tools for 3D sound field synthesis using Higher Order Ambisonics (HOA). The plugins are written in the Faust language, which allows them to be compiled for a multitude of architectures and platforms (Windows, Mac, Linux, WebAudio, embedded systems, etc.)

Moreover, the code is written in a scalable way: there is no limit to the maximum Ambisonic order! Other tools are also available, such as a 3D Visualizer written in the Processing language.

Ambisonic Decoder Toolbox

The Ambisonic Decoder Toolbox is a collection of MATLAB and GNU Octave functions for creating Ambisonic Decoders. Currently, it implements: (1) the AllRAD design technique, (2) inversion or mode-matching, (3) truncated mode-matching, constant energy, (4) linear combinations of 2 and 3, and (5) Slepian function basis (EPAD). The DSP code is written in MATLAB and Faust.

Ambisonic.xyz

A set of tools around Ambisonics.

FaustPy

FaustPy is a Python wrapper for Faust. It is implemented using the CFFI and hence creates the wrapper dynamically at run-time.

Rebel Technology

The OWL Pedal is an open source, programmable stage effects pedal, made for guitarists, musicians, hackers and programmers. Users can program their own effects, or download ready-made patches from our growing online patch library.

faust-vst

Card image cap

This project provides a VST plugin architecture for the Faust programming language. The package contains the Faust architecture, faustvst.cpp, the faust2faustvst helper script which provides a quick way to compile a plugin, a collection of sample plugins written in Faust, and a generic GNU Makefile for compiling and installing the plugins.

faust-lv2

Card image cap

This project provides an LV2 plugin architecture for the Faust programming language. The package contains the Faust architecture and templates for the needed LV2 manifest (ttl) files, a collection of sample plugins written in Faust, and a generic GNU Makefile as well as a shell script to compile plugins using the architecture.

RDK

Reverb Design is about creating a spacial impression aimed at sweetening the listening experience for a given context. The ambiguity of auditory and visual cues in reproduced sound makes it necessary to create an auditory illusion: To make this illusion work, I propose an aesthetic concept of simplicity and intelligibility based on psychoacoustic facts and recording practice as professional producer.

Foo YC20

Card image cap

The Foo YC20 is an open source implementation of the Yamaha YC-20 combo organ from 1969. Processing for the organ is based on original schematics and measurements from a working specimen. This instrument simulates the circutry as a whole to realisticly reproduce the features and flaws of the real deal.

FaucK

Card image cap

FaucK is a Chugin allowing to combine the powerful, succinct Functional AUdio STream (Faust) language with the strongly-timed ChucK audio programming language. FaucK allows programmers to on-the-fly evaluate Faust code directly from ChucK code and control Faust signal processors using ChucK's sample-precise timing and concurrency mechanisms. The goal is to create an amalgam that plays to the strengths of each language, giving rise to new possibilities for rapid prototyping, interaction design and controller mapping, pedagogy, and new ways of working with both Faust and ChucK.

Snd-RT

Card image cap

Snd-RT is the realtime extension for the sound editor SND and consists of two parts:

  • the RT Engine - An engine for doing realtime signal processing.
  • the RT Compiler - A compiler for a scheme-like programming language to generate realtime-safe code understood by the RT Engine.

Pure Language

Card image cap

[Pure is a modern-style functional programming language based on term rewriting. It offers equational definitions with pattern matching, full symbolic rewriting capabilities, dynamic typing, eager and lazy evaluation, lexical closures, built-in list and matrix support and an easy-to-use C interface. The interpreter uses LLVM as a backend to JIT-compile Pure programs to fast native code. It has been created by Albert Gräf.

pd-faust is a collection of Pd objects written using pd-pure which lets you run Faust programs inside Pd. It combines the functionality of pure-faust and faust2pd in a single package, and also features dynamic reloading of Faust plugins, automatic generation of controller GUIs and MIDI/OSC controller mappings, as well as OSC-based controller automation. It thus provides a complete solution for interactively developing Faust dsps in Pd.

Guitarix

Card image cap

An audio plug-in for guitar effects who's sound processing engine is written in Faust.

moForte GeoShred

Card image cap

An electric guitar app using physical modeling. Faust was used to implement its sound synthesis/processing engine.

moForte PowerStomp

An app implementing various guitar effects to be used on stage.

moForte Guitar

An app that can be used as an electric guitar and whose sound synthesis engine is implemented in Faust.

FaustWorks

Card image cap

FaustWorks is an IDE (Integrated Development Environment) for the Faust dsp programming language. You must have Faust installed to be able to use FaustWorks. Platforms supported are Linux and OSX.

FaustLive

Card image cap

FaustLive is an advanced self-contained prototyping environment for the Faust programming language with an ultra-short edit-compile-run cycle. Thanks to its fully embedded compilation chain, FaustLive is simple to install and doesn't require any external compiler, development toolchain or SDK to run.

FaustLive is the ideal tool for fast prototyping. Faust programs can be compiled and run on the fly by simple drag and drop. They can even be edited and recompiled while running, without sound interruption. It supports also native applications generation using the Faust online compiler.

FaustLive is based on the Faust library and on LLVM.