Oberheim OB-6: MIDI CC, NRPN and OSC map¶
The Oberheim OB-6 as named OSC addresses — 56 CC, 102 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Oberheim OB-6 |
|---|---|
| Vendor | Oberheim |
| OSC prefix | /ob_6 |
| Source | 📦 Derived from MIDI Guide (community CC/NRPN data) |
| Firmware | unknown |
| Revision | per pencilresearch canonical CSV |
| Upstream | pencilresearch |
| Data licence | CC-BY-SA-4.0 — MIDI Guide (https://midi.guide) by Pencil Research and contributors |
| Driver file | devices/oberheim/ob_6.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/ob_6.json --out-port <N> --in-port <M>
Then send OSC to 127.0.0.1:7777, for example:
From Claude or any MCP client, the osc-bridge mcp server exposes this driver as ob_6: ask “what can the Oberheim OB-6 do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (122)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/ob_6/performance/mod_wheel |
1 | 0–127 | continuous | Performance | |
/ob_6/performance/foot_controller |
4 | 0–127 | continuous | Performance | |
/ob_6/performance/midi_volume |
7 / 39 | 0–16383 | continuous | Performance | |
/ob_6/performance/sustain_pedal |
64 | 0–127 | continuous | Performance | |
/ob_6/oscillator_1/frequency |
67 | 0 / 0 | 0–127 | continuous | Oscillator 1 |
/ob_6/oscillator_1/sync |
0 / 1 | 0–1 | switch | Oscillator 1 | |
/ob_6/oscillator_1/level |
69 | 0 / 2 | 0–127 | continuous | Oscillator 1 |
/ob_6/oscillator_1/shape |
70 | 0 / 3 | 0–127 | continuous | Oscillator 1 |
/ob_6/oscillator_1/pulse_width |
71 | 0 / 4 | 0–127 | continuous | Oscillator 1 |
/ob_6/oscillator_1/sub_level |
8 | 0 / 27 | 0–127 | continuous | Oscillator 1 |
/ob_6/oscillator_2/frequency |
75 | 0 / 5 | 0–127 | continuous | Oscillator 2 |
/ob_6/oscillator_2/frequency_fine |
76 | 0 / 6 | 0–127 | continuous | Oscillator 2 |
/ob_6/oscillator_2/level |
77 | 0 / 7 | 0–127 | continuous | Oscillator 2 |
/ob_6/oscillator_2/shape |
78 | 0 / 8 | 0–127 | continuous | Oscillator 2 |
/ob_6/oscillator_2/pulse_width |
79 | 0 / 9 | 0–127 | continuous | Oscillator 2 |
/ob_6/oscillator_2/low_frequency |
0 / 10 | 0–1 | switch | Oscillator 2 | |
/ob_6/oscillator_2/keyboard_tracking |
0 / 11 | 0–1 | switch | Oscillator 2 | |
/ob_6/mixer/noise_level |
0 / 32 | 0–127 | continuous | Mixer | |
/ob_6/mixer/detune |
0 / 33 | 0–127 | continuous | Mixer | |
/ob_6/portamento/on_off |
65 | 0 / 29 | 0–127 | continuous | Portamento |
/ob_6/portamento/mode |
5 | 0 / 28 | 0–127 | continuous | Portamento |
/ob_6/portamento/rate |
0 / 30 | 0–127 | continuous | Portamento | |
/ob_6/portamento/pitch_bend_range |
0 / 31 | 0–12 | discrete | Portamento | |
/ob_6/filter/frequency |
102 | 0 / 45 | 0–127 | continuous | Filter |
/ob_6/filter/frequency_brightness |
74 | 0–127 | continuous | Filter | |
/ob_6/filter/resonance |
103 | 0 / 46 | 0–127 | continuous | Filter |
/ob_6/filter/keyboard_amount |
104 | 0 / 47 | 0–127 | continuous | Filter |
/ob_6/filter/velocity_on_off |
105 | 0 / 48 | 0–127 | continuous | Filter |
/ob_6/filter/mode |
106 | 0 / 49 | 0–127 | continuous | Filter |
/ob_6/filter/bandpass |
107 | 0 / 50 | 0–127 | continuous | Filter |
/ob_6/filter_envelope/amount |
47 | 0 / 77 | 0–127 | continuous | Filter envelope |
/ob_6/filter_envelope/attack |
50 | 0 / 78 | 0–127 | continuous | Filter envelope |
/ob_6/filter_envelope/decay |
51 | 0 / 79 | 0–127 | continuous | Filter envelope |
/ob_6/filter_envelope/sustain |
52 | 0 / 80 | 0–127 | continuous | Filter envelope |
/ob_6/filter_envelope/release |
53 | 0 / 81 | 0–127 | continuous | Filter envelope |
/ob_6/amplifier/program_volume |
0 / 62 | 0–127 | continuous | Amplifier | |
/ob_6/amplifier/pan_spread |
0 / 63 | 0–127 | continuous | Amplifier | |
/ob_6/amplifier/distortion_amount |
9 | 0 / 64 | 0–127 | continuous | Amplifier |
/ob_6/amplifier/envelope_amount |
40 | 0 / 66 | 0–127 | continuous | Amplifier |
/ob_6/amplifier/envelope_attack |
43 | 0 / 67 | 0–127 | continuous | Amplifier |
/ob_6/amplifier/envelope_decay |
44 | 0 / 68 | 0–127 | continuous | Amplifier |
/ob_6/amplifier/envelope_sustain |
45 | 0 / 69 | 0–127 | continuous | Amplifier |
/ob_6/amplifier/envelope_release |
46 | 0 / 70 | 0–127 | continuous | Amplifier |
/ob_6/amplifier/envelope_velocity_on_off |
41 | 0 / 71 | 0–127 | continuous | Amplifier |
/ob_6/lfo/frequency |
0 / 88 | 0–254 | continuous | LFO | |
/ob_6/lfo/initial_amount |
0 / 89 | 0–255 | continuous | LFO | |
/ob_6/lfo/shape |
0 / 90 | 0–4 | discrete | LFO | |
/ob_6/lfo/sync |
0 / 91 | 0–1 | switch | LFO | |
/ob_6/lfo/oscillator_1_destination |
0 / 93 | 0–1 | switch | LFO | |
/ob_6/lfo/oscillator_2_destination |
0 / 94 | 0–1 | switch | LFO | |
/ob_6/lfo/pulse_width_1_and_2_destination |
0 / 95 | 0–3 | discrete | LFO | |
/ob_6/lfo/filter_frequency_destination |
0 / 96 | 0–1 | switch | LFO | |
/ob_6/lfo/filter_mode_destination |
0 / 97 | 0–1 | switch | LFO | |
/ob_6/lfo/amplifier_destination |
0 / 98 | 0–1 | switch | LFO | |
/ob_6/cross_modulation/filter_envelope_amount |
1 / 15 | 0–254 | continuous | Cross modulation | |
/ob_6/cross_modulation/oscillator_2_amount |
1 / 16 | 0–254 | continuous | Cross modulation | |
/ob_6/cross_modulation/oscillator_1_destination |
1 / 17 | 0–1 | switch | Cross modulation | |
/ob_6/cross_modulation/shape_1_destination |
1 / 18 | 0–1 | switch | Cross modulation | |
/ob_6/cross_modulation/pulse_width_1_destination |
1 / 19 | 0–1 | switch | Cross modulation | |
/ob_6/cross_modulation/filter_frequency_destination |
1 / 20 | 0–1 | switch | Cross modulation | |
/ob_6/cross_modulation/filter_mode_destination |
1 / 21 | 0–1 | switch | Cross modulation | |
/ob_6/cross_modulation/normal_bandpass_destination |
1 / 22 | 0–1 | switch | Cross modulation | |
/ob_6/pressure/amount |
0 / 109 | 0–254 | continuous | Pressure | |
/ob_6/pressure/oscillator_1_destination |
0 / 110 | 0–1 | switch | Pressure | |
/ob_6/pressure/oscillator_2_destination |
0 / 111 | 0–1 | switch | Pressure | |
/ob_6/pressure/filter_frequency_destination |
0 / 112 | 0–1 | switch | Pressure | |
/ob_6/pressure/filter_mode_destination |
0 / 113 | 0–1 | switch | Pressure | |
/ob_6/pressure/amplifier_destination |
0 / 114 | 0–1 | switch | Pressure | |
/ob_6/pressure/lfo_amount_destination |
0 / 115 | 0–1 | switch | Pressure | |
/ob_6/effects/on_off |
1 / 7 | 0–1 | switch | Effects | |
/ob_6/effects/effect_1_type |
0 / 119 | 0–5 | discrete | Effects | |
/ob_6/effects/effect_1_mix |
0 / 120 | 0–127 | continuous | Effects | |
/ob_6/effects/effect_1_parameter_1 |
0 / 121 | 0–255 | continuous | Effects | |
/ob_6/effects/effect_1_parameter_2 |
0 / 122 | 0–127 | continuous | Effects | |
/ob_6/effects/effect_1_sync |
0 / 123 | 0–1 | switch | Effects | |
/ob_6/effects/effect_2_type |
0 / 127 | 0–9 | discrete | Effects | |
/ob_6/effects/effect_2_mix |
1 / 0 | 0–127 | continuous | Effects | |
/ob_6/effects/effect_2_parameter_1 |
1 / 1 | 0–255 | continuous | Effects | |
/ob_6/effects/effect_2_parameter_2 |
1 / 2 | 0–127 | continuous | Effects | |
/ob_6/effects/effect_2_sync |
1 / 3 | 0–1 | switch | Effects | |
/ob_6/unison/on_off |
1 / 28 | 0–1 | switch | Unison | |
/ob_6/unison/mode |
1 / 29 | 0–6 | discrete | Unison | |
/ob_6/unison/key_mode |
1 / 30 | 0–5 | discrete | Unison | |
/ob_6/arpeggiator/on_off |
58 | 1 / 32 | 0–127 | continuous | Arpeggiator |
/ob_6/arpeggiator/mode |
59 | 1 / 33 | 0–127 | continuous | Arpeggiator |
/ob_6/arpeggiator/range |
60 | 1 / 34 | 0–127 | continuous | Arpeggiator |
/ob_6/arpeggiator/time_signature |
62 | 1 / 35 | 0–127 | continuous | Arpeggiator |
/ob_6/arpeggiator/tempo |
3 | 1 / 39 | 0–127 | continuous | Arpeggiator |
/ob_6/sequencer/transpose |
8 / 65 | 0–127 | continuous | Sequencer | |
/ob_6/global/master_fine_tune |
8 / 0 | 0–100 | continuous | Global | |
/ob_6/global/master_coarse_tune |
8 / 1 | 0–24 | discrete | Global | |
/ob_6/global/midi_channel |
8 / 2 | 0–16 | discrete | Global | |
/ob_6/global/midi_clock_mode |
8 / 3 | 0–3 | discrete | Global | |
/ob_6/global/midi_clock_port |
8 / 4 | 0–1 | switch | Global | |
/ob_6/global/midi_parameter_send |
8 / 5 | 0–2 | discrete | Global | |
/ob_6/global/midi_parameter_receive |
8 / 6 | 0–2 | discrete | Global | |
/ob_6/global/midi_control_enable |
8 / 7 | 0–1 | switch | Global | |
/ob_6/global/midi_sysex_enable |
8 / 8 | 0–1 | switch | Global | |
/ob_6/global/midi_out_select |
8 / 9 | 0–3 | discrete | Global | |
/ob_6/global/local_control |
122 | 8 / 11 | 0–127 | continuous | Global |
/ob_6/global/pot_mode |
8 / 13 | 0–2 | discrete | Global | |
/ob_6/global/sequencer_jack |
8 / 15 | 0–3 | discrete | Global | |
/ob_6/global/sustain_polarity |
8 / 16 | 0–3 | discrete | Global | |
/ob_6/global/velocity_response |
8 / 17 | 0–3 | discrete | Global | |
/ob_6/global/aftertouch_response |
8 / 18 | 0–3 | discrete | Global | |
/ob_6/global/stereo_mono |
8 / 19 | 0–1 | switch | Global | |
/ob_6/global/alternative_tuning |
8 / 20 | 0–16 | discrete | Global | |
/ob_6/midi/data_entry_msb |
6 | 0–127 | continuous | MIDI | |
/ob_6/midi/data_entry_lsb |
38 | 0–127 | continuous | MIDI | |
/ob_6/midi/data_increment |
96 | 0–127 | continuous | MIDI | |
/ob_6/midi/data_decrement |
97 | 0–127 | continuous | MIDI | |
/ob_6/midi/nrpn_parameter_lsb |
98 | 0–127 | continuous | MIDI | |
/ob_6/midi/nrpn_parameter_msb |
99 | 0–127 | continuous | MIDI | |
/ob_6/midi/rpn_parameter_lsb |
100 | 0–127 | continuous | MIDI | |
/ob_6/midi/rpn_parameter_msb |
101 | 0–127 | continuous | MIDI | |
/ob_6/midi/all_sound_off |
120 | 0–127 | continuous | MIDI | |
/ob_6/midi/reset_all_controllers |
121 | 0–127 | continuous | MIDI | |
/ob_6/midi/all_notes_off |
123 | 0–127 | continuous | MIDI | |
/ob_6/midi/omni_mode_off |
124 | 0–127 | continuous | MIDI | |
/ob_6/midi/omni_mode_on |
125 | 0–127 | continuous | MIDI | |
/ob_6/midi/mono_mode_on |
126 | 0–127 | continuous | MIDI | |
/ob_6/midi/poly_mode_on |
127 | 0–127 | continuous | MIDI |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /ob_6/note/on <note> <velocity>, /ob_6/cc/<number> <value>, /ob_6/pitchbend <0-16383>, /ob_6/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.