Written from devices/oberheim/ob_xa.electra-mravitz.fw-encore.jsonEdit on GitHubJSON

Oberheim OB-Xa (per Electra preset) MIDI CC chart, NRPN and OSC map

The Oberheim OB-Xa MIDI implementation: 37 CC, 1 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.

  • sourceElectra One preset
  • firmwareencore
  • real unitnot yet checked

Not checked on a real Oberheim OB-Xa yet. Own one? Load a sound or send a control, and tell us whether it worked.

Maker
Oberheim
Version
per Electra preset
Source
Electra One preset
OSC prefix
/ob_xa

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/oberheim/ob_xa.electra-mravitz.fw-encore.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /ob_xa/osc_1_wave 63

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

MIDI controls

38 controls, each with its number, its range and the name to send
Control CC Range Name to send
Osc 1 wave 102 0–127 /ob_xa/osc_1_wave
Osc 1 freq 28 0–127 /ob_xa/osc_1_freq
Osc pw 19 0–127 /ob_xa/osc_pw
Osc 1 sync 104 0–127 /ob_xa/osc_1_sync
Lfo rate 80 0–127 /ob_xa/lfo_rate
Lfo wave 88 0–127 /ob_xa/lfo_wave
Osc 2 wave 106 0–127 /ob_xa/osc_2_wave
Osc 2 freq 29 0–127 /ob_xa/osc_2_freq
Osc 2 detune 30 0–127 /ob_xa/osc_2_detune
Osc 2 filt env 105 0–127 /ob_xa/osc_2_filt_env
Lfo depth 1 0–127 /ob_xa/lfo_depth
Lfo depth 81 0–127 /ob_xa/lfo_depth
Vcf cutoff 16 0–127 /ob_xa/vcf_cutoff
Vcf resonance 17 0–127 /ob_xa/vcf_resonance
Vcf modulation 18 0–127 /ob_xa/vcf_modulation
Filter track 113 0–127 /ob_xa/filter_track
Osc 1 85 0–127 /ob_xa/osc_1
Osc 1 82 0–127 /ob_xa/osc_1
Osc 1 on off 108 0–127 /ob_xa/osc_1_on_off
Osc 2 on off 109 0–127 /ob_xa/osc_2_on_off
Noise on off 111 0–127 /ob_xa/noise_on_off
Filter 4 pole 112 0–127 /ob_xa/filter_4_pole
Osc 2 86 0–127 /ob_xa/osc_2
Osc 2 83 0–127 /ob_xa/osc_2
Vcf attack 20 0–127 /ob_xa/vcf_attack
Vcf attack 21 0–127 /ob_xa/vcf_attack
Vcf attack 22 0–127 /ob_xa/vcf_attack
Vcf attack 23 0–127 /ob_xa/vcf_attack
Filter 87 0–127 /ob_xa/filter
Vca attack 24 0–127 /ob_xa/vca_attack
Vca attack 25 0–127 /ob_xa/vca_attack
Vca attack 26 0–127 /ob_xa/vca_attack
Vca attack 27 0–127 /ob_xa/vca_attack
Portamento 5 0–127 /ob_xa/portamento
Unison 114 0–127 /ob_xa/unison
Split double 89 0–127 /ob_xa/split_double
Upper lower 90 0–127 /ob_xa/upper_lower

SysEx commands

Command Arguments Name to send
Tune val: u7 /ob_xa/tune

Performance MIDI

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

JSON

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.

Other versions

The Oberheim OB-Xa is mapped in 2 versions. per Electra preset.

Frequently asked questions

Which MIDI CC controls the filter cutoff on the Oberheim OB-Xa?

CC 16 (0–127), named /ob_xa/vcf_cutoff in SynthHub's map.

How many parameters of the Oberheim OB-Xa can be controlled over MIDI?

SynthHub's map of the Oberheim OB-Xa lists 37 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 Oberheim OB-Xa?

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