MIDI Association Generic MIDI 1.0 MIDI CC chart, NRPN and OSC map¶
The MIDI Association Generic MIDI 1.0 MIDI implementation: 55 CC, 47 drum sounds, each named, for Claude (MCP), SuperCollider or any OSC app.
| Device | MIDI Association Generic MIDI 1.0 |
|---|---|
| Vendor | MIDI Association |
| OSC prefix | /generic_midi_1_0 |
| 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/midi-association/generic_midi_1_0.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/midi-association/generic_midi_1_0.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 generic_midi_1_0: ask βwhat can the MIDI Association Generic MIDI 1.0 do?β and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (55)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/generic_midi_1_0/control_change_messages/bank_select |
0 / 32 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/modulation_wheel |
1 / 33 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/breath_controller |
2 / 34 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/foot_controller |
4 / 36 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/portamento_time |
5 / 37 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/data_entry |
6 / 38 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/channel_volume |
7 / 39 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/balance |
8 / 40 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/pan |
10 / 42 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/expression_controller |
11 / 43 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/effect_control_1 |
12 / 44 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/effect_control_2 |
13 / 45 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/general_purpose_controller_1 |
16 / 48 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/general_purpose_controller_2 |
17 / 49 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/general_purpose_controller_3 |
18 / 50 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/general_purpose_controller_4 |
19 / 51 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/damper_pedal |
64 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/portamento_switch |
65 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sostenuto_switch |
66 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/soft_pedal_switch |
67 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/legato_switch |
68 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/hold_2 |
69 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_1 |
70 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_2 |
71 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_3 |
72 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_4 |
73 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_5 |
74 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_6 |
75 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_7 |
76 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_8 |
77 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_9 |
78 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/sound_controller_10 |
79 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/general_purpose_controller_5 |
80 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/general_purpose_controller_6 |
81 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/general_purpose_controller_7 |
82 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/general_purpose_controller_8 |
83 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/portamento_control |
84 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/high_resolution_velocity_prefix |
88 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/effects_1_depth |
91 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/effects_2_depth |
92 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/effects_3_depth |
93 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/effects_4_depth |
94 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/effects_5_depth |
95 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/data_increment |
96 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/data_decrement |
97 | 0β127 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/non_registered_parameter_number |
99 / 98 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/control_change_messages/registered_parameter_number |
101 / 100 | 0β16383 | continuous | Control Change messages | |
/generic_midi_1_0/channel_mode_messages/all_sound_off |
120 | 0β0 | continuous | Channel Mode messages | |
/generic_midi_1_0/channel_mode_messages/reset_all_controllers |
121 | 0β0 | continuous | Channel Mode messages | |
/generic_midi_1_0/channel_mode_messages/local_control |
122 | 0β127 | continuous | Channel Mode messages | |
/generic_midi_1_0/channel_mode_messages/all_notes_off |
123 | 0β0 | continuous | Channel Mode messages | |
/generic_midi_1_0/channel_mode_messages/omni_mode_off |
124 | 0β0 | continuous | Channel Mode messages | |
/generic_midi_1_0/channel_mode_messages/omni_mode_on |
125 | 0β0 | continuous | Channel Mode messages | |
/generic_midi_1_0/channel_mode_messages/mono_mode_on |
126 | 0β127 | continuous | Channel Mode messages | |
/generic_midi_1_0/channel_mode_messages/poly_mode_on |
127 | 0β0 | continuous | Channel Mode messages |
Drum sounds (47)¶
Send <address> [velocity] [note] [channel] to fire the sound (Note On).
| OSC address | Sound | Note(s) | Channel | Velocity |
|---|---|---|---|---|
/generic_midi_1_0/drum/acoustic_bass_drum |
Acoustic bass drum | 35 | 10 | |
/generic_midi_1_0/drum/bass_drum_1 |
Bass drum 1 | 36 | 10 | |
/generic_midi_1_0/drum/side_stick |
Side stick | 37 | 10 | |
/generic_midi_1_0/drum/acoustic_snare |
Acoustic snare | 38 | 10 | |
/generic_midi_1_0/drum/hand_clap |
Hand clap | 39 | 10 | |
/generic_midi_1_0/drum/electric_snare |
Electric snare | 40 | 10 | |
/generic_midi_1_0/drum/low_floor_tom |
Low floor tom | 41 | 10 | |
/generic_midi_1_0/drum/closed_hi_hat |
Closed hi-hat | 42 | 10 | |
/generic_midi_1_0/drum/high_floor_tom |
High floor tom | 43 | 10 | |
/generic_midi_1_0/drum/pedal_hi_hat |
Pedal hi-hat | 44 | 10 | |
/generic_midi_1_0/drum/low_tom |
Low tom | 45 | 10 | |
/generic_midi_1_0/drum/open_hi_hat |
Open hi-hat | 46 | 10 | |
/generic_midi_1_0/drum/low_mid_tom |
Low-mid tom | 47 | 10 | |
/generic_midi_1_0/drum/hi_mid_tom |
Hi-mid tom | 48 | 10 | |
/generic_midi_1_0/drum/crash_cymbal_1 |
Crash cymbal 1 | 49 | 10 | |
/generic_midi_1_0/drum/high_tom |
High tom | 50 | 10 | |
/generic_midi_1_0/drum/ride_cymbal_1 |
Ride cymbal 1 | 51 | 10 | |
/generic_midi_1_0/drum/chinese_cymbal |
Chinese cymbal | 52 | 10 | |
/generic_midi_1_0/drum/ride_bell |
Ride bell | 53 | 10 | |
/generic_midi_1_0/drum/tambourine |
Tambourine | 54 | 10 | |
/generic_midi_1_0/drum/splash_cymbal |
Splash cymbal | 55 | 10 | |
/generic_midi_1_0/drum/cowbell |
Cowbell | 56 | 10 | |
/generic_midi_1_0/drum/crash_cymbal_2 |
Crash cymbal 2 | 57 | 10 | |
/generic_midi_1_0/drum/vibraslap |
Vibraslap | 58 | 10 | |
/generic_midi_1_0/drum/ride_cymbal_2 |
Ride cymbal 2 | 59 | 10 | |
/generic_midi_1_0/drum/hi_bongo |
Hi bongo | 60 | 10 | |
/generic_midi_1_0/drum/low_bongo |
Low bongo | 61 | 10 | |
/generic_midi_1_0/drum/mute_hi_conga |
Mute hi conga | 62 | 10 | |
/generic_midi_1_0/drum/open_hi_conga |
Open hi conga | 63 | 10 | |
/generic_midi_1_0/drum/low_conga |
Low conga | 64 | 10 | |
/generic_midi_1_0/drum/high_timbale |
High timbale | 65 | 10 | |
/generic_midi_1_0/drum/low_timbale |
Low timbale | 66 | 10 | |
/generic_midi_1_0/drum/high_agogo |
High agogo | 67 | 10 | |
/generic_midi_1_0/drum/low_agogo |
Low agogo | 68 | 10 | |
/generic_midi_1_0/drum/cabasa |
Cabasa | 69 | 10 | |
/generic_midi_1_0/drum/maracas |
Maracas | 70 | 10 | |
/generic_midi_1_0/drum/short_whistle |
Short whistle | 71 | 10 | |
/generic_midi_1_0/drum/long_whistle |
Long whistle | 72 | 10 | |
/generic_midi_1_0/drum/short_guiro |
Short guiro | 73 | 10 | |
/generic_midi_1_0/drum/long_guiro |
Long guiro | 74 | 10 | |
/generic_midi_1_0/drum/claves |
Claves | 75 | 10 | |
/generic_midi_1_0/drum/hi_wood_block |
Hi wood block | 76 | 10 | |
/generic_midi_1_0/drum/low_wood_block |
Low wood block | 77 | 10 | |
/generic_midi_1_0/drum/mute_cuica |
Mute cuica | 78 | 10 | |
/generic_midi_1_0/drum/open_cuica |
Open cuica | 79 | 10 | |
/generic_midi_1_0/drum/mute_triangle |
Mute triangle | 80 | 10 | |
/generic_midi_1_0/drum/open_triangle |
Open triangle | 81 | 10 |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /generic_midi_1_0/note/on <note> <velocity>, /generic_midi_1_0/cc/<number> <value>, /generic_midi_1_0/pitchbend <0-16383>, /generic_midi_1_0/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.
Frequently asked questions¶
How many parameters of the MIDI Association Generic MIDI 1.0 can be controlled over MIDI?
SynthHub's map of the MIDI Association Generic MIDI 1.0 lists 55 MIDI CC 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 MIDI Association Generic MIDI 1.0?
Yes: SynthHub's hosted MCP server knows the MIDI Association Generic MIDI 1.0's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.