automation via recording
Aug 23, 20261 min read
automation via recording
Live's API cannot write an arrangement automation lane, and it refuses clip envelopes on arrangement clips. but Live records a lane whenever a parameter moves during playback with record enabled — and a script can move parameters. so the write path is: make Live record what you want.
the pass
begin_undo_step(); disarm every track (global record would also record audio/MIDI onto armed tracks) and remember their state.session_automation_record = True(automation arm),record_mode = True,start_playing(), then seek to a beat shortly before the first point (seek after start — see live object model).- each main-thread tick, compute the target value at
current_song_time(linear interpolation between the requested points) and assignparameter.value. Live writes breakpoints as it would for a knob. - past the last point (plus a short post-roll):
stop_playing(), restorerecord_mode, automation arm, arms and playhead;end_undo_step().
a four-bar edit plays once at tempo; tick resolution (~100 ms) is four points per beat at 150 bpm. existing lane content in the recorded span is replaced, as with any automation recording. verify by reading the saved .als or by playing the span back and sampling the parameter.
sources
- github.com/zzstoatzz/ableton-mcp —
record_automationinAbletonMCP_Remote_Script/handlers.py, 2026-08-23 (ramp written, read back, undone on Live 12.4.3)
Did you enjoy this article?
Recommend it — Standard Reader surfaces well-loved writing to more readers across the network.