Romain Michon: Embedded Real-Time Audio DSP With the Faust Programming Language

When: Wednesday 6th November 2019 @ 5:10 PM

Where: The Atrium (G.10), Alison House, 12 Nicholson Sq, University of Edinburgh

Title: Embedded Real-Time Audio DSP With the Faust Programming Language

Speakers: Dr Romain Michon (CCRMA, Stanford + GRAME-CNCM, Lyon, France)


Faust is a Domain-Specific programming Language (DSL) for real-time audio Digital Signal Processing (DSP). The Faust compiler can generate code in various lower-level programming languages (e.g., C, C++, LLVM, Rust, WebAssembly, etc.) from high-level DSP specifications. Generated code can be embedded in wrappers to add specific features to it (e.g., MIDI, polyphony, OSC, etc.) and to turn it into ready-to-use objects (e.g., audio plugins, standalones, mobile apps, web apps, etc.). More recently, Faust has been used a lot in the context of low-level audio embedded systems programming such as microcontrollers, bare-metal on the Raspberry Pi, FPGAs, etc. Optimizations are made for specific processor architectures (e.g., use of intrinsics, etc.) but hidden from the user to keep the programming experience as smooth and as easy as possible. After giving a quick introduction to Faust, we’ll present an overview of the work that has been made by the Faust team around embedded systems for audio. We’ll then present ongoing and future projects around this topic.

Speaker Bio

Romain Michon is a full-time researcher at GRAME-CNCM (Lyon, France) and a researcher and lecturer at the Center for Computer Research in Music and Acoustics (CCRMA) at Stanford University (USA). He has been involved in the development of the Faust programming language since 2008 and he’s now part of the core Faust development team at GRAME. Beside that, Romain’s research interests involve embedded systems for real-time audio processing, Human Computer Interaction (HCI), New Interfaces for Musical Expression (NIME), and physical modeling of musical instruments.