In this online workshop, participants will learn how to design sound synthesis and processing objects in the Faust programming language and then port these algorithms as cross platform plugins using C++ and JUCE.

The first part of the week will be dedicated to learning Faust (Functional Audio Stream), a functional programming language for sound synthesis and audio processing with a strong focus on the design of synthesizers, musical instruments and audio effects. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards.

Faust promotes designing the block diagram, and then automates the porting of the DSP graph to efficient C++. This high level approach makes Faust ideal for designing audio plugins that can be used in a variety of workflows and DAWS.

JUCE will be used in the latter part of the week to port our DSP algorithms to cross-platform audio plugins with custom UI design. Participants will leave the workshop with their own audio plugin as well as an understanding of the essential workflow to continue designing custom audio tools.

Covered Topics


Additional Information

This workshop is intended for musicians, makers, engineers, computer scientists, etc. Previous background in computer programming (ideally with some knowledge in C++) and sound synthesis/processing is recommended. Participants will use their own laptop. Feel free to contact the workshop instructors for additional information.

Classes will take place on Zoom, 9am-12:30 (PST). The rest of the time will be dedicated to exercises and mini-projects. Communication between the instructors and the students will be ensured outside of class time through Slack. Students will have the option to make a final project which will be due a week after the end of the workshop (on August 6th, 2021).



Sarter Codes

Workshop Codes