Build a web assembly synthesiser with iPlug 2
Learn to use iPlug2 C++ audio plugin framework to create a synthesiser that runs on the web.
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). 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.
Note from Oli: Even though the workshop might use lots of unfamiliar technologies, iPlug2 is designed to be simple to use and has many of the more confusing aspects of cross platform programming solved for you already. Don’t worry if the technology sounds scary, everyone should be able to build a custom synthesiser using the example projects and workflow.
Requirements
- A GitHub account (free)
- Visual studio code (free)
- A basic familiarity with Git, C++ and audio processing
- Docker Desktop installed (free)
Useful links
About the workshop leader
Oli Larkin is an audio software developer and music technologist with over 15 years of experience developing plug-ins and plug-in frameworks. He has released his own software products and has collaborated with companies such as Roli, Arturia, Focusrite and Ableton. For many years he worked in academia, supporting audio research and sound art projects with his programming skills. Nowadays Oli is working as a freelancer, as well as focusing on his open source projects such as iPlug2
Getting started with Max
Level: beginners with notions of programming
In this series of online workshops you will explore the most important programming techniques and concepts when working with Max, empowering you to begin to build your own patches and devices that you can deploy in your own music and multimedia projects. Through a series of guided exercises you will engage in the pragmatic creation of a basic MIDI sequencer device that features a wealth of musical manipulation options. This series of workshops aims to provide beginner’s with suitable skills to begin exploring the Max environment.
This online workshop is interactive and you will have opportunities to work with peers and ask questions to an experienced teacher.
Timetable and outcomes
Session 1, 19th September 2020, 4pm UK / 11am EST / 8am PT
- Identify key elements of the Max Interface
- Create objects and route patch cables
- Configure Object properties via the Inspector
- Locate and utilise the Max help system
Session 2, 20th September 2020, 4pm UK / 11am EST / 8am PT
- Utilise Max messages
- Build lists and work with numerical data
- Construct data flow and configure message ordering
- Build logic circuits and apply math transformations
Session 3, 26th September 2020, 4pm UK / 11am EST / 8am PT
- Configure and apply user interface objects
- Build graphical user interfaces via Presentation Mode
- Encapsulate patchers and sub patchers
- Successfully apply data management techniques
Session 4, 27th September 2020, 4pm UK / 11am EST / 8am PT
- Construct MIDI messages in Max
- Utilise virtual instruments to play musical ideas
- Manipulate data to create musical pieces
- Explore further possibilities within Max