Ensoniq ESQ-1: MIDI CC, NRPN and OSC map¶
The Ensoniq ESQ-1 as named OSC addresses — 146 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Ensoniq ESQ-1 |
|---|---|
| Vendor | Ensoniq |
| OSC prefix | /esq_1 |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/ensoniq/esq_1.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/ensoniq/esq_1.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 esq_1: ask “what can the Ensoniq ESQ-1 do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (146)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/esq_1/osc_1_oct |
0 / 64 | 0–6 | discrete | ||
/esq_1/semitone |
0 / 65 | 0–11 | discrete | ||
/esq_1/fine |
0 / 66 | 0–31 | discrete | ||
/esq_1/waveform |
0 / 67 | 0–31 | discrete | ||
/esq_1/mod_1 |
0 / 68 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 69 | -63–63 | continuous | ||
/esq_1/osc_1_oct |
0 / 72 | 0–6 | discrete | ||
/esq_1/semitone |
0 / 73 | 0–11 | discrete | ||
/esq_1/fine |
0 / 74 | 0–31 | discrete | ||
/esq_1/waveform |
0 / 75 | 0–31 | discrete | ||
/esq_1/mod_1 |
0 / 76 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 77 | -63–63 | continuous | ||
/esq_1/osc_1_oct |
0 / 80 | 0–6 | discrete | ||
/esq_1/semitone |
0 / 81 | 0–11 | discrete | ||
/esq_1/fine |
0 / 82 | 0–31 | discrete | ||
/esq_1/waveform |
0 / 83 | 0–31 | discrete | ||
/esq_1/mod_1 |
0 / 84 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 85 | -63–63 | continuous | ||
/esq_1/mod_2 |
0 / 70 | 0–15 | discrete | ||
/esq_1/mod_2_depth |
0 / 71 | -63–63 | continuous | ||
/esq_1/mod_2 |
0 / 78 | 0–15 | discrete | ||
/esq_1/mod_2_depth |
0 / 79 | -63–63 | continuous | ||
/esq_1/mod_2 |
0 / 86 | 0–15 | discrete | ||
/esq_1/mod_2_depth |
0 / 87 | -63–63 | continuous | ||
/esq_1/cutoff_freq |
0 / 110 | 0–127 | continuous | ||
/esq_1/resonance |
0 / 111 | 0–31 | discrete | ||
/esq_1/keyb_track |
0 / 112 | 0–63 | continuous | ||
/esq_1/osc_1_2_sync |
0 / 120 | 0–1 | switch | ||
/esq_1/env_4_mod_amnt |
0 / 106 | 0–63 | continuous | ||
/esq_1/dca_4_pan |
0 / 107 | 0–15 | discrete | ||
/esq_1/mod_1 |
0 / 113 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 114 | -63–63 | continuous | ||
/esq_1/mod_2 |
0 / 115 | 0–15 | discrete | ||
/esq_1/mod_2_depth |
0 / 116 | -63–63 | continuous | ||
/esq_1/pan_modulator |
0 / 108 | 0–15 | discrete | ||
/esq_1/pan_mod_depth |
0 / 109 | -63–63 | continuous | ||
/esq_1/env_1_l1 |
0 / 0 | -63–63 | continuous | ||
/esq_1/t1 |
0 / 5 | 0–127 | continuous | ||
/esq_1/l2 |
0 / 1 | -63–63 | continuous | ||
/esq_1/t2 |
0 / 6 | 0–63 | continuous | ||
/esq_1/l3 |
0 / 2 | -63–63 | continuous | ||
/esq_1/t3 |
0 / 7 | 0–63 | continuous | ||
/esq_1/t4 |
0 / 8 | 0–63 | continuous | ||
/esq_1/vel_lvl_ctrl |
0 / 3 | 0–63 | continuous | ||
/esq_1/vel_t1 |
0 / 4 | 0–63 | continuous | ||
/esq_1/t_kbd_decay_sc |
0 / 9 | 0–63 | continuous | ||
/esq_1/env_2_l1 |
0 / 10 | -63–63 | continuous | ||
/esq_1/t1 |
0 / 15 | 0–127 | continuous | ||
/esq_1/l2 |
0 / 11 | -63–63 | continuous | ||
/esq_1/t2 |
0 / 16 | 0–63 | continuous | ||
/esq_1/l3 |
0 / 12 | -63–63 | continuous | ||
/esq_1/t3 |
0 / 17 | 0–63 | continuous | ||
/esq_1/t4 |
0 / 18 | 0–63 | continuous | ||
/esq_1/vel_lvl_ctrl |
0 / 13 | 0–63 | continuous | ||
/esq_1/vel_att_cntl |
0 / 14 | 0–63 | continuous | ||
/esq_1/t_kbd_decay_sc |
0 / 19 | 0–63 | continuous | ||
/esq_1/env_3_l1 |
0 / 20 | -63–63 | continuous | ||
/esq_1/t1 |
0 / 25 | 0–127 | continuous | ||
/esq_1/l2 |
0 / 21 | -63–63 | continuous | ||
/esq_1/t2 |
0 / 26 | 0–63 | continuous | ||
/esq_1/l3 |
0 / 22 | -63–63 | continuous | ||
/esq_1/t3 |
0 / 27 | 0–63 | continuous | ||
/esq_1/t4 |
0 / 28 | 0–63 | continuous | ||
/esq_1/vel_lvl_ctrl |
0 / 23 | 0–63 | continuous | ||
/esq_1/vel_att_cntl |
0 / 24 | 0–63 | continuous | ||
/esq_1/t_kbd_decay_sc |
0 / 29 | 0–63 | continuous | ||
/esq_1/env_4_l1 |
0 / 30 | -63–63 | continuous | ||
/esq_1/t1 |
0 / 35 | 0–63 | continuous | ||
/esq_1/l2 |
0 / 31 | -63–63 | continuous | ||
/esq_1/t2 |
0 / 36 | 0–63 | continuous | ||
/esq_1/l3 |
0 / 32 | -63–63 | continuous | ||
/esq_1/t3 |
0 / 37 | 0–63 | continuous | ||
/esq_1/t4 |
0 / 38 | 0–63 | continuous | ||
/esq_1/vel_lvl_ctrl |
0 / 33 | 0–63 | continuous | ||
/esq_1/vel_att_cntl |
0 / 34 | 0–63 | continuous | ||
/esq_1/t_kbd_decay_sc |
0 / 39 | 0–63 | continuous | ||
/esq_1/split_layer_on |
0 / 125 | 0–1 | switch | ||
/esq_1/sl_pgm |
0 / 126 | 0–79 | continuous | ||
/esq_1/layer_on |
0 / 127 | 0–1 | switch | ||
/esq_1/layer_pgm |
1 / 0 | 0–79 | continuous | ||
/esq_1/split_pgm |
1 / 1 | 0–2 | discrete | ||
/esq_1/split_prg |
1 / 2 | 0–79 | continuous | ||
/esq_1/level |
0 / 88 | 0–63 | continuous | ||
/esq_1/dca_1_status |
0 / 89 | 0–1 | switch | ||
/esq_1/mod_1 |
0 / 90 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 91 | -63–63 | continuous | ||
/esq_1/mod_1 |
0 / 92 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 93 | -63–63 | continuous | ||
/esq_1/level |
0 / 94 | 0–63 | continuous | ||
/esq_1/dca_1_status |
0 / 95 | 0–1 | switch | ||
/esq_1/mod_1 |
0 / 96 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 97 | -63–63 | continuous | ||
/esq_1/mod_1 |
0 / 98 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 99 | -63–63 | continuous | ||
/esq_1/level |
0 / 100 | 0–63 | continuous | ||
/esq_1/dca_1_status |
0 / 101 | 0–1 | switch | ||
/esq_1/mod_1 |
0 / 102 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 103 | -63–63 | continuous | ||
/esq_1/mod_1 |
0 / 104 | 0–15 | discrete | ||
/esq_1/mod_1_depth |
0 / 105 | -63–63 | continuous | ||
/esq_1/lfo_1_freq |
0 / 40 | 0–63 | continuous | ||
/esq_1/lfo_reset |
0 / 41 | 0–1 | switch | ||
/esq_1/human |
0 / 42 | 0–1 | switch | ||
/esq_1/waveform |
0 / 43 | 0–3 | discrete | ||
/esq_1/level_1 |
0 / 44 | 0–127 | continuous | ||
/esq_1/delay_rate |
0 / 45 | 0–127 | continuous | ||
/esq_1/lev_2 |
0 / 46 | 0–127 | continuous | ||
/esq_1/mod_source |
0 / 47 | 0–15 | discrete | ||
/esq_1/lfo_2_freq |
0 / 48 | 0–127 | continuous | ||
/esq_1/lfo_reset |
0 / 49 | 0–1 | switch | ||
/esq_1/human |
0 / 50 | 0–1 | switch | ||
/esq_1/waveform |
0 / 51 | 0–3 | discrete | ||
/esq_1/level_1 |
0 / 52 | 0–127 | continuous | ||
/esq_1/delay_rate |
0 / 53 | 0–127 | continuous | ||
/esq_1/lev_2 |
0 / 54 | 0–127 | continuous | ||
/esq_1/mod_source |
0 / 55 | 0–15 | discrete | ||
/esq_1/lfo_3_freq |
0 / 56 | 0–127 | continuous | ||
/esq_1/lfo_reset |
0 / 57 | 0–1 | switch | ||
/esq_1/human |
0 / 58 | 0–1 | switch | ||
/esq_1/waveform |
0 / 59 | 0–3 | discrete | ||
/esq_1/level_1 |
0 / 60 | 0–127 | continuous | ||
/esq_1/delay_rate |
0 / 61 | 0–127 | continuous | ||
/esq_1/lev_2 |
0 / 62 | 0–127 | continuous | ||
/esq_1/mod_source |
0 / 63 | 0–15 | discrete | ||
/esq_1/mode_amoun_on |
0 / 117 | 0–1 | switch | ||
/esq_1/env_cycle_on |
0 / 124 | 0–1 | switch | ||
/esq_1/mono_mode_on |
0 / 119 | 0–1 | switch | ||
/esq_1/reset_voice_on |
0 / 121 | 0–1 | switch | ||
/esq_1/reset_env_on |
0 / 122 | 0–1 | switch | ||
/esq_1/reset_osc_on |
0 / 123 | 0–1 | switch | ||
/esq_1/midi_enable |
1 / 14 | 0–3 | discrete | ||
/esq_1/midi_track |
1 / 15 | 0–12 | discrete | ||
/esq_1/midi_to_prg |
1 / 16 | 0–3 | discrete | ||
/esq_1/midi_to_mix |
1 / 17 | 0–3 | discrete | ||
/esq_1/glide |
0 / 118 | 0–63 | continuous | ||
/esq_1/split_key |
1 / 3 | 21–108 | continuous | ||
/esq_1/master_tuning |
1 / 4 | -31–31 | continuous | ||
/esq_1/mst_vel_sens |
1 / 5 | 0–1 | switch | ||
/esq_1/mst_pedal |
1 / 6 | 0–1 | switch | ||
/esq_1/mst_bend_range |
1 / 7 | 0–12 | discrete | ||
/esq_1/mst_bend_type |
1 / 8 | 0–1 | switch | ||
/esq_1/midi_base_chan |
1 / 9 | 1–17 | discrete | ||
/esq_1/midi_ovflow |
1 / 10 | 0–1 | switch | ||
/esq_1/midi_xcontrl |
1 / 11 | 0–95 | continuous | ||
/esq_1/midi_pressure |
1 / 12 | 0–2 | discrete | ||
/esq_1/midimode |
1 / 13 | 0–3 | discrete |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /esq_1/note/on <note> <velocity>, /esq_1/cc/<number> <value>, /esq_1/pitchbend <0-16383>, /esq_1/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.