set_tempo
Sets the global tempo for the entire Ableton Live set and returns the updated BPM value.
Instructions
Set the global song tempo in BPM and read back the stored value.
One tempo governs the whole set, Session and Arrangement alike. There is no
per-track tempo. The one other place a tempo can come from is a scene, below.
Returns:
Dictionary reporting the write and the read-back tempo.
Note:
A tempo set here does not survive every scene launch. Firing a scene whose
``tempo_enabled`` is on writes ``song.tempo`` again from ``scene.tempo``, so
read ``song.tempo`` back after a launch rather than assuming this one held
(catalog rows ``scene.tempo`` and ``scene.tempo_enabled``, both read verified
2026-08-29 against Live 12.4.5).
BPM is a real unit, which makes this tool the exception among the setters. A
device parameter is normalised over whatever range the device declares: reach
those with set_parameter and read ``min`` and ``max`` through ``describe``
rather than assuming 0..1 (docs/limits.md). Volume, pan and sends are
normalised the same way, and set_mix carries them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bpm | Yes | Tempo in beats per minute. The catalog validates 20.0 to 999.0. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||