Skip to content

Oberheim TEO-5: MIDI CC, NRPN and OSC map

The Oberheim TEO-5 as named OSC addresses — 128 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Oberheim TEO-5
Vendor Oberheim
OSC prefix /teo_5
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/teo_5.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/teo_5.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /teo_5/system/bank_select_msb 63

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

MIDI CC and NRPN parameters (128)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/teo_5/system/bank_select_msb 0 0–127 continuous System
/teo_5/system/bank_select_lsb 32 0–127 continuous System
/teo_5/system/data_entry_msb 6 0–127 continuous System
/teo_5/system/data_entry_lsb 38 0–127 continuous System
/teo_5/system/nrpn_parameter_lsb 98 0–127 continuous System
/teo_5/system/nrpn_parameter_msb 99 0–127 continuous System
/teo_5/system/rpn_parameter_lsb 100 0–127 continuous System
/teo_5/system/rpn_parameter_msb 101 0–127 continuous System
/teo_5/system/data_increment 96 0–127 continuous System
/teo_5/system/data_decrement 97 0–127 continuous System
/teo_5/system/local_control 122 0–127 continuous System
/teo_5/system/all_sound_off 120 0–127 continuous System
/teo_5/system/reset_all_controllers 121 0–127 continuous System
/teo_5/system/all_notes_off 123 0–127 continuous System
/teo_5/system/omni_mode_off 124 0–127 continuous System
/teo_5/system/omni_mode_on 125 0–127 continuous System
/teo_5/system/mono_mode_on 126 0–127 continuous System
/teo_5/system/poly_mode_on 127 0–127 continuous System
/teo_5/performance/mod_wheel 1 0–127 continuous Performance
/teo_5/performance/breath_controller 2 0–127 continuous Performance
/teo_5/performance/foot_controller 4 0–127 continuous Performance
/teo_5/performance/channel_volume 7 0–127 continuous Performance
/teo_5/performance/expression 11 0–127 continuous Performance
/teo_5/performance/brightness 74 0–127 continuous Performance
/teo_5/performance/pan 113 0–127 continuous Performance
/teo_5/performance/damper_pedal 64 0–127 continuous Performance
/teo_5/clock_tempo/bpm 3 15–127 continuous Clock/Tempo
/teo_5/clock_tempo/clock_divide 63 0–7 continuous Clock/Tempo
/teo_5/clock_tempo/lfo_1_freq_sync 111 0–15 continuous Clock/Tempo
/teo_5/clock_tempo/lfo_2_freq_sync 112 0–15 continuous Clock/Tempo
/teo_5/oscillators/osc_1_freq 8 0–63 continuous Oscillators
/teo_5/oscillators/osc_1_on 9 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_on 10 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_freq 13 0–63 continuous Oscillators
/teo_5/oscillators/sub_on 14 0–127 continuous Oscillators
/teo_5/oscillators/noise_on 15 0–127 continuous Oscillators
/teo_5/oscillators/osc_1_sync 39 0–127 continuous Oscillators
/teo_5/oscillators/osc_1_level 40 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_level 41 0–127 continuous Oscillators
/teo_5/oscillators/sub_level 42 0–127 continuous Oscillators
/teo_5/oscillators/noise_level 43 0–127 continuous Oscillators
/teo_5/oscillators/x_mod_amount 44 0–127 continuous Oscillators
/teo_5/oscillators/osc_1_pw 94 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_pw 95 0–127 continuous Oscillators
/teo_5/oscillators/osc_1_tri 102 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_tri 103 0–127 continuous Oscillators
/teo_5/oscillators/osc_1_saw 104 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_saw 105 0–127 continuous Oscillators
/teo_5/oscillators/osc_1_pulse 106 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_pulse 107 0–127 continuous Oscillators
/teo_5/oscillators/noise_type 108 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_detune 109 0–63 continuous Oscillators
/teo_5/oscillators/osc_2_filter_bypass 117 0–127 continuous Oscillators
/teo_5/oscillators/osc_1_key_on 87 0–127 continuous Oscillators
/teo_5/oscillators/osc_2_key_on 88 0–127 continuous Oscillators
/teo_5/filter/cutoff 33 0–127 continuous Filter
/teo_5/filter/resonance 34 0–127 continuous Filter
/teo_5/filter/state 35 0–127 continuous Filter
/teo_5/filter/key_amount 36 0–127 continuous Filter
/teo_5/filter/vintage_amount 37 0–127 continuous Filter
/teo_5/filter/bandpass 110 0–127 continuous Filter
/teo_5/envelopes/env_1_delay 45 0–127 continuous Envelopes
/teo_5/envelopes/env_1_attack 46 0–127 continuous Envelopes
/teo_5/envelopes/env_1_decay 47 0–127 continuous Envelopes
/teo_5/envelopes/env_1_sustain 48 0–127 continuous Envelopes
/teo_5/envelopes/env_1_release 49 0–127 continuous Envelopes
/teo_5/envelopes/env_1_amount 50 0–127 continuous Envelopes
/teo_5/envelopes/env_1_velocity_on 51 0–127 continuous Envelopes
/teo_5/envelopes/env_2_delay 52 0–127 continuous Envelopes
/teo_5/envelopes/env_2_attack 53 0–127 continuous Envelopes
/teo_5/envelopes/env_2_decay 54 0–127 continuous Envelopes
/teo_5/envelopes/env_2_sustain 55 0–127 continuous Envelopes
/teo_5/envelopes/env_2_release 56 0–127 continuous Envelopes
/teo_5/envelopes/env_2_amount 57 0–127 continuous Envelopes
/teo_5/envelopes/env_2_velocity_on 58 0–127 continuous Envelopes
/teo_5/envelopes/env_routing 69 0–2 continuous Envelopes
/teo_5/envelopes/env_repeat 116 0–3 continuous Envelopes
/teo_5/envelopes/env_retrig 73 0–127 continuous Envelopes
/teo_5/lfo_1/freq 75 0–127 continuous LFO 1
/teo_5/lfo_1/amount 76 0–127 continuous LFO 1
/teo_5/lfo_1/shape 77 0–4 continuous LFO 1
/teo_5/lfo_1/sync 78 0–127 continuous LFO 1
/teo_5/lfo_1/note_reset 79 0–127 continuous LFO 1
/teo_5/lfo_1/slew 92 0–127 continuous LFO 1
/teo_5/lfo_2/freq 80 0–127 continuous LFO 2
/teo_5/lfo_2/amount 81 0–127 continuous LFO 2
/teo_5/lfo_2/shape 82 0–4 continuous LFO 2
/teo_5/lfo_2/sync 83 0–127 continuous LFO 2
/teo_5/lfo_2/note_reset 84 0–127 continuous LFO 2
/teo_5/lfo_2/slew 93 0–127 continuous LFO 2
/teo_5/glide_portamento/glide_mode 5 0–3 continuous Glide / Portamento
/teo_5/glide_portamento/glide_on 68 0–127 continuous Glide / Portamento
/teo_5/glide_portamento/osc_1_glide 65 0–127 continuous Glide / Portamento
/teo_5/glide_portamento/osc_2_glide 66 0–127 continuous Glide / Portamento
/teo_5/unison_key/unison_on 31 0–127 continuous Unison / Key
/teo_5/unison_key/unison_voices 70 0–5 continuous Unison / Key
/teo_5/unison_key/unison_detune 71 0–7 continuous Unison / Key
/teo_5/unison_key/key_mode 72 0–2 continuous Unison / Key
/teo_5/unison_key/key_split 29 0–127 continuous Unison / Key
/teo_5/unison_key/key_split_2 30 0–127 continuous Unison / Key
/teo_5/unison_key/keysplit_note 89 0–43 continuous Unison / Key
/teo_5/arp_seq/arp_on 59 0–127 continuous Arp / Seq
/teo_5/arp_seq/arp_mode 60 0–4 continuous Arp / Seq
/teo_5/arp_seq/arp_range 61 0–2 continuous Arp / Seq
/teo_5/arp_seq/arp_repeat 62 0–3 continuous Arp / Seq
/teo_5/arp_seq/seq_on_off 90 0–127 continuous Arp / Seq
/teo_5/arp_seq/seq_record_arm 91 0–127 continuous Arp / Seq
/teo_5/fx/on_off 16 0–127 continuous FX
/teo_5/fx/select 17 0–12 continuous FX
/teo_5/fx/time 18 0–127 continuous FX
/teo_5/fx/mix 19 0–127 continuous FX
/teo_5/fx/misc 20 0–127 continuous FX
/teo_5/fx/sync_on_off 21 0–127 continuous FX
/teo_5/fx/sync_rate 22 0–10 continuous FX
/teo_5/fx/reverb_on 23 0–127 continuous FX
/teo_5/fx/reverb_mix 24 0–127 continuous FX
/teo_5/fx/reverb_size 25 0–127 continuous FX
/teo_5/fx/reverb_predelay 26 0–127 continuous FX
/teo_5/fx/reverb_decay 27 0–127 continuous FX
/teo_5/fx/reverb_tone 28 0–127 continuous FX
/teo_5/fx/voice_volume 12 0–127 continuous FX
/teo_5/fx/distortion 67 0–127 continuous FX
/teo_5/fx/vintage_amount 37 0–127 continuous FX
/teo_5/pitch_scale/pbend_range_up 85 0–12 continuous Pitch / Scale
/teo_5/pitch_scale/pbend_range_down 86 0–24 continuous Pitch / Scale
/teo_5/pitch_scale/scale_select 114 0–65 continuous Pitch / Scale
/teo_5/pitch_scale/transpose 115 0–4 continuous Pitch / Scale
/teo_5/reserved_utility/unassigned 119 0–127 continuous Reserved / Utility

Performance MIDI

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