GS Music e7: MIDI CC, NRPN and OSC map¶
The GS Music e7 as named OSC addresses — 88 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | GS Music e7 |
|---|---|
| Vendor | GS Music |
| OSC prefix | /e7 |
| 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/gs-music/e7.pencilresearch.fw-unknown.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.
Other variants of this device: e7.
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/gs-music/e7.pencilresearch.fw-unknown.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 e7: ask “what can the GS Music e7 do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (88)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/e7/general/mod_wheel |
1 | 0–127 | continuous | General | |
/e7/general/volume |
7 | 0–127 | continuous | General | |
/e7/general/portamento_time |
5 | 0–127 | continuous | General | |
/e7/general/portamento_switch |
65 | 0–127 | continuous | General | |
/e7/general/hold |
64 | 0–127 | continuous | General | |
/e7/general/pitch_bend_range |
50 | 0–127 | continuous | General | |
/e7/oscillator_1/transpose |
3 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/tune |
9 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/shape |
14 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/pulse_width |
15 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/lfo_1_mod |
22 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/lfo_2_mod |
23 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/lfo_3_mod |
24 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/envelope_1_mod |
25 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/lfo_1_pulse_width_mod |
26 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/lfo_2_pulse_width_mod |
27 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/lfo_3_pulse_width_mod |
28 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_1/envelope_1_pulse_width_mod |
29 | 0–127 | continuous | Oscillator 1 | |
/e7/oscillator_2/transpose |
30 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/tune |
31 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/shape |
34 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/pulse_width |
35 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/lfo_1_mod |
39 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/lfo_2_mod |
40 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/lfo_3_mod |
41 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/envelope_1_mod |
42 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/lfo_1_pulse_width_mod |
43 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/lfo_2_pulse_width_mod |
44 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/lfo_3_pulse_width_mod |
45 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/envelope_1_pulse_width_mod |
46 | 0–127 | continuous | Oscillator 2 | |
/e7/oscillator_2/sync |
51 | 0–127 | continuous | Oscillator 2 | |
/e7/mixer/oscillator_1_level |
20 | 0–127 | continuous | Mixer | |
/e7/mixer/oscillator_2_level |
36 | 0–127 | continuous | Mixer | |
/e7/mixer/sub_1_level |
21 | 0–127 | continuous | Mixer | |
/e7/mixer/sub_2_level |
37 | 0–127 | continuous | Mixer | |
/e7/mixer/noise_external_level |
52 | 0–127 | continuous | Mixer | |
/e7/lfo_1/shape |
53 | 0–127 | continuous | LFO 1 | |
/e7/lfo_1/rate |
76 | 0–127 | continuous | LFO 1 | |
/e7/lfo_1/mode |
60 | 0–127 | continuous | LFO 1 | |
/e7/lfo_2/shape |
61 | 0–127 | continuous | LFO 2 | |
/e7/lfo_2/rate |
62 | 0–127 | continuous | LFO 2 | |
/e7/lfo_2/mode |
70 | 0–127 | continuous | LFO 2 | |
/e7/lfo_2/envelope_1_mod |
67 | 0–127 | continuous | LFO 2 | |
/e7/lfo_3/shape |
72 | 0–127 | continuous | LFO 3 | |
/e7/lfo_3/rate |
73 | 0–127 | continuous | LFO 3 | |
/e7/lfo_3/mod_wheel |
79 | 0–127 | continuous | LFO 3 | |
/e7/lfo_3/aftertouch |
78 | 0–127 | continuous | LFO 3 | |
/e7/filter/cutoff |
74 | 0–127 | continuous | Filter | |
/e7/filter/envelope_1_mod |
89 | 0–127 | continuous | Filter | |
/e7/filter/velocity_envelope_1_mod |
86 | 0–127 | continuous | Filter | |
/e7/filter/lfo_1_mod |
90 | 0–127 | continuous | Filter | |
/e7/filter/lfo_2_mod |
91 | 0–127 | continuous | Filter | |
/e7/filter/lfo_3_mod |
92 | 0–127 | continuous | Filter | |
/e7/filter/keyboard_tracking |
85 | 0–127 | continuous | Filter | |
/e7/filter/mod_wheel |
88 | 0–127 | continuous | Filter | |
/e7/filter/aftertouch |
87 | 0–127 | continuous | Filter | |
/e7/amplifier/level |
11 | 0–127 | continuous | Amplifier | |
/e7/amplifier/lfo_1_mod |
103 | 0–127 | continuous | Amplifier | |
/e7/amplifier/lfo_2_mod |
104 | 0–127 | continuous | Amplifier | |
/e7/amplifier/lfo_3_mod |
105 | 0–127 | continuous | Amplifier | |
/e7/amplifier/keyboard_tracking |
93 | 0–127 | continuous | Amplifier | |
/e7/amplifier/velocity_envelope_2_mod |
94 | 0–127 | continuous | Amplifier | |
/e7/amplifier/stereo_spread |
10 | 0–127 | continuous | Amplifier | |
/e7/amplifier/stereo_motion |
119 | 0–127 | continuous | Amplifier | |
/e7/envelope_1/attack |
16 | 0–127 | continuous | Envelope 1 | |
/e7/envelope_1/decay |
17 | 0–127 | continuous | Envelope 1 | |
/e7/envelope_1/sustain |
18 | 0–127 | continuous | Envelope 1 | |
/e7/envelope_1/release |
19 | 0–127 | continuous | Envelope 1 | |
/e7/envelope_1/attack_velocity_mod |
106 | 0–127 | continuous | Envelope 1 | |
/e7/envelope_1/release_velocity_mod |
107 | 0–127 | continuous | Envelope 1 | |
/e7/envelope_1/keyboard_tracking |
117 | 0–127 | continuous | Envelope 1 | |
/e7/envelope_2/attack |
80 | 0–127 | continuous | Envelope 2 | |
/e7/envelope_2/decay |
81 | 0–127 | continuous | Envelope 2 | |
/e7/envelope_2/sustain |
82 | 0–127 | continuous | Envelope 2 | |
/e7/envelope_2/release |
83 | 0–127 | continuous | Envelope 2 | |
/e7/envelope_2/attack_velocity_mod |
108 | 0–127 | continuous | Envelope 2 | |
/e7/envelope_2/release_velocity_mod |
109 | 0–127 | continuous | Envelope 2 | |
/e7/envelope_2/keyboard_tracking |
118 | 0–127 | continuous | Envelope 2 | |
/e7/chorus/type |
113 | 0–127 | continuous | Chorus | |
/e7/chorus/rate |
114 | 0–127 | continuous | Chorus | |
/e7/chorus/depth |
115 | 0–127 | continuous | Chorus | |
/e7/chorus/mix |
13 | 0–127 | continuous | Chorus | |
/e7/delay/type |
110 | 0–127 | continuous | Delay | |
/e7/delay/time |
111 | 0–127 | continuous | Delay | |
/e7/delay/feedback |
112 | 0–127 | continuous | Delay | |
/e7/delay/mix |
12 | 0–127 | continuous | Delay | |
/e7/voice/mode |
116 | 0–127 | continuous | Voice | |
/e7/voice/voices |
97 | 0–127 | continuous | Voice |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /e7/note/on <note> <velocity>, /e7/cc/<number> <value>, /e7/pitchbend <0-16383>, /e7/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.