Liveboardlive-coding music with Protoboard

Liveboard is a library built on top of Protoboard, providing a set of high-level functions for live-coding music and visuals.

Thanks to hot module reload the functions can be swapped immediately, without the need to refresh the whole page.

Midi-based nodes can be mixed with visual ones, creating an interesting platform for audio-visual performances.

Liveboard provides a couple of useful modules:

  • midi for controlling music software
  • metronome and tempo — multiple metronomes could be used at once to create polyrhythms
  • out as a basic creation block
  • a couple of helpers based around music theory (using the tonal library)

Example Liveboard session:

const board = createBoard();

metronome(board, [0, 0]);
tempo(board, [1, 0], 90);
midi(board, [2, 0]);

// `tick` is triggered on every metronome tick
// `play` triggers MIDI note
out(board, [2, 2], ({ tick, play }) => {
  const seq = ["G2", "F2", "E2", "D2"];
  const note = pick(seq, tick);

  play({ note, dur: random(2000, 8000) });

In 2019 I got a chance to teach a couple of live-coding workshops using Liveboard. Environments with immediate feedback make a great teaching tools, and we also managed to spend some of the time actually playing around and making music.

workshops kolonia
workshops 48k
  • Protoboard and Liveboard another projects technically from 2019, an answer to a prompt "what if programming was more like using a breadboard"