Skip to content

Reveal Sound Spire: MIDI CC, NRPN and OSC map

The Reveal Sound Spire as named OSC addresses — 300 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Reveal Sound Spire
Vendor Reveal Sound
OSC prefix /spire
Source 🎛️ Derived from an Electra One community preset
Revision per Electra preset
Upstream electra-preset
Driver file devices/reveal-sound/spire.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/reveal-sound/spire.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /spire/note 5

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as spire: ask “what can the Reveal Sound Spire do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (300)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/spire/note 21 -11–11 continuous
/spire/octave 5 -4–4 continuous
/spire/fine 3 0–127 continuous
/spire/detune 11 0–127 continuous
/spire/density 12 0–127 continuous
/spire/level 13 0–127 continuous
/spire/ctrl_a 4 0–127 continuous
/spire/type 2 0–127 continuous
/spire/ctrl_b 6 0–127 continuous
/spire/mode 14 0–127 continuous
/spire/octave 15 0–127 continuous
/spire/mute 16 0–127 continuous
/spire/phase 7 0–127 continuous
/spire/wave 8 0–127 continuous
/spire/wt_mix 9 0–127 continuous
/spire/wide 20 0–127 continuous
/spire/pan 23 0–127 continuous
/spire/filter_input 24 0–127 continuous
/spire/ana 17 0–127 continuous
/spire/inv 18 0–127 continuous
/spire/key 19 0–127 continuous
/spire/note 32 -11–11 continuous
/spire/octave 33 -4–4 continuous
/spire/fine 34 0–127 continuous
/spire/detune 37 0–127 continuous
/spire/density 38 0–127 continuous
/spire/level 39 0–127 continuous
/spire/ctrl_a 40 0–127 continuous
/spire/type 41 0–127 continuous
/spire/ctrl_b 42 0–127 continuous
/spire/mode 43 0–127 continuous
/spire/octave 44 0–127 continuous
/spire/mute 45 0–127 continuous
/spire/phase 46 0–127 continuous
/spire/wave 47 0–127 continuous
/spire/wt_mix 48 0–127 continuous
/spire/wide 49 0–127 continuous
/spire/pan 50 0–127 continuous
/spire/filter_input 51 0–127 continuous
/spire/ana 52 0–127 continuous
/spire/inv 53 0–127 continuous
/spire/key 54 0–127 continuous
/spire/note 55 -11–11 continuous
/spire/octave 56 -4–4 continuous
/spire/fine 57 0–127 continuous
/spire/detune 58 0–127 continuous
/spire/density 59 0–127 continuous
/spire/level 60 0–127 continuous
/spire/ctrl_a 61 0–127 continuous
/spire/type 62 0–127 continuous
/spire/ctrl_b 63 0–127 continuous
/spire/mode 64 0–127 continuous
/spire/octave 65 0–127 continuous
/spire/mute 66 0–127 continuous
/spire/phase 67 0–127 continuous
/spire/wave 68 0–127 continuous
/spire/wt_mix 69 0–127 continuous
/spire/wide 70 0–127 continuous
/spire/pan 71 0–127 continuous
/spire/filter_input 72 0–127 continuous
/spire/ana 73 0–127 continuous
/spire/inv 74 0–127 continuous
/spire/key 75 0–127 continuous
/spire/note 76 -11–11 continuous
/spire/octave 77 -4–4 continuous
/spire/fine 78 0–127 continuous
/spire/detune 79 0–127 continuous
/spire/density 80 0–127 continuous
/spire/level 81 0–127 continuous
/spire/ctrl_a 82 0–127 continuous
/spire/type 83 0–127 continuous
/spire/ctrl_b 84 0–127 continuous
/spire/mode 85 0–127 continuous
/spire/octave 86 0–127 continuous
/spire/mute 87 0–127 continuous
/spire/phase 88 0–127 continuous
/spire/wave 89 0–127 continuous
/spire/wt_mix 90 0–127 continuous
/spire/wide 91 0–127 continuous
/spire/pan 92 0–127 continuous
/spire/filter_input 93 0–127 continuous
/spire/ana 95 0–127 continuous
/spire/inv 118 0–127 continuous
/spire/key 98 0–127 continuous
/spire/cutoff_1 25 0–127 continuous
/spire/resonace_1 26 0–127 continuous
/spire/type 27 0–127 continuous
/spire/mode 28 0–127 continuous
/spire/par 30 0–127 continuous
/spire/link 36 0–127 continuous
/spire/cutoff_2 31 0–127 continuous
/spire/resonance_2 99 0–127 continuous
/spire/type 100 0–127 continuous
/spire/mode 10 0–127 continuous
/spire/filter_balance 35 0–127 continuous
/spire/keytrack 29 0–127 continuous
/spire/x_comp 101 0–127 continuous
/spire/velocity 102 0–127 continuous
/spire/volume 103 0–127 continuous
/spire/eq 104 0–127 continuous
/spire/band 105 0–127 continuous
/spire/warm 106 0–127 continuous
/spire/soft 107 0–127 continuous
/spire/boost 108 0–127 continuous
/spire/frequency 109 0–127 continuous
/spire/q 110 0–127 continuous
/spire/level 111 0–127 continuous
/spire/frequency 112 0–127 continuous
/spire/q 113 0–127 continuous
/spire/level 114 0–127 continuous
/spire/frequency 115 0–127 continuous
/spire/q 116 0–127 continuous
/spire/level 117 0–127 continuous
/spire/1 119 0–127 continuous
/spire/2 120 0–127 continuous
/spire/3 121 0–127 continuous
/spire/4 122 0–127 continuous
/spire/mw 1 0–127 continuous
/spire/shift 123 -64–64 continuous
/spire/fine 124 -99–99 continuous
/spire/drift 125 0–127 continuous
/spire/log 126 0–127 continuous
/spire/level 127 0–127 continuous
/spire/adsr 2 0–127 continuous
/spire/adsr 3 0–127 continuous
/spire/adsr 4 0–127 continuous
/spire/adsr 7 0–127 continuous
/spire/slope_time 5 0–127 continuous
/spire/slope_level 6 0–127 continuous
/spire/target 8 0–127 continuous
/spire/amount 9 0–127 continuous
/spire/velocity 10 0–127 continuous
/spire/amount 11 0–127 continuous
/spire/velocity 12 0–127 continuous
/spire/target 13 0–127 continuous
/spire/att 14 0–127 continuous
/spire/dec 15 0–127 continuous
/spire/slt 16 0–127 continuous
/spire/rel 17 0–127 continuous
/spire/adsr 18 0–127 continuous
/spire/adsr 19 0–127 continuous
/spire/adsr 20 0–127 continuous
/spire/adsr 23 0–127 continuous
/spire/slope_time 21 0–127 continuous
/spire/slope_level 22 0–127 continuous
/spire/target 24 0–127 continuous
/spire/amount 25 0–127 continuous
/spire/velocity 26 0–127 continuous
/spire/amount 27 0–127 continuous
/spire/velocity 28 0–127 continuous
/spire/target 29 0–127 continuous
/spire/att 30 0–127 continuous
/spire/dec 31 0–127 continuous
/spire/slt 32 0–127 continuous
/spire/rel 33 0–127 continuous
/spire/adsr 34 0–127 continuous
/spire/adsr 35 0–127 continuous
/spire/adsr 36 0–127 continuous
/spire/adsr 39 0–127 continuous
/spire/slope_time 37 0–127 continuous
/spire/slope_level 38 0–127 continuous
/spire/target 40 0–127 continuous
/spire/amount 41 0–127 continuous
/spire/velocity 42 0–127 continuous
/spire/amount 43 0–127 continuous
/spire/velocity 44 0–127 continuous
/spire/target 45 0–127 continuous
/spire/att 46 0–127 continuous
/spire/dec 47 0–127 continuous
/spire/slt 48 0–127 continuous
/spire/rel 49 0–127 continuous
/spire/adsr 50 0–127 continuous
/spire/adsr 51 0–127 continuous
/spire/adsr 52 0–127 continuous
/spire/adsr 55 0–127 continuous
/spire/slope_time 53 0–127 continuous
/spire/slope_level 54 0–127 continuous
/spire/target 56 0–127 continuous
/spire/amount 57 0–127 continuous
/spire/velocity 58 0–127 continuous
/spire/amount 59 0–127 continuous
/spire/velocity 60 0–127 continuous
/spire/target 61 0–127 continuous
/spire/att 62 0–127 continuous
/spire/dec 63 0–127 continuous
/spire/slt 64 0–127 continuous
/spire/rel 65 0–127 continuous
/spire/rate 66 0–127 continuous
/spire/time 67 0–127 continuous
/spire/symmetry 68 0–127 continuous
/spire/sync 69 0–127 continuous
/spire/morph 70 0–127 continuous
/spire/mono 71 0–127 continuous
/spire/fade_in 72 0–127 continuous
/spire/phase 73 0–127 continuous
/spire/form 74 0–127 continuous
/spire/amp 75 0–127 continuous
/spire/target 76 0–127 continuous
/spire/amount 77 0–127 continuous
/spire/velocity 78 0–127 continuous
/spire/amount 79 0–127 continuous
/spire/velocity 80 0–127 continuous
/spire/target 81 0–127 continuous
/spire/rate 82 0–127 continuous
/spire/time 83 0–127 continuous
/spire/symmetry 84 0–127 continuous
/spire/sync 85 0–127 continuous
/spire/morph 86 0–127 continuous
/spire/mono 87 0–127 continuous
/spire/fade_in 88 0–127 continuous
/spire/phase 89 0–127 continuous
/spire/form 90 0–127 continuous
/spire/amp 91 0–127 continuous
/spire/target 92 0–127 continuous
/spire/amount 93 0–127 continuous
/spire/velocity 94 0–127 continuous
/spire/amount 95 0–127 continuous
/spire/velocity 96 0–127 continuous
/spire/target 97 0–127 continuous
/spire/rate 98 0–127 continuous
/spire/time 99 0–127 continuous
/spire/symmetry 100 0–127 continuous
/spire/sync 101 0–127 continuous
/spire/morph 102 0–127 continuous
/spire/mono 103 0–127 continuous
/spire/fade_in 104 0–127 continuous
/spire/phase 105 0–127 continuous
/spire/form 106 0–127 continuous
/spire/amp 107 0–127 continuous
/spire/target 108 0–127 continuous
/spire/amount 109 0–127 continuous
/spire/velocity 110 0–127 continuous
/spire/amount 111 0–127 continuous
/spire/velocity 112 0–127 continuous
/spire/target 113 0–127 continuous
/spire/rate 114 0–127 continuous
/spire/time 115 0–127 continuous
/spire/symmetry 116 0–127 continuous
/spire/sync 117 0–127 continuous
/spire/morph 118 0–127 continuous
/spire/mono 119 0–127 continuous
/spire/fade_in 120 0–127 continuous
/spire/phase 121 0–127 continuous
/spire/form 122 0–127 continuous
/spire/amp 123 0–127 continuous
/spire/target 124 0–127 continuous
/spire/amount 125 0–127 continuous
/spire/velocity 126 0–127 continuous
/spire/amount 127 0–127 continuous
/spire/velocity 1 0–127 continuous
/spire/target 2 0–127 continuous
/spire/shaper 3 0–127 continuous
/spire/phaser 4 0–127 continuous
/spire/chorus 5 0–127 continuous
/spire/delay 6 0–127 continuous
/spire/reverb 7 0–127 continuous
/spire/mode 8 0–127 continuous
/spire/band 9 0–127 continuous
/spire/hq 10 0–127 continuous
/spire/drive 11 0–127 continuous
/spire/bit_depth 12 0–127 continuous
/spire/sample_rate 13 0–127 continuous
/spire/low_cut 14 0–127 continuous
/spire/hi_cut 15 0–127 continuous
/spire/dry_wet 16 0–127 continuous
/spire/stages 17 0–127 continuous
/spire/pre 18 0–127 continuous
/spire/freq 19 0–127 continuous
/spire/feedback 20 0–127 continuous
/spire/spread 21 0–127 continuous
/spire/rate 22 0–127 continuous
/spire/depth 23 0–127 continuous
/spire/dry_wet 24 0–127 continuous
/spire/delay 25 0–127 continuous
/spire/mode 26 0–127 continuous
/spire/feedback 27 0–127 continuous
/spire/rate 28 0–127 continuous
/spire/depth 29 0–127 continuous
/spire/wide 30 0–127 continuous
/spire/delay_l 34 0–127 continuous
/spire/ping_pong 35 0–127 continuous
/spire/sync 36 0–127 continuous
/spire/low_cut 31 0–127 continuous
/spire/hi_cut 32 0–127 continuous
/spire/dry_wet 33 0–127 continuous
/spire/delay_r 37 0–127 continuous
/spire/rate 38 0–127 continuous
/spire/feedback 39 0–127 continuous
/spire/wide 40 0–127 continuous
/spire/modulate 41 0–127 continuous
/spire/color 42 0–127 continuous
/spire/sync 44 0–127 continuous
/spire/mode 45 0–127 continuous
/spire/predelay 46 0–127 continuous
/spire/damp 47 0–127 continuous
/spire/wide 48 0–127 continuous
/spire/dry_wet 43 0–127 continuous
/spire/decay 49 0–127 continuous
/spire/color 50 0–127 continuous
/spire/dry_wet 51 0–127 continuous

Performance MIDI

Notes, pitch bend and any CC are also available: /spire/note/on <note> <velocity>, /spire/cc/<number> <value>, /spire/pitchbend <0-16383>, /spire/program_change <n>.

Limitations

Imported from an Electra One community preset. The mapping reflects the preset author's editorial choices: parameter naming, ranges, and which params are exposed. Untested on hardware in this repo.