Written from devices/roland/sp-606.vendor.fw-unknown.jsonEdit on GitHubJSON

Roland SP-606 MIDI CC chart, NRPN and OSC map

The Roland SP-606 MIDI implementation: 12 CC, 25 SysEx commands, 64 drum sounds, each named, for Claude (MCP), SuperCollider or any OSC app.

  • sourcemaker's documentation
  • real unitnot yet checked

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

Maker
Roland
Version
MIDI Implementation Version 1.00 (Mar. 30, 2004); OS version not stated
Source
maker's documentation
OSC prefix
/sp_606

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/sp-606.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 /sp_606/mfx1/type 63

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

MIDI controls

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

Effects

Control CC Range Name to send
Mfx1 type 12 0–127 /sp_606/mfx1/type
Mfx1 ctrl1 13 0–127 /sp_606/mfx1/ctrl1
Mfx1 ctrl2 14 0–127 /sp_606/mfx1/ctrl2
Mfx1 ctrl3 15 0–127 /sp_606/mfx1/ctrl3
Mfx2 type 20 0–127 /sp_606/mfx2/type
Mfx2 ctrl1 21 0–127 /sp_606/mfx2/ctrl1
Mfx2 ctrl2 22 0–127 /sp_606/mfx2/ctrl2
Mfx2 ctrl3 23 0–127 /sp_606/mfx2/ctrl3
Mfx1 switch 24 switch /sp_606/mfx1/switch
Mfx2 switch 25 switch /sp_606/mfx2/switch

Channel mode

Control CC Range Name to send
All sounds off 120 trigger /sp_606/all_sounds_off
All notes off 123 trigger /sp_606/all_notes_off

SysEx commands

Command Arguments Name to send
Transport clock /sp_606/transport/clock
Transport start /sp_606/transport/start
Transport continue /sp_606/transport/continue
Transport stop /sp_606/transport/stop
Song position beats: u14 /sp_606/song/position
Identity request /sp_606/identity/request
Ext control mode mode: enum /sp_606/ext/control_mode
Ext pad1 led state: enum /sp_606/ext/pad1/led
Ext pad2 led state: enum /sp_606/ext/pad2/led
Ext pad3 led state: enum /sp_606/ext/pad3/led
Ext pad4 led state: enum /sp_606/ext/pad4/led
Ext pad5 led state: enum /sp_606/ext/pad5/led
Ext pad6 led state: enum /sp_606/ext/pad6/led
Ext pad7 led state: enum /sp_606/ext/pad7/led
Ext pad8 led state: enum /sp_606/ext/pad8/led
Ext pad9 led state: enum /sp_606/ext/pad9/led
Ext pad10 led state: enum /sp_606/ext/pad10/led
Ext pad11 led state: enum /sp_606/ext/pad11/led
Ext pad12 led state: enum /sp_606/ext/pad12/led
Ext pad13 led state: enum /sp_606/ext/pad13/led
Ext pad14 led state: enum /sp_606/ext/pad14/led
Ext pad15 led state: enum /sp_606/ext/pad15/led
Ext pad16 led state: enum /sp_606/ext/pad16/led
Ext sampling meter numerator beats: u7 /sp_606/ext/sampling/meter_numerator
Ext sampling meter denominator value: enum /sp_606/ext/sampling/meter_denominator

Drum sounds

Send <name> [velocity] [note] [channel] to fire the sound (Note On).

Sound Note(s) Channel Velocity Name to send
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 1 35 basic /sp_606/pad/note/35
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 2 36 basic /sp_606/pad/note/36
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 3 37 basic /sp_606/pad/note/37
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 4 38 basic /sp_606/pad/note/38
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 5 39 basic /sp_606/pad/note/39
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 6 40 basic /sp_606/pad/note/40
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 7 41 basic /sp_606/pad/note/41
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 8 42 basic /sp_606/pad/note/42
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 9 43 basic /sp_606/pad/note/43
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 10 44 basic /sp_606/pad/note/44
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 11 45 basic /sp_606/pad/note/45
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 12 46 basic /sp_606/pad/note/46
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 13 47 basic /sp_606/pad/note/47
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 14 48 basic /sp_606/pad/note/48
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 15 49 basic /sp_606/pad/note/49
Pad Bank 1 (+4 per channel above Pad Base Ch), pad 16 50 basic /sp_606/pad/note/50
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 1 51 basic /sp_606/pad/note/51
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 2 52 basic /sp_606/pad/note/52
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 3 53 basic /sp_606/pad/note/53
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 4 54 basic /sp_606/pad/note/54
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 5 55 basic /sp_606/pad/note/55
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 6 56 basic /sp_606/pad/note/56
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 7 57 basic /sp_606/pad/note/57
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 8 58 basic /sp_606/pad/note/58
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 9 59 basic /sp_606/pad/note/59
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 10 60 basic /sp_606/pad/note/60
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 11 61 basic /sp_606/pad/note/61
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 12 62 basic /sp_606/pad/note/62
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 13 63 basic /sp_606/pad/note/63
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 14 64 basic /sp_606/pad/note/64
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 15 65 basic /sp_606/pad/note/65
Pad Bank 2 (+4 per channel above Pad Base Ch), pad 16 66 basic /sp_606/pad/note/66
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 1 67 basic /sp_606/pad/note/67
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 2 68 basic /sp_606/pad/note/68
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 3 69 basic /sp_606/pad/note/69
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 4 70 basic /sp_606/pad/note/70
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 5 71 basic /sp_606/pad/note/71
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 6 72 basic /sp_606/pad/note/72
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 7 73 basic /sp_606/pad/note/73
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 8 74 basic /sp_606/pad/note/74
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 9 75 basic /sp_606/pad/note/75
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 10 76 basic /sp_606/pad/note/76
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 11 77 basic /sp_606/pad/note/77
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 12 78 basic /sp_606/pad/note/78
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 13 79 basic /sp_606/pad/note/79
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 14 80 basic /sp_606/pad/note/80
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 15 81 basic /sp_606/pad/note/81
Pad Bank 3 (+4 per channel above Pad Base Ch), pad 16 82 basic /sp_606/pad/note/82
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 1 83 basic /sp_606/pad/note/83
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 2 84 basic /sp_606/pad/note/84
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 3 85 basic /sp_606/pad/note/85
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 4 86 basic /sp_606/pad/note/86
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 5 87 basic /sp_606/pad/note/87
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 6 88 basic /sp_606/pad/note/88
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 7 89 basic /sp_606/pad/note/89
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 8 90 basic /sp_606/pad/note/90
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 9 91 basic /sp_606/pad/note/91
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 10 92 basic /sp_606/pad/note/92
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 11 93 basic /sp_606/pad/note/93
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 12 94 basic /sp_606/pad/note/94
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 13 95 basic /sp_606/pad/note/95
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 14 96 basic /sp_606/pad/note/96
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 15 97 basic /sp_606/pad/note/97
Pad Bank 4 (+4 per channel above Pad Base Ch), pad 16 98 basic /sp_606/pad/note/98

Performance MIDI

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

JSON

Limitations

Source: SP-606 Owner's Manual (MIDI Implementation 1.00, 2004). The SP-606 receives no Program Change, bank or sample-parameter messages; only the effect CCs, pad notes 35-98, sync, Identity Request and the EXT-mode DT1 addresses. Pad notes: each MIDI channel from Pad Base Ch to Pad Base Ch + 7 reaches four pad banks, so the trigger table describes the base channel; send on a higher channel to reach banks 5-32. Left out: EXT SEQ SAMPLING BPM (11 00 00 00, 400-2000 split into three 4-bit bytes) and Beat (11 00 00 03, 1-999, same split) — the bridge's frame engine cannot split a value into nibbles. V-LINK messages (manual chapter 10) are not mapped. Untested on hardware.

Frequently asked questions

How many parameters of the Roland SP-606 can be controlled over MIDI?

SynthHub's map of the Roland SP-606 lists 12 MIDI CC parameters, each with its number, range and a readable name; the full chart is on this page.

Can an AI agent like Claude control the Roland SP-606?

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