A ClyphX Pro User Action that realigns out-of-sync session clips in Ableton Live.
Session clips in Ableton Live can end up playing out of sync. This happens when clips are launched with quantization set to None, when a clip is scrubbed or nudged to an off-grid position, or when clips are triggered at different quantization boundaries. The result is an audible phase offset between clips that should be playing in lockstep.
RealignClips calls move_playing_pos(0) on playing clips, which triggers Ableton Live's internal audio engine to resync the clip's playback position to the global transport. This snaps clips back into alignment without stopping or re-launching them.
| Action | Type | Description |
|---|---|---|
realignall |
Global | Resync all playing session clips across every track |
realign |
Track | Resync the playing clip on a specific track |
Create a MIDI clip and name it:
[SYNC] realignall
Launch the clip to realign all playing clips.
Map a MIDI button to fire the action:
sync_button = note, 1, 60, 0, 127, realignall
SEL/realign # Realign the playing clip on the selected track
1/realign # Realign the playing clip on track 1
1-4/realign # Realign playing clips on tracks 1 through 4
"Drums"/realign # Realign the playing clip on the track named "Drums"
-
Copy
RealignClips.pyinto your ClyphX Pro user actions folder:<User Library>/Remote Scripts/ClyphX_Pro/clyphx_pro/user_actions/The exact path depends on your OS and Ableton installation. On macOS this is typically:
~/Music/Ableton/User Library/Remote Scripts/ClyphX_Pro/clyphx_pro/user_actions/ -
Restart Ableton Live.
-
Verify the action loaded by checking
Log.txtfor any import errors.
Tip: For a folder that survives ClyphX Pro updates, use the
_user_actions/folder instead. See the ClyphX Pro documentation for setup instructions.
- Ableton Live 11 or 12
- ClyphX Pro
Ableton's Live Object Model (LOM) exposes clip.playing_position, but this value is grid-aligned and does not reflect the actual sub-sample drift that causes audible sync issues. The calculated delta between a clip's reported position and the expected transport position is effectively zero, even when the clip is audibly out of sync.
Calling move_playing_pos(0) works because it triggers an internal resync in Live's audio engine regardless of the delta value. This is the simplest and most reliable way to correct clip drift from a control surface script.
MIT