Skip to content

BOSS GM-800 MIDI CC chart, NRPN and OSC map

The BOSS GM-800 MIDI implementation: 83 CC, each named, for Claude (MCP), SuperCollider or any OSC app.

Device BOSS GM-800
Vendor BOSS
OSC prefix /gm_800
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/boss/gm_800.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/boss/gm_800.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /gm_800/performance/bank_select 8191

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as gm_800: ask β€œwhat can the BOSS GM-800 do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (83)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/gm_800/performance/bank_select 0 / 32 0–16383 continuous Performance
/gm_800/performance/modulation 1 0–127 continuous Performance
/gm_800/performance/volume 7 0–127 continuous Performance
/gm_800/performance/pan 10 0–127 continuous Performance
/gm_800/performance/expression 11 0–127 continuous Performance
/gm_800/performance/portamento_control 84 0–127 continuous Performance
/gm_800/pedals/hold_1 64 0–127 continuous Pedals
/gm_800/pedals/sostenuto 66 0–127 continuous Pedals
/gm_800/pedals/soft_pedal 67 0–127 continuous Pedals
/gm_800/pedals/legato_foot_switch 68 0–127 continuous Pedals
/gm_800/filter/cutoff 74 0–127 continuous Filter
/gm_800/filter/resonance 71 0–127 continuous Filter
/gm_800/envelope/attack_time 73 0–127 continuous Envelope
/gm_800/envelope/decay_time 75 0–127 continuous Envelope
/gm_800/envelope/release_time 72 0–127 continuous Envelope
/gm_800/vibrato/rate 76 0–127 continuous Vibrato
/gm_800/vibrato/depth 77 0–127 continuous Vibrato
/gm_800/vibrato/delay 78 0–127 continuous Vibrato
/gm_800/effects/reverb_send_level 91 0–127 continuous Effects
/gm_800/effects/chorus_send_level 93 0–127 continuous Effects
/gm_800/assignable_parameters/assignable_parameter_01 1 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_02 2 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_03 3 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_04 4 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_05 5 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_06 6 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_07 7 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_08 8 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_09 9 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_10 10 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_11 11 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_12 12 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_13 13 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_14 14 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_15 15 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_16 16 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_17 17 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_18 18 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_19 19 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_20 20 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_21 21 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_22 22 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_23 23 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_24 24 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_25 25 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_26 26 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_27 27 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_28 28 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_29 29 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_30 30 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_31 31 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_64 64 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_65 65 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_66 66 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_67 67 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_68 68 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_69 69 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_70 70 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_71 71 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_72 72 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_73 73 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_74 74 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_75 75 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_76 76 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_77 77 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_78 78 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_79 79 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_80 80 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_81 81 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_82 82 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_83 83 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_84 84 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_85 85 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_86 86 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_87 87 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_88 88 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_89 89 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_90 90 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_91 91 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_92 92 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_93 93 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_94 94 0–127 continuous Assignable parameters
/gm_800/assignable_parameters/assignable_parameter_95 95 0–127 continuous Assignable parameters

Performance MIDI

Notes, pitch bend and any CC are also available: /gm_800/note/on <note> <velocity>, /gm_800/cc/<number> <value>, /gm_800/pitchbend <0-16383>, /gm_800/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

Which MIDI CC controls the filter cutoff on the BOSS GM-800?

CC 74 (0–127), named /gm_800/filter/cutoff in SynthHub's map.

How many parameters of the BOSS GM-800 can be controlled over MIDI?

SynthHub's map of the BOSS GM-800 lists 83 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 BOSS GM-800?

Yes: SynthHub's hosted MCP server knows the BOSS GM-800's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.