Skip to content

MIDI Association Generic MIDI 1.0: MIDI CC, NRPN and OSC map

The MIDI Association Generic MIDI 1.0 as named OSC addresses — 55 CC, 47 drum sounds — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

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:

osc-bridge osc-send /generic_midi_1_0/control_change_messages/bank_select 8191

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.