Abstract:
FAUST (Functional Audio Stream) is a functional programming language for audio signal processing, created by Yann Oraley and developed at GRAME in Lyon. FAUST code can be transpiled to a variety of other languages including C++ and provides many options for quickly producing different binaries for a variety of platforms. For example, a FAUST script can be converted to a VST plug-in, standalone QT app, or Puredata object (or many other things). Different options are provided to optimise the C++ code, e.g to generate easily vectorised or parallel C++ and the FAUST compiler often generates code that performs very well. One of the best features of FAUST is the vast library of high quality audio signal processing code that is included. Another great thing about it is the terseness of the language, allowing complex routings to be described with a tiny amount of code. A recent development from the FAUST team at GRAME called libfaust uses LLVM JIT technology to provide an embedded FAUST compiler. Oli has created a JUCE module which integrates libfaust into the JUCE ecosystem as a JUCE AudioProcessor and includes several other classes to support working with FAUST inside JUCE projects. The presentation will introduce FAUST and cover the strengths and weaknesses of the language. It will also introduce the JUCE module and demonstrate some of Oli's FAUST projects.
About Oli Larkin
Oli Larkin is SysAdmin and Research Support Programmer at the University of York, Music Department, where he teaches audio programming and has worked on several high profile sound art projects as a software developer. He also develops his own audio plug-ins, the most recent of which was VirtualCZ - an emulation of the Casio CZ series phase distortion synthesisers from the 1980s. Another of his products “Endless Series” is an experimental audio effect based on the Shepard Tone auditory illusion. Oli has been using FAUST for a couple of years to develop physical models and recently integrated it into a new version of pMix, his preset interpolation software which is built using JUCE. In September this year he did a two week residency at GRAME working with the FAUST team.