SMC-22 Summer School
June 5-7, 2022


The SMC-22 Summer School took place at the Comète in Saint-Étienne on June 5-7, 2022. It consisted of three one day workshops by Michel Buffa, Ge Wang, and Yann Orlarey (see program below). The SMC-22 Summer School was free and targeted towards grad students in the cross-disciplinary fields of computer science, electrical engineering, music, and the arts in general. Attendance was limited to 25 students.

Michel Buffa -- Web Audio Modules 2.0: VSTs For the Web

During this tutorial, you will first follow a WebAudio API presentation with examples and you will learn how to program simple effects or instruments with JavaScript. In a second part you will be introduced to "WebAudio Modules 2.0" (WAM), a standard for developing "VSTs on the Web." The new WAM ecosystem covers many use cases for developing plugins, from the amateur developer writing simple plugins using only JavaScript/HTML/CSS to the professional developer looking for maximum optimization, using multiple languages and compiling to WebAssembly. It was designed by people from the academic research world and by developers who are experts in Web Audio and have experience developing professional computer music applications. In its current state, the open source WAM 2.0 standard is still considered a "beta version," but in a stable state. The framework provides most of the best features found in native plugin standards, adapted to the Web. We regularly add new plugins to the wam-examples GitHub repository, but there are also dozens of WAMs developed by the community, such as the set of plugins created by the author of, who has open sourced them in their entirety. DUring this tutorial you will learn how to reuse existing plugins in a host web application, but also how to write your own reusable plugins using JavaScript, TypeScript or Faust.


Michel Buffa is a professor/researcher at University Côte d'Azur, a member of the WIMMICS research group, common to INRIA and to the I3S Laboratory (CNRS). He contributed to the development of the WebAudio research field, since he participated in all WebAudio Conferences, being part of each program committee between 2015 and 2019. He actively works with the W3C WebAudio working group. With other researchers and developers he co-created a WebAudio Plugin standard. He has been the national coordinator of the french research project WASABI, that consists in building a 2M songs knowledge database that mixes metadata from Cultural, lyrics and audio analysis.

Ge Wang -- Chunity! Interactive Audiovisual Design with ChucK in Unity

In this workshop, participant will learn to work with Chunity -- a programming environment for the creation of interactive audiovisual tools, instruments, games, and VR experiences. It embodies an audio-driven, sound-first approach that integrates audio programming and graphics programming in the same workflow, taking advantage of strongly-timed audio programming features of the ChucK audio programming language and the state-of-the-art real-time graphics engine found in Unity.

Through this one-day workshop, participants will learn:

  • 1) the fundamentals of Chunity workflow from ChucK to Unity,
  • 2) how to architect audio-driven, strongly-timed software using Chunity,
  • 3) design principles for interactive audiovisual/VR software

Any prior experience with ChucK or Unity would be helpful but is not necessary for this workshop.


Ge Wang is an Associate Professor at Stanford University’s Center for Computer Research in Music and Acoustics (CCRMA). He researches the artful design of tools, toys, games, instruments, programming languages, virtual reality experiences, and interactive AI systems with humans in the loop. Ge is the architect of the ChucK audio programming language and the director of the Stanford Laptop Orchestra. He is the Co-founder of Smule and the designer of the Ocarina and Magic Piano apps for mobile phones. A 2016 Guggenheim Fellow, Ge is the author of /Artful Design: Technology in Search of the Sublime/, a photo comic book about how we shape technology -- and how technology shapes us.

Yann Orlarey -- Audio Programming With Faust

The objective of this one-day workshop is to discover the Faust programming language and its ecosystem and to learn how to program your own plugins or audio applications. No prior knowledge of Faust is required.

Faust is a functional programming language specifically designed for real-time signal processing and synthesis. It targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards. A distinctive feature of Faust is that it is not an interpreted, but a compiled language. Thanks to the concept of architecture, Faust can be used to generate ready-to-use objects for a wide range of platforms and standards including audio plugins (VST, MAX, SC, PD, Csound,...), smartphone apps, web apps, embedded systems, etc.

At the end of the workshop, you will have acquired basic Faust programming skills and will be able to develop your own audio applications or plugins. You will also have a good overview of the main libraries available, of the documentation, and of the main programming tools that constitute the Faust ecosystem.


Born in 1959 in France, Yann Orlarey is a composer, researcher, member of the Emeraude research team (INRIA, INSA, GRAME), and currently scientific director of GRAME, the national center for musical creation based in Lyon, France. His musical repertoire includes instrumental, mixed, and interactive works as well as sound installations. His research work focuses in particular on programming languages for music and sound creation. He is the author or co-author of several musical software, including the programming language FAUST, specialized in acoustic signal synthesis and processing.