Skip to content

Roland TR-09: MIDI CC, NRPN and OSC map

The Roland TR-09 as named OSC addresses — 39 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Roland TR-09
Vendor Roland
OSC prefix /tr_09
Source 📦 Derived from MIDI Guide (community CC/NRPN data)
Firmware unknown
Revision per pencilresearch canonical CSV
Upstream pencilresearch
Data licence CC-BY-SA-4.0 — MIDI Guide (https://midi.guide) by Pencil Research and contributors
Driver file devices/roland/tr_09.json

Not tested on the device yet

This driver comes from documentation or community data and has not been checked on real hardware. If you own one, a quick test and a pull request promoting it helps everyone — see CONTRIBUTING.

How do you control 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_09.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /tr_09/general/shuffle 63

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

MIDI CC and NRPN parameters (39)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/tr_09/general/shuffle 9 0–127 continuous General
/tr_09/general/total_accent 71 0–127 continuous General
/tr_09/bass_drum/tune 20 0–127 continuous Bass drum
/tr_09/bass_drum/attack 21 0–127 continuous Bass drum
/tr_09/bass_drum/compression 22 0–127 continuous Bass drum
/tr_09/bass_drum/decay 23 0–127 continuous Bass drum
/tr_09/bass_drum/level 24 0–127 continuous Bass drum
/tr_09/snare_drum/tune 25 0–127 continuous Snare drum
/tr_09/snare_drum/snappy 26 0–127 continuous Snare drum
/tr_09/snare_drum/compression 27 0–127 continuous Snare drum
/tr_09/snare_drum/tone 28 0–127 continuous Snare drum
/tr_09/snare_drum/level 29 0–127 continuous Snare drum
/tr_09/low_tom/tune 46 0–127 continuous Low tom
/tr_09/low_tom/decay 47 0–127 continuous Low tom
/tr_09/low_tom/level 48 0–127 continuous Low tom
/tr_09/mid_tom/tune 49 0–127 continuous Mid tom
/tr_09/mid_tom/decay 50 0–127 continuous Mid tom
/tr_09/mid_tom/level 51 0–127 continuous Mid tom
/tr_09/high_tom/tune 52 0–127 continuous High tom
/tr_09/high_tom/decay 53 0–127 continuous High tom
/tr_09/high_tom/level 54 0–127 continuous High tom
/tr_09/rim_shot/tune 55 0–127 continuous Rim shot
/tr_09/rim_shot/decay 56 0–127 continuous Rim shot
/tr_09/rim_shot/level 57 0–127 continuous Rim shot
/tr_09/hand_clap/tune 58 0–127 continuous Hand clap
/tr_09/hand_clap/decay 59 0–127 continuous Hand clap
/tr_09/hand_clap/level 60 0–127 continuous Hand clap
/tr_09/closed_hi_hat/tune 61 0–127 continuous Closed hi hat
/tr_09/closed_hi_hat/decay 62 0–127 continuous Closed hi hat
/tr_09/closed_hi_hat/level 63 0–127 continuous Closed hi hat
/tr_09/open_hi_hat/tune 80 0–127 continuous Open hi hat
/tr_09/open_hi_hat/decay 81 0–127 continuous Open hi hat
/tr_09/open_hi_hat/level 82 0–127 continuous Open hi hat
/tr_09/crash_cymbal/tune 83 0–127 continuous Crash cymbal
/tr_09/crash_cymbal/decay 84 0–127 continuous Crash cymbal
/tr_09/crash_cymbal/level 85 0–127 continuous Crash cymbal
/tr_09/ride_cymbal/tune 86 0–127 continuous Ride cymbal
/tr_09/ride_cymbal/decay 87 0–127 continuous Ride cymbal
/tr_09/ride_cymbal/level 88 0–127 continuous Ride cymbal

Performance MIDI

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

Limitations

CC/NRPN only. SysEx (preset management, display control, bulk dump/load, vendor-proprietary opcodes) is NOT covered by pencilresearch. To extend this device with SysEx, sniff the vendor editor, add `sysex.header/footer` + `commands` blocks, and use `update_device.md` PR template.