Skip to content

automation via recording

nate
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

  1. begin_undo_step(); disarm every track (global record would also record audio/MIDI onto armed tracks) and remember their state.
  2. 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).
  3. each main-thread tick, compute the target value at current_song_time (linear interpolation between the requested points) and assign parameter.value. Live writes breakpoints as it would for a knob.
  4. past the last point (plus a short post-roll): stop_playing(), restore record_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_automation in AbletonMCP_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.

Across the AtmosphereDiscussions