Loading Events

Build a web assembly synthesiser with iPlug 2

Learn to build a synthesizer with full interface that runs in the browser using iPlug 2, an open source C++ framework designed to build cross-platform plug-ins.

Course Instructor: Jean-Baptiste Thiebaut

Course level

iPlug2 is a new C++ framework that allows you to build cross-platform audio plug-ins, using minimal code. One of the exciting features of iPlug2 is that it lets you turn your plug-in into a web page that anyone can use without a DAW (see for example https://virtualcz.io).

What you'll learn

  • In this workshop participants will learn how to build a web based synthesiser using cloud based tools, and publish it to a GitHub pages website. We will look at some basic DSP in order to customise the sound of the synthesiser and we will also customise the user interface. The same project builds native audio plug-ins, although in the workshop we will focus on the web version.

Requirements

  • A GitHub account (free)
  • Visual studio code (free)
  • A basic familiarity with Git, C++ and audio processing
  • Docker Desktop installed (free)

Course content

  • ---- Build a WASM synthesiser with iPlug2 - slides
  • ---- iPlug2 containerized WAM development
  • ---- Build a WASM synthesiser with iPlug2 - workshop PART 1
  • ---- 01-Introduction
  • ---- 02-iPlug2 Projects
  • ---- 03-Audio Processing C++
  • ---- 04-Parameters
  • ---- 05-Basic GUI
  • ---- 06-Intro to tasks
  • ---- 07-Setting up VSCode remote containers 1
  • ---- 08-Setting up VSCode remote containers 2
  • ---- 09-Setting up VSCode remote containers 3
  • ---- 10-Building WAM
  • ---- 11-Fixing WAM build
  • ---- 12-Publishing WAM and Native to github
  • ---- Build a WASM synthesiser with iPlug2 - workshop 2
  • ---- Extra Source Code files for TASK 5 & 6
  • ---- 13-Introduction to new tasks
  • ---- 14-Working on tasks 1
  • ---- 15-Working on tasks 2
  • ---- 16-Working on tasks 3
  • ---- 17-Working on tasks 4
  • ---- 18-Working on tasks 5
  • ---- 19-Working on tasks 6
  • ---- 20-Working on tasks 7
  • ---- 21-Working on tasks 8
  • ---- 22-Synth DSP 1
  • ---- 23-Synth DSP 2
  • ---- 24-Wrapping up

Who is this course for

  • This course is aimed at people interested in learning how to use iPlug2 C++ audio plugin framework to create a synthesiser that runs on the web.

About the workshop leader