Tightening Event Timing in Max and Live
Learning objectives
- learner can set the Max/MSP I/O vector size to trade audio latency against CPU
- learner can use Overdrive and Audio Interrupt to tighten MIDI and metro timing against the signal vector
- learner can explain how Live's embedded Python polls OSC on a scheduler tick with a non-blocking socket instead of threads
Capstone — one whole task that evidences the objectives
Configure a Max for Live setup for tight timing: choose an I/O vector size for your latency target, enable Overdrive/Audio Interrupt, and explain against the signal clock why your metro-driven events now land tighter — then account for how AbletonOSC's tick-polling non-blocking socket keeps Live responsive under the same load.
Prerequisite modules
On stage, sloppy timing is the difference between a groove and a mess: a metro that fires 20 ms late against the kick, or a Live set that beachballs mid-drop because a socket blocked the audio thread. This module builds toward one whole task — tuning a Max for Live rig so scheduled events land tight against the signal clock, and being able to defend every setting you chose. That defense matters because on a different laptop or a heavier set, you will have to re-derive the tradeoffs rather than cargo-cult a config.
Start supported: open Max’s audio settings and experiment with the I/O vector size, using “I/O vector size sets the tradeoff between audio latency and CPU efficiency” as your just-in-time reference — feel the latency drop and watch the CPU climb. Next, layer in the scheduler: “Overdrive and Audio Interrupt tighten timing of MIDI and metro events against the signal vector” tells you why a metro drifts and why Audio Interrupt only pays off with a small vector. Finally, cross into Live’s side of the rig: work through why AbletonOSC polls its socket on a ~100 ms scheduler tick and drains it with a non-blocking recv loop — the pieces you need to explain responsiveness under load without threads.
The four required atoms gate the capstone directly: you cannot pick a vector size, justify Overdrive/Audio Interrupt against the signal clock, or account for AbletonOSC’s polling behavior without them. The supporting atom on Max for Live’s three device types enriches the picture — knowing whether your patch lives as an Audio Effect, Instrument, or MIDI Effect helps you situate the rig, but the timing argument stands without it.
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating
Part of curricula
- Audio-Visual Performer — integrated, synced live AV — Lock the clock (tempo-synced, transport-driven set) required
Unlocks — modules that require this one