Moog Sub 37: MIDI CC, NRPN and OSC map¶
The Moog Sub 37 as named OSC addresses — 74 CC, 25 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Moog Sub 37 |
|---|---|
| Vendor | Moog |
| OSC prefix | /sub_37 |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/moog/sub_37.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/moog/sub_37.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 sub_37: ask “what can the Moog Sub 37 do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (99)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/sub_37/octave |
74 | 0–127 | continuous | ||
/sub_37/wave |
9 | 0–127 | continuous | ||
/sub_37/hard_sync |
77 | 0–127 | continuous | ||
/sub_37/kb_reset |
81 | 0–127 | continuous | ||
/sub_37/frequency |
12 | 0–127 | continuous | ||
/sub_37/volume |
7 | 0–127 | continuous | ||
/sub_37/octave |
75 | 0–127 | continuous | ||
/sub_37/wave |
14 | 0–127 | continuous | ||
/sub_37/kb_ctrl |
111 | 0–127 | continuous | ||
/sub_37/duo_mode |
110 | 0–127 | continuous | ||
/sub_37/beat_freq |
13 | 0–127 | continuous | ||
/sub_37/hold_sustain |
64 | 0–127 | continuous | ||
/sub_37/osc_1 |
114 | 0–127 | continuous | ||
/sub_37/sub |
115 | 0–127 | continuous | ||
/sub_37/osc_2 |
116 | 0–127 | continuous | ||
/sub_37/noise |
117 | 0–127 | continuous | ||
/sub_37/fdbk_ext_in |
118 | 0–127 | continuous | ||
/sub_37/kb_octave |
89 | 0–127 | continuous | ||
/sub_37/osc_1 |
3 / 106 | 0–127 | continuous | ||
/sub_37/sub |
3 / 107 | 0–127 | continuous | ||
/sub_37/osc_2 |
3 / 110 | 0–127 | continuous | ||
/sub_37/noise |
3 / 111 | 0–127 | continuous | ||
/sub_37/fdbk_ext_in |
3 / 114 | 0–127 | continuous | ||
/sub_37/kb_transpose |
119 | 0–127 | continuous | ||
/sub_37/cutoff |
19 | 0–127 | continuous | ||
/sub_37/resonance |
21 | 0–127 | continuous | ||
/sub_37/multidrive |
18 | 0–127 | continuous | ||
/sub_37/local_control |
122 | 0–127 | continuous | ||
/sub_37/slope |
109 | 0–127 | continuous | ||
/sub_37/eg_amount |
27 | 0–127 | continuous | ||
/sub_37/kb_track |
22 | 0–127 | continuous | ||
/sub_37/all_notes_off |
123 | 0–127 | continuous | ||
/sub_37/cc7 |
23 | 0–127 | continuous | ||
/sub_37/cc7 |
24 | 0–127 | continuous | ||
/sub_37/cc7 |
25 | 0–127 | continuous | ||
/sub_37/cc7 |
26 | 0–127 | continuous | ||
/sub_37/delay |
103 | 0–127 | continuous | ||
/sub_37/hold |
105 | 0–127 | continuous | ||
/sub_37/velocity |
86 | 0–127 | continuous | ||
/sub_37/kb_tracking |
79 | 0–127 | continuous | ||
/sub_37/multi_trig |
112 | 0–127 | continuous | ||
/sub_37/reset |
82 | 0–127 | continuous | ||
/sub_37/sync |
4 / 3 | 0–127 | continuous | ||
/sub_37/loop |
4 / 4 | 0–127 | continuous | ||
/sub_37/latch_on |
4 / 5 | 0–127 | continuous | ||
/sub_37/cc7 |
28 | 0–127 | continuous | ||
/sub_37/cc7 |
29 | 0–127 | continuous | ||
/sub_37/cc7 |
30 | 0–127 | continuous | ||
/sub_37/cc7 |
31 | 0–127 | continuous | ||
/sub_37/delay |
104 | 0–127 | continuous | ||
/sub_37/hold |
106 | 0–127 | continuous | ||
/sub_37/velocity |
87 | 0–127 | continuous | ||
/sub_37/kb_tracking |
80 | 0–127 | continuous | ||
/sub_37/multi_trig |
113 | 0–127 | continuous | ||
/sub_37/reset |
83 | 0–127 | continuous | ||
/sub_37/sync |
4 / 25 | 0–127 | continuous | ||
/sub_37/loop |
4 / 26 | 0–127 | continuous | ||
/sub_37/latch_on |
4 / 27 | 0–127 | continuous | ||
/sub_37/lfo_rate |
3 | 0–127 | continuous | ||
/sub_37/lfo_sync_rate |
3 / 43 | 0–127 | continuous | ||
/sub_37/source |
71 | 0–127 | continuous | ||
/sub_37/lfo_rate |
8 | 0–127 | continuous | ||
/sub_37/lfo_sync_rate |
3 / 68 | 0–127 | continuous | ||
/sub_37/source |
72 | 0–127 | continuous | ||
/sub_37/hi_range |
76 | 0–127 | continuous | ||
/sub_37/sync |
3 / 41 | 0–127 | continuous | ||
/sub_37/kb_reset |
93 | 0–127 | continuous | ||
/sub_37/hi_range |
78 | 0–127 | continuous | ||
/sub_37/sync |
3 / 66 | 0–127 | continuous | ||
/sub_37/kb_reset |
95 | 0–127 | continuous | ||
/sub_37/pitch_amt |
4 | 0–127 | continuous | ||
/sub_37/filter_amt |
11 | 0–127 | continuous | ||
/sub_37/pitch_amt |
15 | 0–127 | continuous | ||
/sub_37/filter_amt |
16 | 0–127 | continuous | ||
/sub_37/osc |
70 | 0–127 | continuous | ||
/sub_37/osc |
88 | 0–127 | continuous | ||
/sub_37/destination |
91 | 0–127 | continuous | ||
/sub_37/amt |
20 | 0–127 | continuous | ||
/sub_37/destination |
92 | 0–127 | continuous | ||
/sub_37/amt |
17 | 0–127 | continuous | ||
/sub_37/mod_wheel |
1 | 0–127 | continuous | ||
/sub_37/time |
5 | 0–127 | continuous | ||
/sub_37/osc |
102 | 0–127 | continuous | ||
/sub_37/type |
85 | 0–127 | continuous | ||
/sub_37/gated |
3 / 36 | 0–127 | continuous | ||
/sub_37/legato |
94 | 0–127 | continuous | ||
/sub_37/on |
65 | 0–127 | continuous | ||
/sub_37/rate |
90 | 0–127 | continuous | ||
/sub_37/sync |
3 / 29 | 0–127 | continuous | ||
/sub_37/tap_sync |
3 / 20 | 0–127 | continuous | ||
/sub_37/range |
3 / 21 | 0–127 | continuous | ||
/sub_37/back_forth |
3 / 22 | 0–127 | continuous | ||
/sub_37/invert |
3 / 24 | 0–127 | continuous | ||
/sub_37/pattern |
3 / 25 | 0–127 | continuous | ||
/sub_37/arp_on |
73 | 0–127 | continuous | ||
/sub_37/latch |
69 | 0–127 | continuous | ||
/sub_37/bf_mode |
3 / 23 | 0–127 | continuous | ||
/sub_37/gate_length |
3 / 28 | 0–16383 | continuous | ||
/sub_37/step_1_reset |
3 / 32 | 0–127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /sub_37/note/on <note> <velocity>, /sub_37/cc/<number> <value>, /sub_37/pitchbend <0-16383>, /sub_37/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.