Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
A

AbletonOSC

> 编程语言
Open source

Control Ableton Live via Open Sound Control (OSC)

787 stars0 likes2 views
WebsiteGitHub

About

Control Ableton Live via Open Sound Control (OSC)

AbletonOSC: Control Ableton Live with OSC

AbletonOSC is a MIDI remote script that provides an Open Sound Control (OSC) interface to control Ableton Live. The project's aim is to expose the entire Live Object Model API (full API docs), providing comprehensive control over Live's control interfaces using the same naming structure and object hierarchy as LOM.

Installation

AbletonOSC requires Ableton Live 11 or above.

To install the script:

  • Download a zip of this repository, unzip its contents, and rename AbletonOSC-master to AbletonOSC
  • Install it following the instructions on Ableton's Installing third-party remote scripts doc, by copying the AbletonOSC folder to:
    • Windows: \Users\[username]\Documents\Ableton\User Library\Remote Scripts
    • macOS: Macintosh HD/Users/[username]/Music/Ableton/User Library/Remote Scripts
  • Restart Live
  • In Preferences > Link / Tempo / MIDI, under the Control Surface dropdown, select the new "AbletonOSC" option. Live should display a message saying "AbletonOSC: Listening for OSC on port 11000"

Activity logs will be output to a logs subdirectory. Logging granularity can be controlled with /live/api/set/log_level (see Application API below).

Usage

AbletonOSC listens for OSC messages on port 11000, and sends replies on port 11001. Replies will be sent to the same IP as the originating message. When querying properties, OSC wildcard patterns can be used; for example, /live/clip/get/* 0 0 will query all the properties of track 0, clip 0.

Application API

Documentation: Application API

Address Query params Response params Description
/live/test 'ok' Display a confirmation message in Live, and sends an OSC reply to /live/test
/live/application/get/version major_version, minor_version Query Live's version
/live/api/reload Initiates a live reload of the AbletonOSC server code. Used in development only.
/live/api/get/log_level log_level Returns the current log level. Default is info.
/live/api/set/log_level log_level Set the log level, which can be one of: debug, info, warning, error, critical.
/live/api/show_message message Show a message in Live's status bar

Application status messages

These messages are sent to the client automatically when the application state changes.

Address Response params Description
/live/startup Sent to the client application when AbletonOSC is started
/live/error error_msg Sent to the client application when an error occurs. For more diagnostics, see logs/abletonosc.log

Song API

Represents the top-level Song object. Used to start/stop playback, create/modify scenes, create/jump to cue points, and set global parameters (tempo, metronome).

Documentation: Song API

Song methods

Address Query params Response params Description
/live/song/capture_midi Capture midi
/live/song/continue_playing Resume session playback
/live/song/create_audio_track index Create a new audio track at the specified index (-1 = end of list)
/live/song/create_midi_track index Create a new MIDI track at the specified index (-1 = end of list)
/live/song/create_return_track Create a new return track
/live/song/create_scene index Create a new scene at the specified index (-1 = end of list)
/live/song/cue_point/jump cue_point Jump to a specific cue point, by name or numeric index (based on the list of cue points)
/live/song/cue_point/add_or_delete Add a cue point under the cursor, or, if one exists, delete it
/live/song/cue_point/set/name cue_point Rename a cue point, given its index
/live/song/delete_scene scene_index Delete a scene
/live/song/delete_return_track track_index Delete a return track
/live/song/delete_track track_index Delete a track
/live/song/duplicate_scene scene_index Duplicate a scene
/live/song/duplicate_track track_index Duplicate a track
/live/song/jump_by time Jump song position by the specified time, in beats
/live/song/jump_to_next_cue Jump to the next cue marker
/live/song/jump_to_prev_cue Jump to the previous cue marker
/live/song/redo Redo the last undone operation
/live/song/start_playing Start session playback
/live/song/stop_playing Stop session playback
/live/song/stop_all_clips Stop all clips from playing
/live/song/tap_tempo Mimics a tap of the "Tap Tempo" button
/live/song/trigger_session_record Triggers record in session mode
/live/song/undo Undo the last operation

Song properties

  • Changes to any Track property can be listened for by calling /live/song/start_listen/
  • Responses will be sent to /live/song/get/, with parameters ``
  • For further information on these properties and their parameters, see documentation for Live Object Model - Song.

Getters

Address Query params Response params Description
/live/song/get/arrangement_overdub arrangement_overdub Query whether arrangement overdub is on
/live/song/get/back_to_arranger back_to_arranger Query whether "back to arranger" is lit
/live/song/get/can_redo can_redo Query whether redo is available
/live/song/get/can_undo can_undo Query whether undo is available
/live/song/get/clip_trigger_quantization clip_trigger_quantization Query the current clip trigger quantization level
/live/song/get/current_song_time current_song_time Query the current song time, in beats
/live/song/get/groove_amount groove_amount Query the current groove amount
/live/song/get/is_playing is_playing Query whether the song is currently playing
/live/song/get/loop loop Query whether the song is currently looping
/live/song/get/loop_length loop_length Query the current loop length
/live/song/get/loop_start loop_start Query the current loop start point
/live/song/get/metronome metronome_on Query metronome on/off
/live/song/get/midi_recording_quantization midi_recording_quantization Query the current MIDI recording quantization
/live/song/get/nudge_down nudge_down Query nudge down
/live/song/get/nudge_up nudge_up Query nudge up
/live/song/get/punch_in punch_in Query punch in
/live/song/get/punch_out punch_out Query punch out
/live/song/get/record_mode record_mode Query the current record mode
/live/song/get/root_note root_note Query the current root note
/live/song/get/scale_name scale_name Query the current scale name
/live/song/get/session_record

Issues· 70 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Python

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言