tnee.
docs/reference/OSC bridge

OSC bridge:
how tonee talks to Live.

tonee controls Ableton Live through AbletonOSC, a MIDI Remote Script that runs inside Live and exposes its full Python API over UDP. This page explains how it works and what to check if something breaks.

01 /What it is

AbletonOSC is a MIDI Remote Script: a Python script that runs inside Ableton Live as a control surface. It listens for Open Sound Control (OSC) messages over UDP and translates them into calls on Ableton's Live Object Model. That's how tonee can rename a track, add a compressor, or write MIDI notes without any screen automation.

tonee ships with AbletonOSC bundled and installs it for you. You don't need to download or configure it separately. Just point Live at it in preferences.

02 /Installation

tonee installs AbletonOSC automatically on first launch, into your Ableton User Library. It also checks for updates on every launch: if the bundled version is newer than what's installed, it updates silently.

macOS
~/Music/Ableton/User Library/Remote Scripts/AbletonOSC
Windows
C:\Users\[you]\Documents\Ableton\User Library\Remote Scripts\AbletonOSC
Manual installs can fall out of sync: if you've ever copied AbletonOSC to your User Library by hand, it may be an older version. tonee's auto-updater only runs when the app launches, so a manual copy won't get updated. Delete the manual install and let tonee handle it.

03 /Enabling in Live

AbletonOSC needs to be selected as a control surface in Live's preferences. This is a one-time step.

01
Launch Ableton Live (restart if it was open during installation).
02
Open Settings → Link, Tempo & MIDI (Live → Settings on Mac, Options → Settings on Windows; called Preferences in Live 11).
03
In a free Control Surface slot (an empty one), select AbletonOSC. If a controller is already in a slot, leave it there.
04
Check Live's status bar at the bottom. It should read: AbletonOSC: Listening for OSC on port 11000.
Verify quickly: once selected, ask tonee "what's in my set?". If it responds with your track list, the bridge is working. If it says "not connected", the status bar message is missing. Remove and re-add the control surface in preferences.

04 /Ports & networking

All OSC traffic stays on localhost, so nothing is exposed to your network. No firewall rules needed.

port
protocol
direction
used for
11000
UDP
receive
AbletonOSC listens here for commands from tonee.
11001
UDP
send
AbletonOSC sends responses back to tonee here.
8001
HTTP
internal
Local backend (inside the Electron app). Not exposed externally.

Ports 11000 and 11001 are fixed: they're hardcoded in AbletonOSC and can't be changed without rebuilding the script. If another application is using those ports, it will conflict.

05 /How it all connects

When you send a message, here's the full path from your words to a change in Live:

1
Electron app
The tonee desktop UI. Talks to the local backend over HTTP on port 8001.
your machine
2
Local backend
A lightweight FastAPI server bundled inside the app. Executes tools, manages the OSC client, and relays to the cloud.
your machine
3
Cloud backend
Where the AI model runs. Receives your messages, reasons about them, sends tool calls back to your machine.
cloud
4
AbletonOSC
A MIDI Remote Script running inside Live. Receives OSC commands on port 11000, responds on 11001.
inside Live
5
Ableton Live
The DAW. AbletonOSC calls its Python API (the Live Object Model) directly.
your machine

What goes to the cloud is the structured snapshot of your set (track names, device chains, levels, and the notes inside your MIDI clips) plus the text of your message. Your project file and your samples stay put, and voice transcription runs entirely on-device. Audio only leaves when you start a capture yourself; see Listening.

© 2026 tonee studio
tonee is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Ableton AG. Ableton® and Push® are registered trademarks, and Live™ and Max for Live™ are trademarks, of Ableton AG.