Written from devices/roland/tr-909.vendor.fw-unknown.jsonEdit on GitHubJSON

Roland TR-909 MIDI CC chart, NRPN and OSC map

The Roland TR-909 MIDI implementation: 6 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.

  • sourcemaker's documentation
  • real unitnot yet checked

Not checked on a real Roland TR-909 yet. Own one? Load a sound or send a control, and tell us whether it worked.

Maker
Roland
Version
Owner's Manual MIDI Implementation Chart (1984); no firmware version
Source
maker's documentation
OSC prefix
/tr_909

Use it

Find the MIDI ports, then start the bridge with this driver:

osc-bridge detect        # prints the ready-to-run line for what is plugged in
osc-bridge run --device devices/roland/tr-909.vendor.fw-unknown.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /tr_909/transport/clock

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as tr_909: ask “what can the Roland TR-909 do?” and it reads this map with list_routes. See the MCP guide.

MIDI controls

6 controls, each with its number, its range and the name to send

SysEx commands

Command Arguments Name to send
Transport clock /tr_909/transport/clock
Transport start /tr_909/transport/start
Transport continue /tr_909/transport/continue
Transport stop /tr_909/transport/stop
Song position beats: u14 /tr_909/song/position
Song select song: u7 /tr_909/song/select

Performance MIDI

Notes, pitch bend and any CC are also available: /tr_909/note/on <note> <velocity>, /tr_909/cc/<number> <value>, /tr_909/pitchbend <0-16383>, /tr_909/program_change <n>.

JSON

Limitations

Source: the scanned TR-909 Owner's Manual; its MIDI section points to a separate 'What's MIDI' leaflet that is not part of it. The chart says notes 35-51 are recognized and 'assign to each rhythm voice', but this manual does not say which note plays which voice, so no per-voice trigger is listed; play notes 35-51 with /note/on and listen. Velocity is recognized; no Control Change, Program Change, pitch bend or aftertouch. Recognized channel: the chart prints default 10, the text says the receive channel is 0 (omni) at power-on; set it with SHUFFLE/FLAM + a main key. System Exclusive is listed 'for rhythm seq' without a format, so it is not mapped. The TR-909 transmits notes 36-51 (velocity 64-96) on channel 11 in External Instrument mode. Untested on hardware.

Frequently asked questions

Can an AI agent like Claude control the Roland TR-909?

Yes: SynthHub's hosted MCP server knows the Roland TR-909's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.