Skip to content

Teenage Engineering OP-1 field: MIDI CC, NRPN and OSC map

The Teenage Engineering OP-1 field as named OSC addresses — 61 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Teenage Engineering OP-1 field
Vendor Teenage Engineering
OSC prefix /op_1_field
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/teenage-engineering/op_1_field.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/teenage-engineering/op_1_field.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /op_1_field/midi_lfo/parameter_1 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as op_1_field: ask “what can the Teenage Engineering OP-1 field do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (61)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/op_1_field/midi_lfo/parameter_1 1 0–127 continuous MIDI LFO
/op_1_field/midi_lfo/parameter_2 2 0–127 continuous MIDI LFO
/op_1_field/midi_lfo/parameter_3 3 0–127 continuous MIDI LFO
/op_1_field/midi_lfo/parameter_4 4 0–127 continuous MIDI LFO
/op_1_field/mixer/volume 7 0–127 continuous Mixer
/op_1_field/mixer/mute 9 0–127 continuous Mixer
/op_1_field/mixer/pan 10 0–127 continuous Mixer
/op_1_field/synth/parameter_1 46 0–127 continuous Synth
/op_1_field/synth/parameter_2 47 0–127 continuous Synth
/op_1_field/synth/parameter_3 48 0–127 continuous Synth
/op_1_field/synth/parameter_4 49 0–127 continuous Synth
/op_1_field/drum/active_key_pitch 46 0–127 continuous Drum
/op_1_field/drum/active_key_loop_in 47 0–127 continuous Drum
/op_1_field/drum/active_key_loop_out 48 0–127 continuous Drum
/op_1_field/drum/active_key_play_mode 49 0–127 continuous Drum
/op_1_field/synth/envelope_attack 50 0–127 continuous Synth
/op_1_field/synth/envelope_decay 51 0–127 continuous Synth
/op_1_field/synth/envelope_sustain 52 0–127 continuous Synth
/op_1_field/synth/envelope_release 53 0–127 continuous Synth
/op_1_field/drum/envelope_attack 50 0–127 continuous Drum
/op_1_field/drum/envelope_gain 51 0–127 continuous Drum
/op_1_field/drum/envelope_release 52 0–127 continuous Drum
/op_1_field/drum/envelope_smooth 53 0–127 continuous Drum
/op_1_field/patch/fx_parameter_1 54 0–127 continuous Patch
/op_1_field/patch/fx_parameter_2 55 0–127 continuous Patch
/op_1_field/patch/fx_parameter_3 56 0–127 continuous Patch
/op_1_field/patch/fx_parameter_4 57 0–127 continuous Patch
/op_1_field/patch/lfo_parameter_1 58 0–127 continuous Patch
/op_1_field/patch/lfo_parameter_2 59 0–127 continuous Patch
/op_1_field/patch/lfo_parameter_3 60 0–127 continuous Patch
/op_1_field/patch/lfo_parameter_4 61 0–127 continuous Patch
/op_1_field/patch/randomize_patch 62 0–127 continuous Patch
/op_1_field/patch/reset_patch 63 0–127 continuous Patch
/op_1_field/global/sustain_pedal 64 0–127 continuous Global
/op_1_field/master/fx_parameter_1 70 0–127 continuous Master
/op_1_field/master/fx_parameter_2 71 0–127 continuous Master
/op_1_field/master/fx_parameter_3 72 0–127 continuous Master
/op_1_field/master/fx_parameter_4 73 0–127 continuous Master
/op_1_field/master/volume_l 74 0–127 continuous Master
/op_1_field/master/volume_r 75 0–127 continuous Master
/op_1_field/master/drive 76 0–127 continuous Master
/op_1_field/master/compressor 77 0–127 continuous Master
/op_1_field/global/tape_record_level 78 0–127 continuous Global
/op_1_field/global/octave 79 0–127 continuous Global
/op_1_field/global/tempo 80 0–127 continuous Global
/op_1_field/global/metronome_level 81 0–127 continuous Global
/op_1_field/tape/previous_bar 82 0–127 continuous Tape
/op_1_field/tape/next_bar 83 0–127 continuous Tape
/op_1_field/tape/jump_to_start 84 0–127 continuous Tape
/op_1_field/tape/jump_to_end 85 0–127 continuous Tape
/op_1_field/tape/set_loop_in 86 0–127 continuous Tape
/op_1_field/tape/set_loop_out 87 0–127 continuous Tape
/op_1_field/tape/toggle_loop 88 0–127 continuous Tape
/op_1_field/master/eq_low 90 0–127 continuous Master
/op_1_field/master/eq_mid 91 0–127 continuous Master
/op_1_field/master/eq_high 92 0–127 continuous Master
/op_1_field/global/mode_select 93 0–127 continuous Global
/op_1_field/global/sound_slot_select 102 0–127 continuous Global
/op_1_field/tape/stop 104 0–127 continuous Tape
/op_1_field/tape/play 105 0–127 continuous Tape
/op_1_field/global/all_notes_off 123 0–127 continuous Global

Performance MIDI

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