Skip to content

Behringer Pro 800: MIDI CC, NRPN and OSC map

The Behringer Pro 800 as named OSC addresses — 102 CC, 1 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Behringer Pro 800
Vendor Behringer
OSC prefix /pro_800
Source 🎛️ Derived from an Electra One community preset
Revision per pencilresearch canonical CSV
Upstream electra-preset
Driver file devices/behringer/pro_800.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/pro_800.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /pro_800/banksel 63

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

MIDI CC and NRPN parameters (103)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/pro_800/banksel continuous
/pro_800/mod_wheel 1 0–127 continuous
/pro_800/breath 2 0–127 continuous
/pro_800/master_tune 3 0–127 continuous
/pro_800/nrpn_data_msb 6 0–127 continuous
/pro_800/mainvolume 7 0–127 continuous
/pro_800/osca_freq 80 0–127 continuous
/pro_800/osca_vol 81 0–127 continuous
/pro_800/oscapw 82 0–127 continuous
/pro_800/oscb_freq 83 0–127 continuous
/pro_800/oscb_vol 84 0–127 continuous
/pro_800/oscbpw 85 0–127 continuous
/pro_800/oscb_fine 86 0–127 continuous
/pro_800/vcf_freq 87 0–127 continuous
/pro_800/vcf_reso 88 0–127 continuous
/pro_800/vcfen_vamount 89 0–127 continuous
/pro_800/vcf_rel 90 0–127 continuous
/pro_800/vcf_sus 91 0–127 continuous
/pro_800/vcf_dec 92 0–127 continuous
/pro_800/vcf_atck 93 0–127 continuous
/pro_800/vca_rel 94 0–127 continuous
/pro_800/vca_sus 95 0–127 continuous
/pro_800/vca_dec 100 0–127 continuous
/pro_800/vca_atck 101 0–127 continuous
/pro_800/pmod_filter_envamount 102 0–127 continuous
/pro_800/pmod_osc_bamount 103 0–127 continuous
/pro_800/lfo_freq 104 0–127 continuous
/pro_800/lfo_amount 105 0–127 continuous
/pro_800/glide 106 0–127 continuous
/pro_800/vca_vel 107 0–127 continuous
/pro_800/vcf_vel 108 0–127 continuous
/pro_800/moddelay 109 0–127 continuous
/pro_800/vib_freq 110 0–127 continuous
/pro_800/vib_amt 111 0–127 continuous
/pro_800/unison_detune 112 0–127 continuous
/pro_800/noise 113 0–127 continuous
/pro_800/nrpn_data_lsb 38 0–127 continuous
/pro_800/vca_aftertouch 114 0–127 continuous
/pro_800/vcf_aftertouch 115 0–127 continuous
/pro_800/osca_saw 49 0–127 continuous
/pro_800/osca_square 50 0–127 continuous
/pro_800/oscb_saw 51 0–127 continuous
/pro_800/osbb_tri 52 0–127 continuous
/pro_800/osbb_square 53 0–127 continuous
/pro_800/oscb_sync 54 0–127 continuous
/pro_800/pmod_freq_a 55 0–127 continuous
/pro_800/pmod_vcf 56 0–127 continuous
/pro_800/lfo_shape 57 0–127 continuous
/pro_800/lfo_speed 58 0–127 continuous
/pro_800/lfo_targets 59 0–127 continuous
/pro_800/vcf_keyboard 60 0–127 continuous
/pro_800/vcfenv_exp 61 0–127 continuous
/pro_800/vcfenv_speed 62 0–127 continuous
/pro_800/vcaenv_exp 63 0–127 continuous
/pro_800/sustainpedal 64 0–127 continuous
/pro_800/unison 65 0–127 continuous
/pro_800/bendertarget 66 0–127 continuous
/pro_800/modwheel_amount 67 0–127 continuous
/pro_800/chromatic_pitch_a 68 0–127 continuous
/pro_800/chromatic_pitch_b 69 0–127 continuous
/pro_800/modwheel_target 70 0–127 continuous
/pro_800/vibrato_target 71 0–127 continuous
/pro_800/vcaenv_speed 72 0–127 continuous
/pro_800/arp_mode 73 0–127 continuous
/pro_800/lfo_dest_freq 74 0–127 continuous
/pro_800/lfo_dest_filter 75 0–127 continuous
/pro_800/lfo_dest_pwm 76 0–127 continuous
/pro_800/nrpn_dataincrement 96 0–127 continuous
/pro_800/nrpn_datadecrement 97 0–127 continuous
/pro_800/nrpn_param_lsb 98 0–127 continuous
/pro_800/nrpn_param_msb 99 0–127 continuous
/pro_800/lfo_aftertouch 116 0–127 continuous
/pro_800/allsoundsoff 120 0–127 continuous
/pro_800/allnotesoff 123 0–127 continuous
/pro_800/oscillators/osc_a_freq 80 0–127 continuous Oscillators
/pro_800/oscillators/osc_b_freq 83 0–127 continuous Oscillators
/pro_800/pmod_flt_amt 102 0–127 continuous
/pro_800/oscillators/osc_a_vol 81 0–127 continuous Oscillators
/pro_800/oscillators/osc_b_vol 84 0–127 continuous Oscillators
/pro_800/pmod_osc_b_amt 103 0–127 continuous
/pro_800/mod_delay 109 0–127 continuous
/pro_800/oscillators/osc_a_pw 82 0–127 continuous Oscillators
/pro_800/oscillators/osc_b_pw 85 0–127 continuous Oscillators
/pro_800/oscillators/noise 71 0–127 continuous Oscillators
/pro_800/oscillators/osc_b_fine 86 0–127 continuous Oscillators
/pro_800/vcf_env_amount 89 0–127 continuous
/pro_800/lfo_dest_filt 75 0–127 continuous
/pro_800/vca_env 101 0–127 continuous
/pro_800/vca_env 100 0–127 continuous
/pro_800/vca_env 95 0–127 continuous
/pro_800/vca_env 94 0–127 continuous
/pro_800/bank_a_b_c_d 0 0–127 continuous
/pro_800/vcf_env 93 0–127 continuous
/pro_800/vcf_env 92 0–127 continuous
/pro_800/vcf_env 91 0–127 continuous
/pro_800/vcf_env 90 0–127 continuous
/pro_800/osc_a_saw 48 0–127 continuous
/pro_800/osc_a_saw 49 0–127 continuous
/pro_800/osc_a_square 50 0–127 continuous
/pro_800/osc_b_saw 51 0–127 continuous
/pro_800/osc_b_tri 52 0–127 continuous
/pro_800/osc_b_square 53 0–127 continuous
/pro_800/osc_b_sync 54 0–127 continuous

SysEx commands (1)

OSC address Arguments
/pro_800/vcf_freq val: u7

Performance MIDI

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