Tasty Chips GR-Mega: MIDI CC, NRPN and OSC map¶
The Tasty Chips GR-Mega as named OSC addresses — 128 CC, 149 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Tasty Chips GR-Mega |
|---|---|
| Vendor | Tasty Chips |
| OSC prefix | /gr_mega |
| 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/tasty-chips/gr_mega.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.
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/tasty-chips/gr_mega.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 gr_mega: ask “what can the Tasty Chips GR-Mega do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (199)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/gr_mega/midi/bank_change |
0 | 0–127 | continuous | MIDI | |
/gr_mega/midi/mod_wheel_msb |
1 | 0 / 1 | 0–127 | continuous | MIDI |
/gr_mega/midi/mod_wheel_lsb |
33 | 0 / 33 | 0–127 | continuous | MIDI |
/gr_mega/midi/pitchbend_range |
2 | 0 / 2 | 0–127 | continuous | MIDI |
/gr_mega/midi/nrpn_value_msb |
6 | 0–127 | continuous | MIDI | |
/gr_mega/midi/nrpn_value_lsb |
38 | 0–127 | continuous | MIDI | |
/gr_mega/midi/nrpn_parameter_lsb |
98 | 0–127 | continuous | MIDI | |
/gr_mega/midi/nrpn_parameter_msb |
99 | 0–127 | continuous | MIDI | |
/gr_mega/midi/rpn_parameter_lsb |
100 | 0–127 | continuous | MIDI | |
/gr_mega/midi/rpn_parameter_msb |
101 | 0–127 | continuous | MIDI | |
/gr_mega/midi/mpe_timbre_msb |
74 | 0 / 74 | 0–127 | continuous | MIDI |
/gr_mega/midi/mpe_timbre_lsb |
106 | 0 / 106 | 0–127 | continuous | MIDI |
/gr_mega/midi/sustain_pedal |
64 | 0 / 64 | 0–127 | continuous | MIDI |
/gr_mega/midi/all_sound_off |
120 | 0–127 | continuous | MIDI | |
/gr_mega/midi/reset_layer_controllers |
121 | 0–127 | continuous | MIDI | |
/gr_mega/midi/local_keyboard_off |
122 | 0–127 | continuous | MIDI | |
/gr_mega/midi/all_notes_off |
123 | 0–127 | continuous | MIDI | |
/gr_mega/midi/unnamed |
125 | 0–127 | continuous | MIDI | |
/gr_mega/midi/mono_mode |
126 | 0–127 | continuous | MIDI | |
/gr_mega/midi/poly_mode |
127 | 0–127 | continuous | MIDI | |
/gr_mega/layer/enable_and_focus_layer |
3 | 0 / 3 | 0–127 | continuous | Layer |
/gr_mega/layer/volume |
7 | 0 / 7 | 0–127 | continuous | Layer |
/gr_mega/multitimbral/layer_1_preset |
1 / 47 | 0–127 | continuous | Multitimbral | |
/gr_mega/multitimbral/layer_2_preset |
1 / 48 | 0–127 | continuous | Multitimbral | |
/gr_mega/multitimbral/layer_3_preset |
1 / 49 | 0–127 | continuous | Multitimbral | |
/gr_mega/multitimbral/layer_4_preset |
1 / 50 | 0–127 | continuous | Multitimbral | |
/gr_mega/multitimbral/layer_1_midi_channel |
1 / 30 | 0–15 | discrete | Multitimbral | |
/gr_mega/multitimbral/layer_2_midi_channel |
1 / 31 | 0–15 | discrete | Multitimbral | |
/gr_mega/multitimbral/layer_3_midi_channel |
1 / 32 | 0–15 | discrete | Multitimbral | |
/gr_mega/multitimbral/layer_4_midi_channel |
1 / 33 | 0–15 | discrete | Multitimbral | |
/gr_mega/multitimbral/scan_layer_1 |
1 / 12 | 0–16383 | continuous | Multitimbral | |
/gr_mega/multitimbral/scan_layer_2 |
1 / 13 | 0–16383 | continuous | Multitimbral | |
/gr_mega/multitimbral/scan_layer_3 |
1 / 14 | 0–16383 | continuous | Multitimbral | |
/gr_mega/multitimbral/scan_layer_4 |
1 / 15 | 0–16383 | continuous | Multitimbral | |
/gr_mega/multitimbral/layer_bias |
3 / 116 | 0–16383 | continuous | Multitimbral | |
/gr_mega/multitimbral/layer_spray |
3 / 117 | 0–16383 | continuous | Multitimbral | |
/gr_mega/sub_oscillator/pitch |
4 | 0 / 4 | 0–127 | continuous | Sub-oscillator |
/gr_mega/sub_oscillator/amplitude |
5 | 0 / 5 | 0–127 | continuous | Sub-oscillator |
/gr_mega/granular_engine/granular_mode |
49 | 0–127 | continuous | Granular engine | |
/gr_mega/granular_engine/rate_mode |
2 / 35 | 0–16383 | continuous | Granular engine | |
/gr_mega/granular_engine/window_type |
48 | 0–127 | continuous | Granular engine | |
/gr_mega/granular_engine/grain_window_sides |
44 | 0 / 44 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/grain_window_tilt |
45 | 0 / 45 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/grain_window_curve |
46 | 0 / 46 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/grain_window_amplitude_modulation |
47 | 0 / 47 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/position |
8 | 0 / 8 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/rate_or_density |
9 | 0 / 9 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/grain_rate |
7 / 110 | 0–16383 | continuous | Granular engine | |
/gr_mega/granular_engine/grain_size |
12 | 0 / 12 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/spray |
13 | 0 / 13 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/pan_spray |
11 | 0 / 11 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/panning |
10 | 0 / 10 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/mid_side |
17 | 0 / 17 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/direction |
14 | 0 / 14 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/scan |
15 | 0 / 15 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/tune |
16 | 0 / 16 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/start_position |
28 | 0 / 28 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/stop_position |
29 | 0 / 29 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/loop_start |
30 | 0 / 30 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/loop_end |
31 | 0 / 31 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/scan_mode |
32 | 0–127 | continuous | Granular engine | |
/gr_mega/granular_engine/patch_polyphony |
23 | 0–19 | continuous | Granular engine | |
/gr_mega/granular_engine/grain_arpeggiator_mode |
27 | 0–9 | continuous | Granular engine | |
/gr_mega/granular_engine/pitch_per_grain |
26 | 0–1 | switch | Granular engine | |
/gr_mega/granular_engine/grain_clock_sync |
19 | 0–1 | switch | Granular engine | |
/gr_mega/granular_engine/scan_clock_sync |
20 | 0–1 | switch | Granular engine | |
/gr_mega/granular_engine/grain_key_sync |
21 | 0–1 | switch | Granular engine | |
/gr_mega/granular_engine/scan_key_sync |
22 | 0–3 | continuous | Granular engine | |
/gr_mega/granular_engine/glide_time |
24 | 0 / 24 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/glide_always |
25 | 0–1 | switch | Granular engine | |
/gr_mega/granular_engine/glide_portamento |
84 | 0 / 84 | 0–127 | continuous | Granular engine |
/gr_mega/granular_engine/reserved |
18 | 0–127 | continuous | Granular engine | |
/gr_mega/sampling/dry_audio_input_volume |
42 | 0 / 42 | 0–127 | continuous | Sampling |
/gr_mega/sampling/wet_granulated_volume |
43 | 0 / 43 | 0–127 | continuous | Sampling |
/gr_mega/sampling/record_trigger_level |
40 | 0 / 40 | 0–127 | continuous | Sampling |
/gr_mega/sampling/record_sample |
41 | 0–127 | continuous | Sampling | |
/gr_mega/sampling/input_level |
2 / 38 | 0–16383 | continuous | Sampling | |
/gr_mega/sampling/anti_alias |
1 / 82 | 0–1 | switch | Sampling | |
/gr_mega/sampling/tape_slew |
1 / 83 | 0–16383 | continuous | Sampling | |
/gr_mega/filter/low_pass_filter_cutoff |
50 | 0 / 50 | 0–127 | continuous | Filter |
/gr_mega/filter/low_pass_filter_resonance |
51 | 0 / 51 | 0–127 | continuous | Filter |
/gr_mega/filter/high_pass_filter_cutoff |
52 | 0 / 52 | 0–127 | continuous | Filter |
/gr_mega/filter/high_pass_filter_resonance |
53 | 0 / 53 | 0–127 | continuous | Filter |
/gr_mega/filter/bypass_filter |
2 / 33 | 0–1 | switch | Filter | |
/gr_mega/filter/routing |
2 / 37 | 0–2 | discrete | Filter | |
/gr_mega/pitch_envelope/amount |
54 | 0 / 54 | 0–127 | continuous | Pitch envelope |
/gr_mega/pitch_envelope/attack_time |
55 | 0 / 55 | 0–127 | continuous | Pitch envelope |
/gr_mega/pitch_envelope/decay_time |
56 | 0 / 56 | 0–127 | continuous | Pitch envelope |
/gr_mega/pitch_envelope/sustain_level |
57 | 0 / 57 | 0–127 | continuous | Pitch envelope |
/gr_mega/pitch_envelope/release_time |
58 | 0 / 58 | 0–127 | continuous | Pitch envelope |
/gr_mega/pitch_envelope/attack_curve |
1 / 28 | 0–16383 | continuous | Pitch envelope | |
/gr_mega/pitch_envelope/decay_curve |
1 / 29 | 0–16383 | continuous | Pitch envelope | |
/gr_mega/pitch_envelope/release_curve |
1 / 30 | 0–16383 | continuous | Pitch envelope | |
/gr_mega/pitch_envelope/invert |
1 / 31 | 0–1 | switch | Pitch envelope | |
/gr_mega/filter_envelope/amount |
59 | 0 / 59 | 0–127 | continuous | Filter envelope |
/gr_mega/filter_envelope/attack_time |
60 | 0 / 60 | 0–127 | continuous | Filter envelope |
/gr_mega/filter_envelope/decay_time |
61 | 0 / 61 | 0–127 | continuous | Filter envelope |
/gr_mega/filter_envelope/sustain_level |
62 | 0 / 62 | 0–127 | continuous | Filter envelope |
/gr_mega/filter_envelope/release_time |
63 | 0 / 63 | 0–127 | continuous | Filter envelope |
/gr_mega/filter_envelope/attack_curve |
1 / 33 | 0–16383 | continuous | Filter envelope | |
/gr_mega/filter_envelope/decay_curve |
1 / 34 | 0–16383 | continuous | Filter envelope | |
/gr_mega/filter_envelope/release_curve |
1 / 35 | 0–16383 | continuous | Filter envelope | |
/gr_mega/filter_envelope/invert |
1 / 36 | 0–1 | switch | Filter envelope | |
/gr_mega/amplifier_envelope/amount |
65 | 0 / 65 | 0–127 | continuous | Amplifier envelope |
/gr_mega/amplifier_envelope/attack_time |
66 | 0 / 66 | 0–127 | continuous | Amplifier envelope |
/gr_mega/amplifier_envelope/decay_time |
67 | 0 / 67 | 0–127 | continuous | Amplifier envelope |
/gr_mega/amplifier_envelope/sustain_level |
68 | 0 / 68 | 0–127 | continuous | Amplifier envelope |
/gr_mega/amplifier_envelope/release_time |
69 | 0 / 69 | 0–127 | continuous | Amplifier envelope |
/gr_mega/amplifier_envelope/attack_curve |
1 / 38 | 0–16383 | continuous | Amplifier envelope | |
/gr_mega/amplifier_envelope/decay_curve |
1 / 39 | 0–16383 | continuous | Amplifier envelope | |
/gr_mega/amplifier_envelope/release_curve |
1 / 40 | 0–16383 | continuous | Amplifier envelope | |
/gr_mega/aux_envelope/amount |
70 | 0 / 70 | 0–127 | continuous | Aux envelope |
/gr_mega/aux_envelope/attack_time |
71 | 0 / 71 | 0–127 | continuous | Aux envelope |
/gr_mega/aux_envelope/decay_time |
72 | 0 / 72 | 0–127 | continuous | Aux envelope |
/gr_mega/aux_envelope/sustain_level |
73 | 0 / 73 | 0–127 | continuous | Aux envelope |
/gr_mega/aux_envelope/release_time |
75 | 0 / 75 | 0–127 | continuous | Aux envelope |
/gr_mega/aux_envelope/attack_curve |
1 / 43 | 0–16383 | continuous | Aux envelope | |
/gr_mega/aux_envelope/decay_curve |
1 / 44 | 0–16383 | continuous | Aux envelope | |
/gr_mega/aux_envelope/release_curve |
1 / 45 | 0–16383 | continuous | Aux envelope | |
/gr_mega/aux_envelope/invert |
1 / 46 | 0–1 | switch | Aux envelope | |
/gr_mega/lfo_1/clock_sync |
88 | 0–2 | continuous | LFO 1 | |
/gr_mega/lfo_1/frequency |
89 | 0 / 89 | 0–127 | continuous | LFO 1 |
/gr_mega/lfo_1/waveform |
90 | 0–5 | continuous | LFO 1 | |
/gr_mega/lfo_1/amount |
91 | 0 / 91 | 0–127 | continuous | LFO 1 |
/gr_mega/lfo_1/destination |
92 | 0–90 | continuous | LFO 1 | |
/gr_mega/lfo_1/phase |
1 / 60 | 0–16383 | continuous | LFO 1 | |
/gr_mega/lfo_1/amplitude_quantization |
1 / 64 | 0–16383 | continuous | LFO 1 | |
/gr_mega/lfo_1/polarity |
1 / 68 | 0–3 | discrete | LFO 1 | |
/gr_mega/lfo_1/key_sync |
1 / 56 | 0–1 | switch | LFO 1 | |
/gr_mega/lfo_2/clock_sync |
93 | 0–2 | continuous | LFO 2 | |
/gr_mega/lfo_2/frequency |
94 | 0 / 94 | 0–127 | continuous | LFO 2 |
/gr_mega/lfo_2/waveform |
95 | 0–5 | continuous | LFO 2 | |
/gr_mega/lfo_2/amount |
96 | 0 / 96 | 0–127 | continuous | LFO 2 |
/gr_mega/lfo_2/destination |
97 | 0–90 | continuous | LFO 2 | |
/gr_mega/lfo_2/phase |
1 / 61 | 0–16383 | continuous | LFO 2 | |
/gr_mega/lfo_2/amplitude_quantization |
1 / 65 | 0–16383 | continuous | LFO 2 | |
/gr_mega/lfo_2/polarity |
1 / 69 | 0–3 | discrete | LFO 2 | |
/gr_mega/lfo_2/key_sync |
1 / 57 | 0–1 | switch | LFO 2 | |
/gr_mega/lfo_3/clock_sync |
102 | 0–2 | continuous | LFO 3 | |
/gr_mega/lfo_3/frequency |
103 | 0 / 103 | 0–127 | continuous | LFO 3 |
/gr_mega/lfo_3/waveform |
104 | 0–5 | continuous | LFO 3 | |
/gr_mega/lfo_3/amount |
105 | 0 / 105 | 0–127 | continuous | LFO 3 |
/gr_mega/lfo_3/destination |
107 | 0–90 | continuous | LFO 3 | |
/gr_mega/lfo_3/phase |
1 / 62 | 0–16383 | continuous | LFO 3 | |
/gr_mega/lfo_3/amplitude_quantization |
1 / 66 | 0–16383 | continuous | LFO 3 | |
/gr_mega/lfo_3/polarity |
1 / 70 | 0–3 | discrete | LFO 3 | |
/gr_mega/lfo_3/key_sync |
1 / 58 | 0–1 | switch | LFO 3 | |
/gr_mega/lfo_3/clock_multiplier |
7 / 114 | 0–127 | continuous | LFO 3 | |
/gr_mega/lfo_3/clock_divisor |
7 / 116 | 0–127 | continuous | LFO 3 | |
/gr_mega/lfo_4/clock_sync |
108 | 0–2 | continuous | LFO 4 | |
/gr_mega/lfo_4/frequency |
109 | 0 / 109 | 0–127 | continuous | LFO 4 |
/gr_mega/lfo_4/waveform |
110 | 0–5 | continuous | LFO 4 | |
/gr_mega/lfo_4/amount |
111 | 0 / 111 | 0–127 | continuous | LFO 4 |
/gr_mega/lfo_4/destination |
112 | 0–90 | continuous | LFO 4 | |
/gr_mega/lfo_4/phase |
1 / 63 | 0–16383 | continuous | LFO 4 | |
/gr_mega/lfo_4/amplitude_quantization |
1 / 67 | 0–16383 | continuous | LFO 4 | |
/gr_mega/lfo_4/polarity |
1 / 71 | 0–3 | discrete | LFO 4 | |
/gr_mega/lfo_4/key_sync |
1 / 59 | 0–1 | switch | LFO 4 | |
/gr_mega/lfo_4/clock_multiplier |
7 / 115 | 0–127 | continuous | LFO 4 | |
/gr_mega/lfo_4/clock_divisor |
7 / 117 | 0–127 | continuous | LFO 4 | |
/gr_mega/modulation_matrix/modulation_list_row |
76 | 0–49 | continuous | Modulation matrix | |
/gr_mega/modulation_matrix/modulation_row_enable |
77 | 0–1 | switch | Modulation matrix | |
/gr_mega/modulation_matrix/modulation_source |
78 | 0–18 | continuous | Modulation matrix | |
/gr_mega/modulation_matrix/modulation_curve |
79 | 0 / 79 | 0–127 | continuous | Modulation matrix |
/gr_mega/modulation_matrix/modulation_amount |
80 | 0 / 80 | 0–127 | continuous | Modulation matrix |
/gr_mega/modulation_matrix/modulation_polarity |
81 | 0–3 | continuous | Modulation matrix | |
/gr_mega/modulation_matrix/modulation_destination |
82 | 0–90 | continuous | Modulation matrix | |
/gr_mega/control_voltage/cv1_destination |
83 | 0 / 83 | 0–127 | continuous | Control voltage |
/gr_mega/control_voltage/cv1_amount |
85 | 0 / 85 | 0–127 | continuous | Control voltage |
/gr_mega/control_voltage/cv2_destination |
86 | 0 / 86 | 0–127 | continuous | Control voltage |
/gr_mega/control_voltage/cv2_amount |
87 | 0 / 87 | 0–127 | continuous | Control voltage |
/gr_mega/sequencer/bpm |
34 | 0 / 34 | 0–127 | continuous | Sequencer |
/gr_mega/sequencer/rate |
35 | 0–21 | continuous | Sequencer | |
/gr_mega/sequencer/position |
36 | 0–63 | continuous | Sequencer | |
/gr_mega/sequencer/length |
37 | 0–63 | continuous | Sequencer | |
/gr_mega/sequencer/mode |
39 | 0–3 | continuous | Sequencer | |
/gr_mega/sequencer/record |
1 / 0 | 0–1 | switch | Sequencer | |
/gr_mega/sequencer/clock_multiplier |
7 / 118 | 0–127 | continuous | Sequencer | |
/gr_mega/sequencer/clock_divisor |
7 / 111 | 0–127 | continuous | Sequencer | |
/gr_mega/effects/focus_layer_fx |
113 | 0–3 | continuous | Effects | |
/gr_mega/effects/set_layer_fx_type |
114 | 0–7 | continuous | Effects | |
/gr_mega/effects/fx_dry |
115 | 0 / 115 | 0–127 | continuous | Effects |
/gr_mega/effects/fx_wet |
116 | 0 / 116 | 0–127 | continuous | Effects |
/gr_mega/effects/fx1_knob_assign |
117 | 0 / 117 | 0–127 | continuous | Effects |
/gr_mega/effects/fx1_value |
118 | 0 / 118 | 0–127 | continuous | Effects |
/gr_mega/effects/fx2_knob_assign |
119 | 0 / 119 | 0–127 | continuous | Effects |
/gr_mega/effects/fx2_value |
124 | 0 / 124 | 0–127 | continuous | Effects |
/gr_mega/effects/delay_time |
1 / 122 | 0–16383 | continuous | Effects | |
/gr_mega/effects/delay_feedback |
1 / 121 | 0–16383 | continuous | Effects | |
/gr_mega/effects/reverb_time |
1 / 125 | 0–16383 | continuous | Effects | |
/gr_mega/effects/reverb_width |
2 / 23 | 0–16383 | continuous | Effects | |
/gr_mega/effects/reverb_dampening |
2 / 24 | 0–16383 | continuous | Effects | |
/gr_mega/effects/distortion_level |
2 / 5 | 0–16383 | continuous | Effects | |
/gr_mega/effects/reducer_bit |
2 / 13 | 0–16383 | continuous | Effects | |
/gr_mega/effects/reducer_rate |
2 / 14 | 0–16383 | continuous | Effects | |
/gr_mega/navigation/navigate_up |
2 / 30 | 0–16383 | continuous | Navigation | |
/gr_mega/navigation/navigate_down |
2 / 28 | 0–16383 | continuous | Navigation | |
/gr_mega/navigation/navigate_left |
2 / 29 | 0–16383 | continuous | Navigation | |
/gr_mega/navigation/navigate_right |
2 / 27 | 0–16383 | continuous | Navigation |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /gr_mega/note/on <note> <velocity>, /gr_mega/cc/<number> <value>, /gr_mega/pitchbend <0-16383>, /gr_mega/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.