Moog Subsequent 37 MIDI CC chart, NRPN and OSC map
The Moog Subsequent 37 MIDI implementation: 89 CC, 98 NRPN, each named, for Claude (MCP), SuperCollider or any OSC app.
- sourceMIDI Guide
- licenceCC-BY-SA-4.0
- real unitnot yet checked
Not checked on a real Moog Subsequent 37 yet. Own one? Load a sound or send a control, and tell us whether it worked.
- Maker
- Moog
- Version
- v1.1 firmware
- Source
- MIDI Guide
- Data licence
- CC-BY-SA-4.0 MIDI Guide (https://midi.guide) by Pencil Research and contributors
- OSC prefix
/sub37
Use 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/subsequent-37.json --out-port <N> --in-port <M>
Then send OSC to 127.0.0.1:7777, for example:
osc-bridge osc-send /sub37/oscillator_1/octave 63
From Claude or any MCP client, the osc-bridge mcp server exposes this driver as sub37: ask “what can the Moog Subsequent 37 do?” and it reads this map with list_routes. See the MCP guide.
MIDI controls
131 controls, each with its number, its range and the name to send
Oscillator 1
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Octave |
74 |
3 / 95 |
0–127 |
/sub37/oscillator_1/octave |
| Wave |
9 / 41 |
3 / 96 |
0–16383 |
/sub37/oscillator_1/wave |
Oscillator 2
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Octave |
75 |
3 / 99 |
0–127 |
/sub37/oscillator_2/octave |
| Wave |
14 / 46 |
3 / 100 |
0–16383 |
/sub37/oscillator_2/wave |
| Frequency |
12 / 44 |
|
0–16383 |
/sub37/oscillator_2/frequency |
| Frequency mode |
|
3 / 103 |
discrete |
/sub37/oscillator_2/frequency_mode |
| Beat frequency |
13 / 45 |
|
0–16383 |
/sub37/oscillator_2/beat_frequency |
| Beat mode |
|
3 / 104 |
switch |
/sub37/oscillator_2/beat_mode |
| Hard sync |
77 |
3 / 97 |
0–127 |
/sub37/oscillator_2/hard_sync |
| Keyboard control |
111 |
3 / 101 |
0–127 |
/sub37/oscillator_2/keyboard_control |
Oscillators
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Oscillator keyboard reset |
81 |
3 / 98 |
0–127 |
/sub37/oscillators/oscillator_keyboard_reset |
| Duo mode |
110 |
3 / 102 |
0–127 |
/sub37/oscillators/duo_mode |
Mixer
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Oscillator 1 on |
|
3 / 106 |
switch |
/sub37/mixer/oscillator_1_on |
| Oscillator 1 level |
114 |
3 / 105 |
0–127 |
/sub37/mixer/oscillator_1_level |
| Sub oscillator on |
|
3 / 107 |
switch |
/sub37/mixer/sub_oscillator_on |
| Sub oscillator level |
115 |
3 / 108 |
0–127 |
/sub37/mixer/sub_oscillator_level |
| Oscillator 2 on |
|
3 / 110 |
switch |
/sub37/mixer/oscillator_2_on |
| Oscillator 2 level |
116 |
3 / 109 |
0–127 |
/sub37/mixer/oscillator_2_level |
| Noise on |
|
3 / 111 |
switch |
/sub37/mixer/noise_on |
| Noise level |
117 |
3 / 112 |
0–127 |
/sub37/mixer/noise_level |
| Feedback external on |
|
3 / 114 |
switch |
/sub37/mixer/feedback_external_on |
| Feedback external level |
118 |
3 / 113 |
0–127 |
/sub37/mixer/feedback_external_level |
Filter
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Cutoff |
19 / 51 |
3 / 115 |
0–16383 |
/sub37/filter/cutoff |
| Resonance |
21 / 53 |
3 / 116 |
0–16383 |
/sub37/filter/resonance |
| Multidrive |
18 / 50 |
3 / 117 |
0–16383 |
/sub37/filter/multidrive |
| Slope |
109 |
3 / 118 |
0–127 |
/sub37/filter/slope |
| Envelope amount |
27 / 59 |
3 / 119 |
0–16383 |
/sub37/filter/envelope_amount |
| Keyboard amount |
22 / 54 |
3 / 120 |
0–16383 |
/sub37/filter/keyboard_amount |
Filter envelope
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Attack |
23 / 55 |
3 / 121 |
0–16383 |
/sub37/filter_envelope/attack |
| Decay |
24 / 56 |
3 / 122 |
0–16383 |
/sub37/filter_envelope/decay |
| Sustain |
25 / 57 |
3 / 123 |
0–16383 |
/sub37/filter_envelope/sustain |
| Release |
26 / 58 |
3 / 124 |
0–16383 |
/sub37/filter_envelope/release |
| Delay |
103 |
3 / 125 |
0–127 |
/sub37/filter_envelope/delay |
| Hold |
105 |
3 / 126 |
0–127 |
/sub37/filter_envelope/hold |
| Velocity amount |
86 |
3 / 127 |
0–127 |
/sub37/filter_envelope/velocity_amount |
| Keyboard tracking |
79 |
4 / 0 |
0–127 |
/sub37/filter_envelope/keyboard_tracking |
| Multi trigger |
112 |
4 / 1 |
0–127 |
/sub37/filter_envelope/multi_trigger |
| Reset |
82 |
4 / 2 |
0–127 |
/sub37/filter_envelope/reset |
| Sync |
|
4 / 3 |
switch |
/sub37/filter_envelope/sync |
| Loop |
|
4 / 4 |
switch |
/sub37/filter_envelope/loop |
| Latch |
|
4 / 5 |
switch |
/sub37/filter_envelope/latch |
| Clock divider |
|
4 / 6 |
discrete |
/sub37/filter_envelope/clock_divider |
| Attack exponential |
|
4 / 8 |
switch |
/sub37/filter_envelope/attack_exponential |
Amplifier envelope
| Control |
CC |
Range |
Name to send |
| Attack |
28 / 60 |
0–16383 |
/sub37/amplifier_envelope/attack |
| Decay |
29 / 61 |
0–16383 |
/sub37/amplifier_envelope/decay |
| Sustain |
30 / 62 |
0–16383 |
/sub37/amplifier_envelope/sustain |
| Release |
31 / 63 |
0–16383 |
/sub37/amplifier_envelope/release |
| Delay |
104 |
0–127 |
/sub37/amplifier_envelope/delay |
| Hold |
106 |
0–127 |
/sub37/amplifier_envelope/hold |
| Velocity amount |
87 |
0–127 |
/sub37/amplifier_envelope/velocity_amount |
| Keyboard amount |
80 |
0–127 |
/sub37/amplifier_envelope/keyboard_amount |
| Multi trigger |
113 |
0–127 |
/sub37/amplifier_envelope/multi_trigger |
| Reset |
83 |
0–127 |
/sub37/amplifier_envelope/reset |
Modulation 1
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Source |
71 |
3 / 56 |
0–127 |
/sub37/modulation_1/source |
| Destination |
91 |
3 / 58 |
0–127 |
/sub37/modulation_1/destination |
| Pitch destination |
70 |
3 / 63 |
0–127 |
/sub37/modulation_1/pitch_destination |
| Pitch amount |
4 / 36 |
3 / 61 |
0–16383 |
/sub37/modulation_1/pitch_amount |
| Filter amount |
11 / 43 |
3 / 62 |
0–16383 |
/sub37/modulation_1/filter_amount |
| Programmable destination amount |
20 / 52 |
3 / 60 |
0–16383 |
/sub37/modulation_1/programmable_destination_amount |
| Programmable source |
|
3 / 57 |
discrete |
/sub37/modulation_1/programmable_source |
| Programmable destination |
|
3 / 59 |
discrete |
/sub37/modulation_1/programmable_destination |
| Mod wheel amount |
|
3 / 51 |
0–16383 |
/sub37/modulation_1/mod_wheel_amount |
| Velocity amount |
|
3 / 52 |
0–16383 |
/sub37/modulation_1/velocity_amount |
| Pressure amount |
|
3 / 53 |
0–16383 |
/sub37/modulation_1/pressure_amount |
| Controller 4 amount |
|
3 / 54 |
0–16383 |
/sub37/modulation_1/controller_4_amount |
Modulation 2
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Source |
72 |
3 / 81 |
0–127 |
/sub37/modulation_2/source |
| Destination |
92 |
3 / 83 |
0–127 |
/sub37/modulation_2/destination |
| Pitch destination |
88 |
3 / 88 |
0–127 |
/sub37/modulation_2/pitch_destination |
| Pitch amount |
15 / 47 |
3 / 86 |
0–16383 |
/sub37/modulation_2/pitch_amount |
| Filter amount |
16 / 48 |
3 / 87 |
0–16383 |
/sub37/modulation_2/filter_amount |
| Programmable destination amount |
17 / 49 |
3 / 85 |
0–16383 |
/sub37/modulation_2/programmable_destination_amount |
| Programmable source |
|
3 / 82 |
discrete |
/sub37/modulation_2/programmable_source |
| Programmable destination |
|
3 / 84 |
discrete |
/sub37/modulation_2/programmable_destination |
| Mod wheel amount |
|
3 / 76 |
0–16383 |
/sub37/modulation_2/mod_wheel_amount |
| Velocity amount |
|
3 / 77 |
0–16383 |
/sub37/modulation_2/velocity_amount |
| Pressure amount |
|
3 / 78 |
0–16383 |
/sub37/modulation_2/pressure_amount |
| Controller 4 amount |
|
3 / 79 |
0–16383 |
/sub37/modulation_2/controller_4_amount |
LFO 1
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Rate |
3 / 35 |
3 / 39 |
0–16383 |
/sub37/lfo_1/rate |
| Clock divider |
3 |
3 / 43 |
discrete |
/sub37/lfo_1/clock_divider |
| Range |
76 |
3 / 40 |
0–127 |
/sub37/lfo_1/range |
| Sync |
|
3 / 41 |
switch |
/sub37/lfo_1/sync |
| Keyboard reset |
93 |
3 / 42 |
0–127 |
/sub37/lfo_1/keyboard_reset |
| Clock source |
|
3 / 44 |
switch |
/sub37/lfo_1/clock_source |
| Keyboard tracking |
|
3 / 46 |
0–16383 |
/sub37/lfo_1/keyboard_tracking |
LFO 2
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Rate |
8 / 40 |
3 / 64 |
0–16383 |
/sub37/lfo_2/rate |
| Clock divider |
8 |
3 / 68 |
discrete |
/sub37/lfo_2/clock_divider |
| Range |
78 |
3 / 65 |
0–127 |
/sub37/lfo_2/range |
| Sync |
|
3 / 66 |
switch |
/sub37/lfo_2/sync |
| Keyboard reset |
95 |
3 / 67 |
0–127 |
/sub37/lfo_2/keyboard_reset |
| Clock source |
|
3 / 69 |
switch |
/sub37/lfo_2/clock_source |
| Keyboard tracking |
|
3 / 71 |
0–16383 |
/sub37/lfo_2/keyboard_tracking |
Arpeggiator
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| On |
73 |
|
0–127 |
/sub37/arpeggiator/on |
| Run |
|
3 / 26 |
switch |
/sub37/arpeggiator/run |
| Latch |
69 |
3 / 27 |
0–127 |
/sub37/arpeggiator/latch |
| Rate |
|
3 / 19 |
0–16383 |
/sub37/arpeggiator/rate |
| Sync |
|
3 / 20 |
switch |
/sub37/arpeggiator/sync |
| Range |
|
3 / 21 |
discrete |
/sub37/arpeggiator/range |
| Back forth |
|
3 / 22 |
switch |
/sub37/arpeggiator/back_forth |
| Back forth mode |
|
3 / 23 |
switch |
/sub37/arpeggiator/back_forth_mode |
| Invert |
|
3 / 24 |
switch |
/sub37/arpeggiator/invert |
| Pattern |
|
3 / 25 |
discrete |
/sub37/arpeggiator/pattern |
| Gate length |
|
3 / 28 |
0–16383 |
/sub37/arpeggiator/gate_length |
| Clock divider |
|
3 / 29 |
discrete |
/sub37/arpeggiator/clock_divider |
| Step 1 reset |
|
3 / 32 |
trigger |
/sub37/arpeggiator/step_1_reset |
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| Mod wheel |
1 / 33 |
3 / 18 |
0–16383 |
/sub37/performance/mod_wheel |
| Hold pedal sustain |
64 |
|
0–127 |
/sub37/performance/hold_pedal_sustain |
| Pitch bend up amount |
107 |
|
discrete |
/sub37/performance/pitch_bend_up_amount |
| Pitch bend down amount |
108 |
|
discrete |
/sub37/performance/pitch_bend_down_amount |
Glide
| Control |
CC |
NRPN (MSB/LSB) |
Range |
Name to send |
| On |
65 |
3 / 38 |
0–127 |
/sub37/glide/on |
| Time |
5 / 37 |
3 / 33 |
0–16383 |
/sub37/glide/time |
| Type |
85 |
3 / 35 |
0–127 |
/sub37/glide/type |
| Legato |
94 |
3 / 37 |
0–127 |
/sub37/glide/legato |
| Destination oscillator |
102 |
3 / 34 |
0–127 |
/sub37/glide/destination_oscillator |
| Gate |
|
3 / 36 |
switch |
/sub37/glide/gate |
Global
| Control |
CC |
Range |
Name to send |
| Bank select |
0 |
discrete |
/sub37/global/bank_select |
| Bank select lsb |
32 |
discrete |
/sub37/global/bank_select_lsb |
| Master volume |
7 / 39 |
0–16383 |
/sub37/global/master_volume |
| Keyboard octave |
89 |
0–127 |
/sub37/global/keyboard_octave |
| Keyboard transpose |
119 |
0–127 |
/sub37/global/keyboard_transpose |
| Local control |
122 |
0–127 |
/sub37/global/local_control |
| All notes off |
123 |
trigger |
/sub37/global/all_notes_off |
Reserved
| Control |
CC |
Range |
Name to send |
| Midi breath control |
2 / 34 |
0–16383 |
/sub37/reserved/midi_breath_control |
| Data entry |
6 / 38 |
0–16383 |
/sub37/reserved/data_entry |
| Midi pan |
10 / 42 |
0–16383 |
/sub37/reserved/midi_pan |
| Portamento control |
84 |
0–127 |
/sub37/reserved/portamento_control |
| Data increment |
96 |
0–127 |
/sub37/reserved/data_increment |
| Data decrement |
97 |
0–127 |
/sub37/reserved/data_decrement |
| Nrpn lsb |
98 |
0–127 |
/sub37/reserved/nrpn_lsb |
| Nrpn msb |
99 |
0–127 |
/sub37/reserved/nrpn_msb |
| Rpn lsb |
100 |
0–127 |
/sub37/reserved/rpn_lsb |
| Rpn msb |
101 |
0–127 |
/sub37/reserved/rpn_msb |
Notes, pitch bend and any CC are also available: /sub37/note/on <note> <velocity>, /sub37/cc/<number> <value>, /sub37/pitchbend <0-16383>, /sub37/program_change <n>.
JSON
Frequently asked questions
Which MIDI CC controls the filter cutoff on the Moog Subsequent 37?
CC 19 (0–16383), named /sub37/filter/cutoff in SynthHub's map.
How many parameters of the Moog Subsequent 37 can be controlled over MIDI?
SynthHub's map of the Moog Subsequent 37 lists 89 MIDI CC and 98 NRPN parameters, each with its number, range and a readable name; the full chart is on this page.
Can an AI agent like Claude control the Moog Subsequent 37?
Yes: SynthHub's hosted MCP server knows the Moog Subsequent 37's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.