Networked and collaborative ensemble performance
Learning objectives
- learner can run a shared browser live-coding session with multiple performers
- learner can manage tempo sync, latency and set structure across the ensemble
- learner can design an Estuary ensemble set with shared layouts and timed sections
Capstone — one whole task that evidences the objectives
Host an Estuary (or Flok) ensemble session for 2+ performers: establish shared tempo, add custom sample banks, structure the set with Timer/View widgets, and choose latency-appropriate coordination given the measured network delay.
Prerequisite modules
Solo live coding stops scaling the moment you want a second performer: now someone has to host the room, keep everyone on one clock, decide who edits what, and hold the set together when the network fights back. This module builds toward exactly that whole task — hosting a browser-based algorave ensemble on Estuary (or Flok) for two or more performers, whether they share a stage or a continent. Zero-install browser platforms make this the lowest-friction ensemble rig there is: no SuperCollider, no cabling, just URLs.
The arc starts supported: join an existing shared session and simply play alongside others, leaning on what collaborative live-coding platforms are and how Flok’s anyone-can-edit-anything model works. Then you take the controls in Estuary — practising the shared-tempo terminal commands (setting CPS/BPM and delay compensation), loading custom sample banks via insertsound and reslists, and defining and publishing workspace layouts with the view DSL until these commands are automatic under time pressure. Next you script a set’s time structure with the Timer widget’s named sections, the Cybernetic Orchestra trick for keeping collective improvisation coherent. Finally, the unsupported capstone: you host, measuring real network delay and using the latency-threshold facts and coping strategies (bar-boundary quantisation, free improvisation, latency-as-feature) to pick a coordination style the physics can actually support.
The required atoms are exactly what the capstone cannot succeed without: platform choice, tempo and sample commands, layout and timer design, latency reasoning. The supporting atoms enrich the picture — the Metre widget for synchronising acoustic players, Ableton Link for local Tidal rigs, OSC, theming and ExoLang extensibility, the wider history of distributed ensembles, the craft wisdom that ensembles cover each other’s silences, and Strudel’s Pattern extension API for further exploration.
Runnable examples
Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.
euclidean-rhythm
s("bd(3,8)")
strudel-0004 · CC0
d1 $ sound "bd(3,8)"
tidal-0004 · CC0
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating
Part of curricula
- Live Coder — zero to performing live-coded music — A Voice on Stage recommended