Live Coding Drum Machine

Tony Wallace

Live Coding Drum Machine (lcdm) is a live coding environment optimized for drum sequencing, built using the Web Audio API and Electron.

lcdm is a successor to WebX0X (Web Audio Conference 2016, Atlanta) and WebX0X Version 2 (Web Audio Conference 2017, London), both of which were drum sequencer/synthesizers that were designed with traditional drum machine user interfaces. It was conceived in response to several issues raised during the development of WebX0X Version 2:

1. User interface features represented the majority of the development effort.
2. User interface design and development was a significant barrier to the introduction of new features.
3. Rendering times associated with large DOM hierarchies created non-trivial performance problems that were difficult and time consuming to resolve.

The recent rise of live coding as a means of performing and recording electronic music suggested that these issues could be resolved by replacing traditional user interfaces with code.

lcdm uses a custom syntax to describe rhythmic patterns, and provides an integrated sampler and drum sample library.