Skip to content

Roland SH-32: MIDI CC, NRPN and OSC map

The Roland SH-32 as named OSC addresses — 51 CC, 2 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Roland SH-32
Vendor Roland
OSC prefix /sh_32
Source 🎛️ Derived from an Electra One community preset
Revision per Electra preset
Upstream electra-preset
Driver file devices/roland/sh_32.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/sh_32.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /sh_32/common/volume 50

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

MIDI CC and NRPN parameters (51)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/sh_32/common/volume 7 0–100 continuous Common
/sh_32/common/pan 10 -50–50 continuous Common
/sh_32/common/mono 126 0–127 continuous Common
/sh_32/common/unison 70 0–127 continuous Common
/sh_32/common/efx_intensity 93 0–127 continuous Common
/sh_32/common/amp 73 0–127 continuous Common
/sh_32/common/amp 75 0–127 continuous Common
/sh_32/common/amp 31 0–127 continuous Common
/sh_32/common/amp 72 0–127 continuous Common
/sh_32/common/portamento 65 0–127 continuous Common
/sh_32/common/porta_time 5 0–127 continuous Common
/sh_32/common/poly 127 0–127 continuous Common
/sh_32/common/legato 68 0–127 continuous Common
/sh_32/rev_dly_lvl 94 0–127 continuous
/sh_32/rev_dly_fdbk 13 0–127 continuous
/sh_32/osc_1/coarse_tune 21 -64–63 continuous OSC 1
/sh_32/osc_1/fine_tune 77 -64–63 continuous OSC 1
/sh_32/osc_2/coarse_tune 53 -64–63 continuous OSC 2
/sh_32/osc_2/fine_tune 76 -64–63 continuous OSC 2
/sh_32/osc_1_2/osc_balance 8 -50–50 continuous OSC 1&2
/sh_32/osc_1/pitch_envdepth 25 -64–63 continuous OSC 1
/sh_32/osc_1/pwm_depth 78 0–127 continuous OSC 1
/sh_32/osc_2/pitch_envdepth 57 -64–63 continuous OSC 2
/sh_32/osc_2/pwm_depth 79 0–127 continuous OSC 2
/sh_32/osc_1_2/pitch_env_a_d 26 0–127 continuous OSC 1&2
/sh_32/osc_1_2/pitch_env_a_d 27 0–127 continuous OSC 1&2
/sh_32/filter/filter_type 34 0–127 continuous Filter
/sh_32/filter/resonance 71 0–127 continuous Filter
/sh_32/filter/env_depth 81 -63–63 continuous Filter
/sh_32/filter/cutoff 74 0–127 continuous Filter
/sh_32/filter/key_follow 30 -40–40 continuous Filter
/sh_32/filter/filter_env 82 0–127 continuous Filter
/sh_32/filter/filter_env 83 0–127 continuous Filter
/sh_32/filter/filter_env 28 0–127 continuous Filter
/sh_32/filter/filter_env 29 0–127 continuous Filter
/sh_32/wave 15 0–127 continuous
/sh_32/fade_time 20 0–127 continuous
/sh_32/amp_depth 80 0–127 continuous
/sh_32/osc1_depth 18 0–127 continuous
/sh_32/rate 16 0–127 continuous
/sh_32/filter_depth 19 0–127 continuous
/sh_32/pan_depth 9 0–127 continuous
/sh_32/osc2_depth 50 0–127 continuous
/sh_32/wave 47 0–127 continuous
/sh_32/fade_time 52 0–127 continuous
/sh_32/amp_depth 24 0–127 continuous
/sh_32/osc1_depth 22 0–127 continuous
/sh_32/rate 17 0–127 continuous
/sh_32/filter_depth 23 0–127 continuous
/sh_32/pan_depth 41 0–127 continuous
/sh_32/osc2_depth 54 0–127 continuous

SysEx commands (2)

OSC address Arguments
/sh_32/common/insert_fx val: u7
/sh_32/common/analog_feel val: u7

Performance MIDI

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

Limitations

Imported from an Electra One community preset. The mapping reflects the preset author's editorial choices: parameter naming, ranges, and which params are exposed. Untested on hardware in this repo.