home/ modules/ performing-a-multi-artist-link-audio-av-jam

Performing a Multi-Artist Link-Synced AV Jam

  • learner can share named audio channels between Link peers on the shared timeline using demand-driven sink/source routing
  • learner can modify Link session state safely on the audio thread with capture/commit for sample-accurate timing
  • learner can run a multi-artist AV jam where several music and visual machines lock to one Link clock under live conditions

Stage a live multi-machine AV jam on one Ableton Link session: stream a named Link Audio channel between two peers (demand-driven, only when subscribed), have visual machines lock to the shared clock, and perform a set while making tempo/session-state edits on the audio thread with capture/commit so timing stays sample-accurate.

This module builds toward the kind of distributed audiovisual set that Link made possible: two or more musicians on separate laptops, a VJ or two driving projectors, all improvising against one clock with no master machine and no clock cable snaking across the stage. Beyond tempo, the peers exchange actual sound — a named audio stream travels the network, beat-aligned, so one artist’s bus lands in another’s mix in time. The failure modes are unforgiving live: a tempo edit made on the wrong thread drifts by an indeterminate number of samples, and visuals that only “roughly” follow the beat read as sloppy on a big screen.

Start supported: on a local network with two machines, join a session and confirm the multi-artist model — any participant can nudge tempo, everyone follows, and music and visual machines alike lock to the one clock. Then add the routing layer, using how Link Audio shares named channels aligned to the shared timeline as your reference for publishing a stream, and the demand-driven sink/source pattern to verify that nothing transmits until a peer actually subscribes. In parallel, bring a VJ app onto the session; the visual-sync atom deepens the VJ-app specifics (clip stretching, clock-driven LFOs) if you want them. Finally, drill the state-editing discipline: capture-before-read, commit-after-write, and doing it exclusively on the audio thread — these two moves must become automatic, because they recur on every buffer during the set.

Each required atom gates the capstone directly: without the channel and sink/source model there is no peer-to-peer audio; without capture/commit on the audio thread, live tempo edits break sample accuracy; without the multi-artist concept — which covers music and visual machines sharing one clock — the ensemble and projection sides fall apart. The visual-sync and quantized-launch atoms are enrichment: the first goes deeper into how VJ software locks clips and generative patches to the beat grid, and the second makes ensemble entrances tighter and more professional, but the jam stands without them.

Runnable examples

Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.

clock-quantized-launch

0.5::second => dur T; T - (now % T) => now;

chuck-0006 · MIT

Atoms in this module

Required — these gate the capstone

Ableton Link enables multi-artist AV jams where several visual and music machines share one clock
Concept L4 Performance JM
Link Audio shares named audio streams (channels) between peers aligned to the shared Link timeline
Concept L4 Performance JN
Link Audio channels are demand-driven: a sink only transmits when at least one source subscribes
Concept L4 Performance JN
Link session state must be captured before reading and committed after writing to ensure consistency
Concept L4 Performance JN
Link session state modifications should only happen on the audio thread to achieve sample-accurate timing
Principle L4 Performance JN

Supporting — enrichment, not gating

Ableton Link lets visual software lock video clips and generative patches to a shared musical clock
Concept L3 Craft JI
Quantized launch makes apps wait for the next quantum boundary before starting, enabling tight ensemble starts
Concept L2 First instrument JN