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 softwaremetronome
and tempo
— multiple metronomes could be used at once to create polyrhythms ↗out
as a basic creation blockExample Liveboard session:
const board = createBoard();
board.start();
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.
210 words published on 2020-07-23 — let me know what you think