A phone-based controller surface for Ableton Live

Ableton RC Surface is a source-available Ableton Live 12.4.5+ Suite extension v0.5.8.4 that turns a phone browser into a low-latency performance, mix, mapping, and sensor controller. It ships with mobile MAP mode, MIDI trigger notes, a TRN transport overlay, AbletonOSC deep sync, single-hand camera hand tracking, and hierarchical target picking. The core controller runs on your local Wi-Fi; hand tracking loads MediaPipe from a CDN when used.

Not affiliated with Ableton AG. Actively maintained, audited line by line, free for noncommercial use under PolyForm Noncommercial 1.0.0.

v0.5.8.4 Source available · noncommercial Mobile MAP mode AbletonOSC deep sync Vision uses MediaPipe CDN Live 12.4.5+ Suite
120.0 BPM
SYNC MAP CONNECTED
Pads
1
2
3
4
5
6
7
8
9
10
11
12
XY 1
XY 1
0.50 / 0.50
XY 2 (Physics)
XY 2
0.50 / 0.50
LFOS
L1
L2
L3
L4
STUT
S1
S2
S3
S4
UTIL
Knobs knob-1..6
1 Cutoff
2 Res
3 -
4 -
5 -
6 -
Faders fader-1..6
1 -
2 -
3 -
4 -
5 -
6 -
Presets morph slots 1-8
1Empty
2Empty
3Empty
4Empty
5Empty
6Empty
7Empty
8Empty
Mechanism
Transition Time
1.0s
Vector Morph Pad
MOTION TELEMETRY ACTIVE
GX0.0
GY0.0
GZ0.0
AX0.0
AY0.0
AZ0.0
ORIENTATION
YAW
PITCH
ROLL
Motion visible
Orientation visible
AUDIO pitch/rms/bpm
Audio input
Pitch: 440.0 Hz Note: A4 BPM: 120
VISION hand tracking
Camera input
Hand Det
Gesture: Open
Open Fist Pinch Victory
LIVE
RC Synth
Cutoff: 0.50
Res: 0.50

Install in under a minute

Drop the .ablx into your User Library, restart Live, and pair your phone in seconds — no app install, no hub.

What is included

v0.5.8.4 - every card below ships in the current release.

12 performance pads & PERF UTIL

Four pad behaviors (release, hold, toggle, burst) plus a PERF UTIL column with CAP, direct snapshot slots 1-4, and OFF for instant live-performance state changes.

6 knobs, 6 faders & mobile MIX tab

A mixer-style page for common Live controls, plus a dedicated MIX tab inside the phone with six mappable knobs and six mappable faders.

2 physics XY pads with axis mapping

Two-axis controls for filter moves, sends, or macros. X and Y axes are exposed as separate mappable channels on the phone editor.

Mobile MAP mode & hierarchical picker

Select highlighted controls on the phone and bind them. The target picker is grouped by Song / Main / Master, normal tracks, return tracks, devices, and parameters. Tap Selected in Live to query the host and pre-fill the search.

Sensors: motion, audio, single-hand vision

Motion, orientation, and microphone analysis are built in. Camera hand tracking is single-hand by design (open, fist, victory, pinch) and loads MediaPipe from a CDN.

Snapshots: 8 morph slots + 4 PERF slots

Eight morphable snapshot slots for interpolating between controller states, plus four direct capture / recall slots on the PERF UTIL column. Mapped Live values follow the transition while the morph is running.

MIDI trigger notes

Map a phone control to a note on a MIDI track. The included RC-Midi-Receiver.amxd is reused if already on the track and falls back to manual insert on failure. Pads, LFOs, stutters, XY axes, knobs, and faders all support trigger-note mappings.

TRN transport overlay & visual metronome

Tap TRN in the header to open a full-screen transport: Play / Stop, prev / next locator, locator jumps, and a dynamic locator search. The TRN button flashes green on beat 1 and blue on the others when sync is engaged.

AbletonOSC Deep Sync

Long-press SYNC to open Deep Sync Settings: Clock Source (AbletonOSC, SDK BPM Simulator, Free / Internal), subdivisions, phase offsets, swing, and shapes for LFOs and Stutters. Status badge shows SYNCED / SDK / FREE.

2D curve preview on the phone

The mobile mapping editor includes a 2D response canvas with a moving dot for live input / output feedback while you tweak range and curve. Idle values and per-control rate are configurable.

Local HTTPS setup

A self-signed certificate is generated on first launch so the phone browser can request camera and microphone permissions. Current LAN IPs are included in the certificate SAN list.

Where it fits

A controller surface for Ableton Live 12.4.5+ Suite. Source-available under PolyForm Noncommercial 1.0.0, audited line by line, no telemetry, no account. It is not trying to be the broadest controller app - it focuses on tight Live Extensions SDK integration, mobile-first mapping, and transparency over feature breadth.

Feature Ableton RC Surface Other controller options
Install on phone Browser page served by the extension Usually a native app or web app
Cost Source-available for noncommercial use Varies by app
Protocol Uses Live's Extensions SDK Often OSC, MIDI, or a bridge app
Mapping workflow Can bind parameters and trigger notes from the phone Depends on each app
DAW support Built only for Live 12.4.5+ Suite Often broader DAW support
Phone sensors Motion, mic analysis, optional camera tracking Depends on the app and platform
Updates Manual .ablx releases Depends on each app's release process
Source code Source available under PolyForm Noncommercial 1.0.0 Varies by project

If you need a polished, proven controller today, an established app may be the better choice. RC Surface is for people who want to test a local Live Extension workflow and help shape the first public version.

How to use RC Surface

A guided walkthrough from unzipped folder to a Live set that responds to your phone. Read once, then perform.

  1. 1. Install

    Open Ableton Extensions Manager, click the downloaded .ablx, then confirm. Move the unpacked folder anywhere under Documents/Ableton/User Library/ — the manager registers it for you. After install, quit Live entirely and reopen so the new extension is loaded.

  2. 2. Pair the Max device

    Drag RC-Midi-Receiver.amxd from vendor/ onto any MIDI track in your Live Set. The device starts AbletonOSC (UDP 11000/11001) and a UDP MIDI listener (port 9000) automatically — no setup dialog. The device’s chain selector picks which chain receives the phone’s output.

  3. 3. Connect the phone

    Open the admin at http://<your-host>:4444/admin. It shows a QR code pointing at /phone. Scan it with your phone, or type the URL manually. The phone opens the PWA controller. Tap Connect. First connection takes ~1s (handshake + state snapshot).

  4. 4. Pad modes

    The 8×8 pad grid has four modes, selected by the tabs at the top. A — Scene launcher (8×8 = 64 clips). B — Clip detail (stop, double, MIDI notes view). C — Macro map (8 macros per track, across 8 tracks). D — Custom user mapping. Modes are persisted per device via localStorage and survive reconnects.

  5. 5. Sensors & audio

    The right rail exposes three sources: Motion (device orientation, 6DOF), Vision (camera + MediaPipe hand tracking, up to 60 FPS), and Audio (mic RMS + pitch + envelope via AudioWorklet). Toggle any source on — the phone asks for permission once, then streams values continuously.

  6. 6. Map sensor → Live

    In the admin, open the Mappings tab and pick a Live parameter (device knob, macro, track volume). Choose a sensor source on the phone side, then move the phone / camera / mic. The mapping records the range you sweep and saves it as a curve. Apply — the parameter now follows the sensor in real time.

  7. 7. Troubleshooting

    • Phone can’t find the host? Make sure both devices are on the same Wi-Fi. The host’s firewall must allow inbound TCP on port 4444.
    • AbletonOSC times out? The RC-Midi-Receiver.amxd must be on a track in the current Set. Re-add it if you started a new live set.
    • Vision stays at 0 FPS? Some browsers block Camera over insecure origins. Use http://localhost:4444/phone on the phone itself, or enable HTTPS.
    • Audio silent in Worklet? First click anywhere on the page — browsers require a user gesture before AudioContext can start.

Install and try it

Three steps once Live Extensions are enabled. The phone side opens in the browser, so there is no app-store install.

  1. Install the extension

    Download the Ableton-RC-Surface-x.y.z.ablx package. Double-click the file, and Ableton Live will automatically prompt you to install it under your User Library / Extensions folder.

  2. Open the panel

    Inside Live, **right-click on any Track Header or empty area in the Session View** to open the context menu, then select **Extensions → Ableton RC Surface → Show panel** (or press the keyboard shortcut Ctrl+Shift+A on Windows / Cmd+Shift+A on macOS). A pairing QR code will appear on screen.

  3. Open the phone controller

    Scan the QR code with your phone to open the controller page. Your phone browser may warn you about the self-signed HTTPS certificate. Accept the warning once, then test the connection before relying on it.

Troubleshooting note: If the Extensions menu or sub-options do not appear in the right-click menu or keyboard shortcut list, ensure **Developer Mode** is enabled in Ableton Live settings and restart the application.

Download v0.5.8.4 for Live 12.4.5+ Suite

Frequently Asked Questions

Setup notes, current limits, and privacy details for the v0.5.8.4 release.

Which versions of Ableton Live are supported?
Ableton RC Surface requires **Ableton Live 12.4.5+ Suite (Beta)** because it is built on Live's native Extensions SDK. Older versions (like Live 11 or standard versions without Extensions host support) will not run this extension.
Does it work on Android and iOS devices?
Yes. It is compatible with **iOS 15.4+ Safari** and modern **Chromium-based Android browsers** (Chrome, Edge). Touch, motion sensors, microphone, and camera hand-tracking require you to grant browser permissions when prompted. Older iOS versions (14.5 and below) are not supported because they cannot bypass local self-signed HTTPS certificate warnings.
Do I need an internet connection to use the phone controller?
For core controls, no. Touch, pads, knobs, faders, motion sensors, audio analysis, mappings, and the bridge run on your local area network. Camera hand tracking is the exception: the phone browser loads MediaPipe Hands runtime/model files from cdn.jsdelivr.net unless they are already cached. On a fully offline studio network, camera tracking will be unavailable while the rest of the controller remains active.
Can I map Ableton parameters from the phone?
Yes. Tap MAP near the BPM display, select a highlighted control, then choose Bind for Live parameters or Trigger Note for MIDI notes. The picker groups Song/Main/Master, normal tracks, return tracks, devices, and parameters so the target context stays visible.
What should I expect from latency?
The phone controller sends a 30 Hz bidirectional control stream over local Wi-Fi. It can feel responsive on a good local network, but there is no universal latency number: results depend on router quality, distance, interference, browser behavior, and host load. Test the exact setup before using it in a serious session.
Are my camera and microphone streams secure?
Microphone analysis and camera frame processing happen inside your phone's browser. Camera hand tracking does fetch MediaPipe runtime/model files from a public CDN, but this project does not upload raw audio or raw video frames; it sends only numeric control values to Ableton Live over the local WebSocket.
Is this an official Ableton product?
No. Ableton RC Surface is an independent source-available project. It is not affiliated with, sponsored by, or endorsed by Ableton AG. The "Ableton" name and the Live Extensions SDK are referenced for compatibility only.
Do I need the AbletonOSC extension for everything to work?
Only for Deep Sync features (transport metronome, beat-accurate LFO / Stutter sync, subdivisions, swing, phase). Deep Sync requires AbletonOSC running in Ableton Live (outgoing port 11000, incoming port 11001). Without it, the controller still works in SDK BPM Simulator or FREE / Internal clock modes.
How mature is the project right now?
v0.5.8.4 is out. npx tsc --noEmit is clean, the production build produces a working .ablx, and the package has been smoke-tested in Ableton Live 12.4.5+ Suite (Beta). Full validation on real iOS / Android devices is the next milestone.

Guides & Reference Documents

Reference documents for installing, testing, troubleshooting, and understanding the current limitations.

Installation Guide

Setup instructions for Windows, macOS, the local HTTPS warning, and first-run mapping checks.

Read INSTALL.md

User Manual

Breakdown of pad modes, mobile MAP mode, LFO/stutter controls, mixer pages, sensors, and snapshot behavior.

Read USER-GUIDE.md

Customization & Dev

Developer notes for mobile mapping, target routing, trigger notes, extending scripts, and adjusting the web interface.

Read CUSTOMIZATION.md

FAQ Document

Compatibility notes, diagnostics, and setup troubleshooting questions.

Read FAQ.md

Security Threat Model

Notes on local network behavior, HTTPS setup, WebSocket endpoints, and current security assumptions.

Read SECURITY.md

Privacy Policy

Official statement documenting local media processing, MediaPipe CDN use for hand tracking, and zero telemetry practices.

Read PRIVACY.md