One key press brings it up over your music software. Type what you want, read the plan, press Enter.
Roadie is a helper that sits beside your music software, in the lineage of Spotlight and Raycast. Press one key and a small window opens above your session. Type what you want — a command, a fragment, or a plain sentence — and Roadie turns it into a plan you can read before anything happens. Anything risky is previewed first, everything goes through your software’s own undo, and nothing destructive runs without you seeing it. Ableton Live 11 and 12 are the first hosts.
key-down to the first frame presented, p95, a 1.0 gate
43 queries · 79 at tier 1 · 42 previewed · 14 destructive
the ableton-liveapi-tools Remote Script, JSON over TCP on port 9004
of 412 respondents; 11 % would accept an assistant that acts unseen
Each one is a requirement in the book with a stable identifier, and each carries the limit the book states beside it. They are the book’s requirements, and the product is on sale.
A typed command resolves the same way every time: exact and alias first, then a fuzzy layer with a published threshold and frecency, then the object by name. The AI layer is only asked when those decline, or when you prefix the request with >.
The limit:Layers 1 to 3 must run offline, and the fuzzy threshold and weights are constants in the grammar, not tunable per user (GR-001, GR-002). Proposed
Every action carries a risk tier from 0 to 3. Tier 2 shows a preview and runs on Enter. Tier 3 needs ⌘↩, a chord no other confirmation uses, shows the undo prediction in red, and is never batched, even inside an AI plan.
The limit:A tier 3 confirm within 300 ms of the preview appearing is ignored, to defeat key repeat and a double press (KB-031). Proposed
Roadie keeps no undo stack of its own. It drives the host’s undo and redo, records the host’s undo depth before and after every plan, and so can say how many steps “undo last plan” will take before it takes them.
The limit:The Live script does not report undo depth, so the adapter keeps a shadow counter and warns when the user has edited in the DAW since the plan ran (UX-072). Proposed
Prefix > and Roadie builds a compact description of the session, asks a language model for a plan in Roadie’s own action vocabulary, grounds every index against the snapshot, and shows the plan before anything runs. Accept it, edit it in the input line, or save it as a macro with your words as its alias.
The limit:Remote, local or off, and which is the default is an open question (Chapter 20); the palette must work fully with it off (AI-040). A preview within 2.5 s at p75 with the remote provider; a 6 s timeout falls back to the grammar. Proposed
Every executed plan is written in the command grammar with its timestamp, its outcome and the host’s undo depth. Open it as a view, export it as text or JSON, re-run any entry with one key, or hand it to a class as the handout.
The limit:The log lives in memory for the session and reaches disk only when you export it; nothing project-specific is written otherwise (Chapter 17, session data). Proposed
For the stage: type 25 % larger, the high-contrast palette, no detail pane, log strip or status bar, and tier 3 commands hidden unless you type the full name and a ! suffix. The palette waits for Escape after a result so you can glance down and confirm.
The limit:Toggled from the palette or the menu bar and persisted across restarts (UX-080); the ! suffix is an open question the stage checklist will settle. Proposed
Prefix ? and Roadie reads instead of writing: ? frozen tracks runs one read per track and renders a table you can arrow through, with a row count, and copy as tab-separated text with one key.
The limit:Queries are tier 0 and never change state; a plan made only of tier 0 steps renders as a result, never as a preview. Proposed
A macro is a JSON file: a name, aliases, typed arguments and a list of steps. A scripted command is a function in a sandbox with no file, network or process access. The roadie-sdk tool checks a folder and runs a command against a recorded snapshot before you ship it.
The limit:No store, signing or review in 1.0; sharing is copying a folder. A script is limited to 200 ms and 16 MB, and its steps pass the same validator as an AI plan (SDK-010 to SDK-012). Proposed
The grammar, the matching, the session snapshot and the adapter run on the machine. Only the AI layer may make a network request, only when you have configured a remote provider, with a visible indicator in the status bar and the menu bar while one is in flight.
The limit:Provider keys live in the OS keychain, never in a settings file; telemetry is opt-in and carries no input text, no names and no plan contents (SC-020, SC-030). Proposed
The grammar, the validator and the policy are the same for a typed command, a macro and an AI plan: the planner is a side branch that feeds the validator, never a path around it. Every budget on this page is a 1.0 gate, measured on a 2020 laptop-class machine with a 24-track session.
When two conflict, the earlier one wins.
| # | Principle | What it commits Roadie to |
|---|---|---|
| 1 | Never surprise the host | Every action maps to a known host operation with known side effects; every risky action is previewed; every plan reverses through host undo. When Roadie cannot tell what a request will do, it asks rather than guesses. |
| 2 | Keyboard first, mouse never required | Every state is reachable with the keyboard alone. The mouse is a convenience, never a requirement: no hover-only affordance, and Enter and Escape are always meaningful. |
| 3 | Deterministic before probabilistic | A typed name always resolves to the same command; the AI layer is asked only after the deterministic layers decline, and answers in the same vocabulary. |
| 4 | Show the plan | When Roadie does something non-trivial, the user sees it in terms they could have typed. No hidden state, and the log is a first-class part of the interface. |
| 5 | Invisible until summoned | No persistent window, no dock presence beyond a menu bar icon, no notifications that interrupt. The palette appears when called, on every monitor, over every DAW window, in under a frame. |
| 6 | One frame to feel native | The hotkey-to-visible budget is one frame at 60 Hz. A layer that cannot meet its budget degrades rather than making the user wait. |
| 7 | The host’s vocabulary, not ours | A scene is a scene, a return track is a return track, a take lane is a take lane; a host-specific command is offered only when that host is connected. |
| 8 | Extensible by the people who need it most | A documented extension model, so a drummer’s live looping rig or a studio’s routing presets can be built without waiting for the core team. |
A destructive command never runs on Enter alone, and never within 300 ms of its preview. On stage the palette drops everything but the input and the result, and keeps tier 3 out of reach unless the full name and a ! suffix are typed.
macOS chords are shown; on Windows ⌘ is Ctrl throughout. Every chord is remappable from /keys and checked for conflicts, and Escape always makes progress toward hidden: no state may trap the user.
| Chord | Action |
|---|---|
| ⌥ Space | Show or hide Roadie |
| Esc | Back · clear · hide |
| ↩ | Run, tier 0 to 1 · confirm, tier 2 |
| ⌘ ↩ | Confirm destructive, tier 3 · run and keep open |
| ↑ ↓ | Move selection |
| ⇥ / ⇧ ⇥ | Next or previous argument slot · accept completion |
| ⌘ K | Alternatives for the selected object |
| ⌘ D | Toggle the detail pane |
| ⌘ L | Log view |
| ⌘ Z / ⌘ ⇧ Z | Undo last plan · redo |
| ⌘ 1 … 9 | Run result N |
| ⌘ C | Copy input · plan · result |
| ⌘ , | Settings |
| ⌘ ⇧ P | Performance mode |
| Keyword | Restricts results to | Example |
|---|---|---|
| track | Track commands and track objects | track mute bass |
| clip | Clip commands and clip slots | clip launch bass 3 |
| scene | Scene commands and scenes | scene 12 |
| dev | Device commands and devices | dev reverb decay 2.4 |
| send · ret | Sends and return tracks | send bass a 0.4 |
| ? | Queries, tier 0 | ? frozen tracks |
| > | Ask Roadie: the AI layer | > mute everything but drums |
| / | Settings and Roadie’s own commands | /keys |
The reference tokens: . is the cursor object, #3 an index (1-based, as the DAW shows it), last the object most recently created in this plan, all every object (which raises the scope limit), and ! allows a tier 3 command in performance mode.
The personas and the jobs they were consolidated into are the book’s; the figures under them are the research it cites, and are tagged Reported.
Make the common five-step setups one command. Let her type tempo 124 and have it happen. Never make her look at a dialog.
Proposed
Be absolutely predictable: scene 27 launches scene 27 every single time. Destructive commands must be impossible to trigger by accident, and the palette must be legible in a dark room at arm’s length.
Proposed
Expose queries as well as commands: which tracks are frozen, the routing of track 12. House templates as reusable commands, in the host’s own vocabulary, so her muscle memory transfers.
Proposed
A log that is readable on a projector and expressible as something students could type. The AI layer must explain its plan in the same vocabulary.
Proposed
An SDK with a clear command schema, a local test harness and a way to hand commands to colleagues without a marketplace. He ships his first extension in an afternoon.
Proposed
The five personas were built from interviews with producers, engineers, live performers and educators between June and September 2026, and a survey of 412 DAW users. The split that shaped the product: 83 % would accept an assistant that shows a plan before acting, 11 % one that acts unseen.
Reported
producers, engineers, live performers and educators, June to September 2026
recruited from DAW user communities; Live is the primary DAW for 61 %
Spotlight, Alfred, Raycast, PowerToys Run or similar
repetition 58 %, recall 46 %; the risk of a mis-click, 64 % of the 97 performers
against 11 % for one that acts without showing one: the basis of the plan-preview model
23 % have written or modified a Remote Script, a controller script or a Max for Live device
Roadie sits beside the DAW, not inside it: it is not a plug-in and not a Max for Live device, because either would tie it to one host and one window. The adapter is the only part that knows anything about a particular DAW.
The 1.0 host, through the open-source ableton-liveapi-tools Remote Script (GPL-3.0), shipped unmodified beside Roadie and never linked: 220 actions over a local JSON socket. Take lanes and display values need Live 12.
Proposed
A 1.x candidate, through a controller extension speaking the same protocol; it would be the first host with real cursor tracking and an undo depth.
Open question
A 1.x candidate, through ReaScript or the Web Remote; its action list is addressable by id, which makes a very large vocabulary cheap to expose.
Open question
Not planned: no public control API beyond Scripter and key commands, so an adapter would be limited to transport and keyboard-driven commands.
Open question
Three extensions ship in the SDK repository as worked examples and are installable from the first-run card.
Colour and name tracks by kind, remove empty scenes with a confirmation per scene, freeze heavy tracks.
Proposed
Scene launch by number with confirmation off, group mute and unmute by colour, tempo nudge presets, follow-action timing presets.
Proposed
Export the session log as a numbered handout with each step’s plain-language description.
Proposed
The release plan of RDE-SPEC-001, kept for the record: a skeleton in November 2026, a public 1.0 in April 2027. Roadie is on sale now, ahead of that plan, on the owner’s word of 24 October 2026.
Palette shell on macOS, the hotkey, grammar layers 1 and 2, a Live adapter with transport and tracks, the log
Nov 2026
The full Live vocabulary mapped and tiered; the validator and the policy; previews; undo bookkeeping
Dec 2026
The AI layer with remote and local providers; context compaction; the adversarial corpus; the Windows shell
Jan 2027
The SDK, macros, scripted commands, roadie-sdk, the three reference extensions
Feb 2027
Performance mode, the accessibility pass, the performance gates, telemetry, crash reporting
Mar 2027
Public release on macOS and Windows, for Live 11 and 12
Apr 2027
p95 unless noted. Each one is a release gate, measured on the reference hardware and reported in the release notes; a regression of more than 20 % between builds blocks a release until explained.
| Path | Budget | Measured from → to |
|---|---|---|
| Hotkey → palette visible | 16 ms | key-down → first frame presented |
| Hotkey → input accepts a keystroke | 80 ms | key-down → character rendered |
| Keystroke → results updated | 16 ms | key-down → rows rendered |
| Enter → tier 1 action acknowledged by the host | 150 ms | key-down → ok response parsed |
| Enter → tier 2 preview shown | 50 ms | key-down → preview rendered |
| Macro of 8 steps → all acknowledged | 400 ms | key-down → last ok |
| > request → preview, remote provider | 2.5 s at p75; 6 s timeout | key-down → preview rendered |
| Palette hide | 16 ms | key-down → window hidden |
| Zero-state suggestions reflect a host change | 2 s | host change → row updated |
| Resource | Budget |
|---|---|
| Idle CPU, palette hidden, host connected | under 0.5 % of one core |
| Idle memory | under 80 MB resident |
| Peak memory during a full snapshot of 128 tracks | under 200 MB |
| Disk | under 40 MB installed, extensions aside |
| Network with the AI layer off | zero bytes |
Tiers are defined on the action, not the command, so a macro inherits the highest tier of its members and an AI plan is tiered by its worst step.
| Tier | Meaning | Confirmation | Examples |
|---|---|---|---|
| 0 | Read-only query | None | get_track_info, get_session_info |
| 1 | Reversible state change with no data loss | None; logged | set_tempo, mute_track, launch_scene |
| 2 | Reversible but structural, or affects many objects | Preview shown, Enter to run | create_midi_track, add_device, quantize_clip |
| 3 | Destructive, hard to reverse, or affects files | Explicit confirmation with ⌘↩, never batched | delete_track, delete_clip, flatten_track, consolidate_clip |
Every built-in command for the Ableton Live adapter, by tier.
| Tier | Commands | What the tier means |
|---|---|---|
| 0 | 43 | queries: they read and never write |
| 1 | 79 | run at once and are logged |
| 2 | 42 | preview first, Enter to run |
| 3 | 14 | confirm with ⌘↩, one at a time |
| Total | 178 | 178 commands over 220 script actions; a command marked Live 12 is hidden on Live 11 |
The one measured table on this page: the book’s own measurements against Live 12 on the reference hardware, through the upstream Remote Script, which processes one queued command per display tick at about 60 Hz. The adapter uses them to set its timeouts and to estimate a macro’s duration in a preview.
| Operation | Median | p95 |
|---|---|---|
| ping round trip | 18 ms | 34 ms |
| set_tempo | 19 ms | 36 ms |
| get_track_info, a track with 6 devices | 21 ms | 41 ms |
| create_midi_track | 48 ms | 110 ms |
| load_device, a native device | 140 ms | 420 ms |
| freeze_track, an 8-bar clip with 4 devices | blocking; the script returns after Live completes | 1.5 to 6 s |
| search_browser, limit 40 | 65 ms | 180 ms |
Measured. The three slowest rows carry an expect-delay flag in their action specification, so a preview can say so and the executor can extend its timeout to 10 s for them.
| Platform | Permission | When requested | Why |
|---|---|---|---|
| macOS | Input Monitoring | First run | the global hotkey |
| macOS | Accessibility | Only if focus follows host is enabled | reading the focused window’s owner |
| macOS | Network, outgoing | Only when a remote provider is configured | AI requests |
| Windows | None beyond user level | — | a global hook through RegisterHotKey, no elevation |
Roadie never requests Full Disk Access, Screen Recording, the microphone or the camera, and installs no kernel extension, driver or launch agent.
The reference script binds 127.0.0.1:9004 with no authentication, and any local process can send it commands. Roadie cannot fix that in 1.0 because the script is an upstream project; the first-run card and the install command say so before copying it, and a shared-secret handshake has been proposed upstream.
Every figure on this page is from “Roadie — Product & Technical Specification”, v1.0, 16 October 2026 (RDE-SPEC-001, a draft for review), and carries this site’s tag: Proposed for a 1.0 target, Measured for the protocol timings the book took against Live 12, Reported for its research. Its price is the owner’s, set on 24 October 2026, and the book names none.