Skip to content

Behringer X32 FX Ch 9-16 plus: MIDI CC, NRPN and OSC map

The Behringer X32 FX Ch 9-16 plus as named OSC addresses — 58 CC, 17 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Behringer X32 FX Ch 9-16 plus
Vendor Behringer
OSC prefix /x32_fx_ch_9_16_plus
Source 🎛️ Derived from an Electra One community preset
Revision per Electra preset
Upstream electra-preset
Driver file devices/behringer/x32_fx_ch_9_16_plus.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/behringer/x32_fx_ch_9_16_plus.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /x32_fx_ch_9_16_plus/sub 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as x32_fx_ch_9_16_plus: ask “what can the Behringer X32 FX Ch 9-16 plus do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (58)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/x32_fx_ch_9_16_plus/sub 64 0–127 continuous
/x32_fx_ch_9_16_plus/kick 65 0–127 continuous
/x32_fx_ch_9_16_plus/mid 66 0–127 continuous
/x32_fx_ch_9_16_plus/high 68 0–127 continuous
/x32_fx_ch_9_16_plus/dp4_top 9 0–127 continuous
/x32_fx_ch_9_16_plus/dp4_bot 11 0–127 continuous
/x32_fx_ch_9_16_plus/orv 13 0–127 continuous
/x32_fx_ch_9_16_plus/mang 15 0–127 continuous
/x32_fx_ch_9_16_plus/main 70 0–127 continuous
/x32_fx_ch_9_16_plus/lxp5 17 0–127 continuous
/x32_fx_ch_9_16_plus/lxp1 19 0–127 continuous
/x32_fx_ch_9_16_plus/axefx 21 0–127 continuous
/x32_fx_ch_9_16_plus/770 23 0–127 continuous
/x32_fx_ch_9_16_plus/2 2 0–127 continuous
/x32_fx_ch_9_16_plus/3 3 0–127 continuous
/x32_fx_ch_9_16_plus/4 4 0–127 continuous
/x32_fx_ch_9_16_plus/5 5 0–127 continuous
/x32_fx_ch_9_16_plus/6 6 0–127 continuous
/x32_fx_ch_9_16_plus/7 7 0–127 continuous
/x32_fx_ch_9_16_plus/8 8 0–127 continuous
/x32_fx_ch_9_16_plus/9 9 0–127 continuous
/x32_fx_ch_9_16_plus/10 10 0–127 continuous
/x32_fx_ch_9_16_plus/11 11 0–127 continuous
/x32_fx_ch_9_16_plus/12 12 0–127 continuous
/x32_fx_ch_9_16_plus/13 13 0–127 continuous
/x32_fx_ch_9_16_plus/list 113 0–127 continuous
/x32_fx_ch_9_16_plus/14 14 0–127 continuous
/x32_fx_ch_9_16_plus/15 15 0–127 continuous
/x32_fx_ch_9_16_plus/wet_dry 1 0–127 continuous
/x32_fx_ch_9_16_plus/out_gain 16 0–127 continuous
/x32_fx_ch_9_16_plus/fader 100 0–127 continuous
/x32_fx_ch_9_16_plus/fader 101 0–127 continuous
/x32_fx_ch_9_16_plus/fader 102 0–127 continuous
/x32_fx_ch_9_16_plus/fader 103 0–127 continuous
/x32_fx_ch_9_16_plus/fader 104 0–127 continuous
/x32_fx_ch_9_16_plus/fader 105 0–127 continuous
/x32_fx_ch_9_16_plus/fader 106 0–127 continuous
/x32_fx_ch_9_16_plus/fader 107 0–127 continuous
/x32_fx_ch_9_16_plus/list 127 0–127 continuous
/x32_fx_ch_9_16_plus/volume 123 0–127 continuous
/x32_fx_ch_9_16_plus/8 18 0–127 continuous
/x32_fx_ch_9_16_plus/7 17 0–127 continuous
/x32_fx_ch_9_16_plus/1 11 0–127 continuous
/x32_fx_ch_9_16_plus/2 12 0–127 continuous
/x32_fx_ch_9_16_plus/3 13 0–127 continuous
/x32_fx_ch_9_16_plus/4 14 0–127 continuous
/x32_fx_ch_9_16_plus/5 15 0–127 continuous
/x32_fx_ch_9_16_plus/6 16 0–127 continuous
/x32_fx_ch_9_16_plus/1 11 0–127 continuous
/x32_fx_ch_9_16_plus/2 12 0–127 continuous
/x32_fx_ch_9_16_plus/3 13 0–127 continuous
/x32_fx_ch_9_16_plus/4 14 0–127 continuous
/x32_fx_ch_9_16_plus/5 15 0–127 continuous
/x32_fx_ch_9_16_plus/6 16 0–127 continuous
/x32_fx_ch_9_16_plus/list 0 0–127 continuous
/x32_fx_ch_9_16_plus/volume 126 0–127 continuous
/x32_fx_ch_9_16_plus/8 18 0–127 continuous
/x32_fx_ch_9_16_plus/7 17 0–127 continuous

SysEx commands (17)

OSC address Arguments
/x32_fx_ch_9_16_plus/coarse_1 val: u7
/x32_fx_ch_9_16_plus/fine_1 val: u7
/x32_fx_ch_9_16_plus/fdbk_1 val: u7
/x32_fx_ch_9_16_plus/coarse_2 val: u7
/x32_fx_ch_9_16_plus/fine_2 val: u7
/x32_fx_ch_9_16_plus/fdbk_2 val: u7
/x32_fx_ch_9_16_plus/coarse_3 val: u7
/x32_fx_ch_9_16_plus/fine_3 val: u7
/x32_fx_ch_9_16_plus/rate val: u7
/x32_fx_ch_9_16_plus/in_level val: u7
/x32_fx_ch_9_16_plus/base_select val: u7
/x32_fx_ch_9_16_plus/interval val: u7
/x32_fx_ch_9_16_plus/adjust val: u7
/x32_fx_ch_9_16_plus/out_level val: u7
/x32_fx_ch_9_16_plus/decay val: u7
/x32_fx_ch_9_16_plus/treble_decay val: u7
/x32_fx_ch_9_16_plus/bass_multiply val: u7

Performance MIDI

Notes, pitch bend and any CC are also available: /x32_fx_ch_9_16_plus/note/on <note> <velocity>, /x32_fx_ch_9_16_plus/cc/<number> <value>, /x32_fx_ch_9_16_plus/pitchbend <0-16383>, /x32_fx_ch_9_16_plus/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.