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:
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.