Skip to content

Oberheim UB-Xa V1: MIDI CC, NRPN and OSC map

The Oberheim UB-Xa V1 as named OSC addresses — 7 CC, 197 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Oberheim UB-Xa V1
Vendor Oberheim
OSC prefix /ub_xa_v1
Source 🎛️ Derived from an Electra One community preset
Revision per Electra preset
Upstream electra-preset
Driver file devices/oberheim/ub_xa_v1.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/oberheim/ub_xa_v1.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /ub_xa_v1/overall_volume 127

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as ub_xa_v1: ask “what can the Oberheim UB-Xa V1 do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (204)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/ub_xa_v1/overall_volume 7 0–254 continuous
/ub_xa_v1/portamento 0 / 0 0–255 continuous
/ub_xa_v1/porta_bend 0 / 1 -32–31 continuous
/ub_xa_v1/patch_volume 1 / 0 0–255 continuous
/ub_xa_v1/unison 0 / 4 0–127 continuous
/ub_xa_v1/unison_voices 0 / 6 0–127 continuous
/ub_xa_v1/poly_voices 0 / 5 0–127 continuous
/ub_xa_v1/atrophy 7 / 17 0–127 continuous
/ub_xa_v1/osc2_detune 0 / 2 -127–128 continuous
/ub_xa_v1/voice_detune 0 / 3 0–255 continuous
/ub_xa_v1/porta_range 0 / 12 0–255 continuous
/ub_xa_v1/porta_spread 0 / 11 0–255 continuous
/ub_xa_v1/hold 64 0–127 continuous
/ub_xa_v1/sostenuto 66 0–127 continuous
/ub_xa_v1/breath 2 0–127 continuous
/ub_xa_v1/pan 10 -64–63 continuous
/ub_xa_v1/arp_on_off 8 / 0 0–127 continuous
/ub_xa_v1/hold 8 / 2 0–127 continuous
/ub_xa_v1/arp_mode 8 / 1 0–127 continuous
/ub_xa_v1/octaves 8 / 6 0–127 continuous
/ub_xa_v1/arp_repeat 8 / 8 0–10 discrete
/ub_xa_v1/arp_time 8 / 3 0–127 continuous
/ub_xa_v1/arp_gate 8 / 4 0–99 continuous
/ub_xa_v1/arp_sync 8 / 5 0–127 continuous
/ub_xa_v1/arp_swing 8 / 7 0–10 discrete
/ub_xa_v1/patch_tempo 9 / 1 40–240 continuous
/ub_xa_v1/arp_on_off 8 / 0 0–127 continuous
/ub_xa_v1/hold 8 / 2 0–127 continuous
/ub_xa_v1/arp_mode 8 / 1 0–127 continuous
/ub_xa_v1/octaves 8 / 6 0–127 continuous
/ub_xa_v1/arp_repeat 8 / 8 0–10 discrete
/ub_xa_v1/arp_time 8 / 3 0–127 continuous
/ub_xa_v1/arp_gate 8 / 4 0–99 continuous
/ub_xa_v1/arp_sync 8 / 5 0–127 continuous
/ub_xa_v1/arp_swing 0 / 120 0–10 discrete
/ub_xa_v1/patch_tempo 9 / 1 40–240 continuous
/ub_xa_v1/seq_time 19 / 1 0–127 continuous
/ub_xa_v1/seq_gate 19 / 2 0–99 continuous
/ub_xa_v1/seq_sync 19 / 3 0–127 continuous
/ub_xa_v1/step_count 19 / 0 0–128 continuous
/ub_xa_v1/midi_tempo 9 / 2 40–240 continuous
/ub_xa_v1/seq_time 19 / 1 0–127 continuous
/ub_xa_v1/seq_gate 19 / 2 0–99 continuous
/ub_xa_v1/seq_sync 19 / 3 0–127 continuous
/ub_xa_v1/step_count 19 / 0 0–128 continuous
/ub_xa_v1/rate 2 / 1 0–255 continuous
/ub_xa_v1/ch_1_depth 2 / 3 0–255 continuous
/ub_xa_v1/ch_2_depth 2 / 4 0–255 continuous
/ub_xa_v1/wave 2 / 6 0–127 continuous
/ub_xa_v1/lfo_phase 2 / 2 0–127 continuous
/ub_xa_v1/osc1_lfo_amnt 4 / 13 6–63 continuous
/ub_xa_v1/pwm1_lfo_amnt 4 / 14 0–255 continuous
/ub_xa_v1/osc2_lfo_amnt 4 / 22 6–63 continuous
/ub_xa_v1/pwm2_lfo_amnt 4 / 25 0–255 continuous
/ub_xa_v1/modlfo_limit 2 / 11 0–255 continuous
/ub_xa_v1/trigpoint 2 / 0 0–360 continuous
/ub_xa_v1/freq_lfo_amnt 5 / 13 48–175 continuous
/ub_xa_v1/vca_lfo_amnt 16 / 8 0–127 continuous
/ub_xa_v1/mod_1_delay 3 / 9 0–255 continuous
/ub_xa_v1/mod_1_attack 3 / 8 0–255 continuous
/ub_xa_v1/mod_2_delay 3 / 11 0–255 continuous
/ub_xa_v1/mod_2_attack 3 / 10 0–255 continuous
/ub_xa_v1/transpose 4 / 1 -6144–6143 continuous
/ub_xa_v1/osc1_quantize 4 / 23 0–127 continuous
/ub_xa_v1/transpose 4 / 3 -6144–6143 continuous
/ub_xa_v1/osc2_quantize 4 / 24 0–127 continuous
/ub_xa_v1/osc_drift 4 / 16 0–63 continuous
/ub_xa_v1/drift_speed 4 / 18 0–63 continuous
/ub_xa_v1/wave 4 / 6 0–127 continuous
/ub_xa_v1/pulse_width 4 / 0 500–980 continuous
/ub_xa_v1/wave 4 / 8 0–127 continuous
/ub_xa_v1/pulse_width 4 / 2 500–980 continuous
/ub_xa_v1/vpo_error 4 / 17 -16–15 discrete
/ub_xa_v1/vpo_err_drift 4 / 19 0–63 continuous
/ub_xa_v1/init_freq 4 / 20 0–127 continuous
/ub_xa_v1/f_env_range 4 / 21 1–63 continuous
/ub_xa_v1/pwm1_trim_l 4 / 9 0–255 continuous
/ub_xa_v1/pwm1_trim_r 4 / 10 127–255 continuous
/ub_xa_v1/pwm2_trim_l 4 / 11 0–255 continuous
/ub_xa_v1/pwm2_trim_r 4 / 12 127–255 continuous
/ub_xa_v1/pwm_offset 4 / 15 -502–498 continuous
/ub_xa_v1/frequency 5 / 0 0–255 continuous
/ub_xa_v1/resonance 5 / 1 0–1023 continuous
/ub_xa_v1/f_env_freq 5 / 2 0–255 continuous
/ub_xa_v1/noise_level 5 / 3 0–255 continuous
/ub_xa_v1/on_half 4 / 7 0–127 continuous
/ub_xa_v1/freq_range 5 / 7 48–175 continuous
/ub_xa_v1/freq_env_range 5 / 10 48–175 continuous
/ub_xa_v1/track_amount 5 / 24 -32–32 continuous
/ub_xa_v1/pedal_range 5 / 17 0–96 continuous
/ub_xa_v1/reso_trim_2p 5 / 5 502–1000 continuous
/ub_xa_v1/zero_2p_offset 5 / 8 0–48 continuous
/ub_xa_v1/track_offset 5 / 16 0–63 continuous
/ub_xa_v1/init_freq 5 / 20 0–127 continuous
/ub_xa_v1/reso_trim_4p 5 / 6 0–1000 continuous
/ub_xa_v1/zero_4p_offset 5 / 9 0–48 continuous
/ub_xa_v1/freq_drift 5 / 14 0–63 continuous
/ub_xa_v1/drift_speed 5 / 15 0–63 continuous
/ub_xa_v1/vpo_error 5 / 18 -508–492 continuous
/ub_xa_v1/vpo_err_drift 5 / 19 0–63 continuous
/ub_xa_v1/filter_attack 3 / 0 0–255 continuous
/ub_xa_v1/filter_attack 3 / 1 0–255 continuous
/ub_xa_v1/filter_attack 3 / 2 0–255 continuous
/ub_xa_v1/filter_attack 3 / 3 0–255 continuous
/ub_xa_v1/att_linearity 5 / 25 -16–15 discrete
/ub_xa_v1/dec_linearity 5 / 26 -16–15 discrete
/ub_xa_v1/flt_env_chaos 5 / 12 0–31 discrete
/ub_xa_v1/amp_attack 3 / 4 0–255 continuous
/ub_xa_v1/amp_attack 3 / 5 0–255 continuous
/ub_xa_v1/amp_attack 3 / 6 0–255 continuous
/ub_xa_v1/amp_attack 3 / 7 0–255 continuous
/ub_xa_v1/att_linearity 16 / 6 -16–15 discrete
/ub_xa_v1/dec_linearity 16 / 7 -16–15 discrete
/ub_xa_v1/amp_env_chaos 16 / 5 0–64 continuous
/ub_xa_v1/2p_bias 16 / 1 0–255 continuous
/ub_xa_v1/uni_bias 16 / 2 0–255 continuous
/ub_xa_v1/volume_bias 16 / 3 0–255 continuous
/ub_xa_v1/pedal_release 3 / 12 0–255 continuous
/ub_xa_v1/rate 1 / 4 0–255 continuous
/ub_xa_v1/depth 1 / 6 0–255 continuous
/ub_xa_v1/wave 1 / 5 0–127 continuous
/ub_xa_v1/mod_lever_up 1 0–127 continuous
/ub_xa_v1/mod_lever_down 31 0–127 continuous
/ub_xa_v1/lfo_limit 1 / 10 0–255 continuous
/ub_xa_v1/bend_depth 1 / 2 0–60 continuous
/ub_xa_v1/source_1 6 / 8 0–127 continuous
/ub_xa_v1/amount_1 6 / 0 -128–127 continuous
/ub_xa_v1/destination_1 6 / 9 0–127 continuous
/ub_xa_v1/source_2 6 / 127 0–127 continuous
/ub_xa_v1/amount_2 6 / 1 -128–127 continuous
/ub_xa_v1/destination_2 6 / 11 0–127 continuous
/ub_xa_v1/source_3 6 / 12 0–127 continuous
/ub_xa_v1/amount_3 6 / 2 -128–127 continuous
/ub_xa_v1/destination_3 6 / 13 0–127 continuous
/ub_xa_v1/source_4 6 / 14 0–127 continuous
/ub_xa_v1/amount_4 6 / 3 -128–127 continuous
/ub_xa_v1/destination_4 6 / 15 0–127 continuous
/ub_xa_v1/source_5 6 / 16 0–127 continuous
/ub_xa_v1/amount_5 6 / 4 -128–127 continuous
/ub_xa_v1/destination_5 6 / 17 0–127 continuous
/ub_xa_v1/source_6 6 / 18 0–127 continuous
/ub_xa_v1/amount_6 6 / 5 -128–127 continuous
/ub_xa_v1/destination_6 6 / 19 0–127 continuous
/ub_xa_v1/source_7 6 / 20 0–127 continuous
/ub_xa_v1/amount_7 6 / 6 -128–127 continuous
/ub_xa_v1/destination_7 6 / 21 0–127 continuous
/ub_xa_v1/source_8 6 / 22 0–127 continuous
/ub_xa_v1/amount_8 6 / 7 -128–127 continuous
/ub_xa_v1/destination_8 6 / 23 0–127 continuous
/ub_xa_v1/char1 7 / 0 32–127 continuous
/ub_xa_v1/char2 7 / 7 32–127 continuous
/ub_xa_v1/char3 7 / 2 32–127 continuous
/ub_xa_v1/pan_voice_1 17 / 0 -128–127 continuous
/ub_xa_v1/pan_voice_2 17 / 1 -128–127 continuous
/ub_xa_v1/pan_voice_3 17 / 2 -128–127 continuous
/ub_xa_v1/pan_voice_4 17 / 3 -128–127 continuous
/ub_xa_v1/pan_voice_5 17 / 4 -128–127 continuous
/ub_xa_v1/pan_voice_6 17 / 5 -128–127 continuous
/ub_xa_v1/pan_voice_7 17 / 6 -128–127 continuous
/ub_xa_v1/pan_voice_8 17 / 7 -128–127 continuous
/ub_xa_v1/pan_voice_9 17 / 8 -128–127 continuous
/ub_xa_v1/pan_voice_10 17 / 9 -128–127 continuous
/ub_xa_v1/pan_voice_11 17 / 10 -128–127 continuous
/ub_xa_v1/pan_voice_12 17 / 11 -128–127 continuous
/ub_xa_v1/pan_voice_13 17 / 12 -128–127 continuous
/ub_xa_v1/pan_voice_14 17 / 13 -128–127 continuous
/ub_xa_v1/pan_voice_15 17 / 14 -128–127 continuous
/ub_xa_v1/pan_voice_16 17 / 15 -128–127 continuous
/ub_xa_v1/sust_assign 11 / 0 0–127 continuous
/ub_xa_v1/sust_action 11 / 1 0–127 continuous
/ub_xa_v1/sust_latch 11 / 2 0–127 continuous
/ub_xa_v1/prog_assign 11 / 3 0–127 continuous
/ub_xa_v1/prog_action 11 / 4 0–127 continuous
/ub_xa_v1/prog_latch 11 / 5 0–127 continuous
/ub_xa_v1/hold_assign 11 / 6 0–127 continuous
/ub_xa_v1/hold_action 11 / 7 0–127 continuous
/ub_xa_v1/hold_latch 11 / 8 0–127 continuous
/ub_xa_v1/vibr_assign 11 / 9 0–127 continuous
/ub_xa_v1/vibr_action 11 / 10 0–127 continuous
/ub_xa_v1/vibrato_trim_l 11 / 11 0–255 continuous
/ub_xa_v1/vibrato_trim_r 11 / 12 0–255 continuous
/ub_xa_v1/voices_1_8 13 / 0 0–127 continuous
/ub_xa_v1/voices_9_16 13 / 1 0–127 continuous
/ub_xa_v1/filt_assign 11 / 13 0–127 continuous
/ub_xa_v1/filt_action 11 / 14 0–127 continuous
/ub_xa_v1/filter_trim_l 11 / 15 0–255 continuous
/ub_xa_v1/filter_trim_r 11 / 16 0–255 continuous
/ub_xa_v1/pwm_1_8 13 / 2 0–127 continuous
/ub_xa_v1/pwm_9_16 13 / 3 0–127 continuous
/ub_xa_v1/unisonpriority 0 / 9 0–127 continuous
/ub_xa_v1/chord_priority 0 / 10 0–127 continuous
/ub_xa_v1/velocity_curve 10 / 1 0–127 continuous
/ub_xa_v1/velo_response 10 / 2 0–127 continuous
/ub_xa_v1/vco_1_8 13 / 4 0–127 continuous
/ub_xa_v1/vco_9_16 13 / 5 0–127 continuous
/ub_xa_v1/at_assignment 10 / 3 0–127 continuous
/ub_xa_v1/at_filter 0 / 8 0–127 continuous
/ub_xa_v1/at_curve 10 / 4 0–127 continuous
/ub_xa_v1/vcf_1_8 13 / 6 0–127 continuous
/ub_xa_v1/vcf_9_16 13 / 7 0–127 continuous
/ub_xa_v1/midi_sync 9 / 3 0–127 continuous
/ub_xa_v1/mpe_profile 9 / 13 0–127 continuous
/ub_xa_v1/lower_sens 1 / 8 0–96 continuous
/ub_xa_v1/upper_sens 1 / 9 0–96 continuous

Performance MIDI

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