Dmitry Sches DS Thorn: MIDI CC, NRPN and OSC map¶
The Dmitry Sches DS Thorn as named OSC addresses — 114 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Dmitry Sches DS Thorn |
|---|---|
| Vendor | Dmitry Sches |
| OSC prefix | /ds_thorn |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/dmitry-sches/ds_thorn.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/dmitry-sches/ds_thorn.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 ds_thorn: ask “what can the Dmitry Sches DS Thorn do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (114)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/ds_thorn/osc_1 |
1 | 0–127 | continuous | ||
/ds_thorn/subosc |
2 | 0–127 | continuous | ||
/ds_thorn/fx |
3 | 0–127 | continuous | ||
/ds_thorn/pan |
4 | -127–127 | continuous | ||
/ds_thorn/volume |
5 | 0–127 | continuous | ||
/ds_thorn/to_filter_1 |
6 | 0–127 | continuous | ||
/ds_thorn/position |
8 | 0–127 | continuous | ||
/ds_thorn/subosc_type |
9 | 0–127 | continuous | ||
/ds_thorn/fx_type |
10 | 0–127 | continuous | ||
/ds_thorn/vibrato |
11 | 0–127 | continuous | ||
/ds_thorn/to_filter_2 |
12 | 0–127 | continuous | ||
/ds_thorn/osc_2 |
13 | 0–127 | continuous | ||
/ds_thorn/subosc |
14 | 0–127 | continuous | ||
/ds_thorn/fx |
15 | 0–127 | continuous | ||
/ds_thorn/pan |
16 | -127–127 | continuous | ||
/ds_thorn/volume |
17 | 0–127 | continuous | ||
/ds_thorn/to_filter_1 |
18 | 0–127 | continuous | ||
/ds_thorn/position |
19 | 0–127 | continuous | ||
/ds_thorn/subosc_type |
20 | 0–127 | continuous | ||
/ds_thorn/fx_type |
21 | 0–127 | continuous | ||
/ds_thorn/vibrato |
22 | 0–127 | continuous | ||
/ds_thorn/to_filter_2 |
23 | 0–127 | continuous | ||
/ds_thorn/osc_3 |
24 | 0–127 | continuous | ||
/ds_thorn/subosc |
25 | 0–127 | continuous | ||
/ds_thorn/fx |
26 | 0–127 | continuous | ||
/ds_thorn/pan |
27 | -127–127 | continuous | ||
/ds_thorn/volume |
28 | 0–127 | continuous | ||
/ds_thorn/to_filter_1 |
29 | 0–127 | continuous | ||
/ds_thorn/position |
30 | 0–127 | continuous | ||
/ds_thorn/subosc_type |
31 | 0–127 | continuous | ||
/ds_thorn/fx_type |
32 | 0–127 | continuous | ||
/ds_thorn/vibrato |
33 | 0–127 | continuous | ||
/ds_thorn/to_filter_2 |
34 | 0–127 | continuous | ||
/ds_thorn/noise |
35 | 0–127 | continuous | ||
/ds_thorn/loop |
36 | 0–127 | continuous | ||
/ds_thorn/pitch |
37 | -127–127 | continuous | ||
/ds_thorn/offset |
38 | 0–127 | continuous | ||
/ds_thorn/to_filter_1 |
39 | 0–127 | continuous | ||
/ds_thorn/key |
40 | 0–127 | continuous | ||
/ds_thorn/pan |
41 | -127–127 | continuous | ||
/ds_thorn/volume |
42 | 0–127 | continuous | ||
/ds_thorn/to_filter_2 |
43 | 0–127 | continuous | ||
/ds_thorn/rate |
44 | 0–127 | continuous | ||
/ds_thorn/fade_in |
45 | 0–127 | continuous | ||
/ds_thorn/vel |
46 | 0–127 | continuous | ||
/ds_thorn/amt_ctrl |
47 | 0–127 | continuous | ||
/ds_thorn/osc_1_vibrato |
48 | 0–127 | continuous | ||
/ds_thorn/osc_2_vibrato |
49 | 0–127 | continuous | ||
/ds_thorn/osc_3_vibrato |
50 | 0–127 | continuous | ||
/ds_thorn/cutoff |
51 | 0–127 | continuous | ||
/ds_thorn/resonance |
52 | 0–127 | continuous | ||
/ds_thorn/mod |
53 | 0–127 | continuous | ||
/ds_thorn/mod_source |
54 | 0–127 | continuous | ||
/ds_thorn/vol |
55 | 0–127 | continuous | ||
/ds_thorn/type |
56 | 0–127 | continuous | ||
/ds_thorn/cutoff |
57 | 0–127 | continuous | ||
/ds_thorn/resonance |
58 | 0–127 | continuous | ||
/ds_thorn/mod |
59 | 0–127 | continuous | ||
/ds_thorn/mod_source |
60 | 0–127 | continuous | ||
/ds_thorn/vol |
61 | 0–127 | continuous | ||
/ds_thorn/type |
62 | 0–127 | continuous | ||
/ds_thorn/link |
63 | 0–127 | continuous | ||
/ds_thorn/drive |
65 | 0–127 | continuous | ||
/ds_thorn/keytrack |
66 | 0–127 | continuous | ||
/ds_thorn/veltrack |
67 | 0–127 | continuous | ||
/ds_thorn/f2_osc_bypass |
68 | 0–127 | continuous | ||
/ds_thorn/f1_f2 |
69 | 0–127 | continuous | ||
/ds_thorn/harmonic_filtr |
70 | 0–127 | continuous | ||
/ds_thorn/shape |
71 | 0–127 | continuous | ||
/ds_thorn/balance |
72 | 0–127 | continuous | ||
/ds_thorn/glitch_seq |
73 | 0–127 | continuous | ||
/ds_thorn/arpeggio |
74 | 0–127 | continuous | ||
/ds_thorn/fx |
75 | 0–127 | continuous | ||
/ds_thorn/mod_matrix |
76 | 0–127 | continuous | ||
/ds_thorn/rp_repeater |
77 | 0–127 | continuous | ||
/ds_thorn/lp_lowpass |
78 | 0–127 | continuous | ||
/ds_thorn/hp_highpass |
97 | 0–127 | continuous | ||
/ds_thorn/bit_crusher |
98 | 0–127 | continuous | ||
/ds_thorn/sample_rate |
99 | 0–127 | continuous | ||
/ds_thorn/gate |
100 | 0–127 | continuous | ||
/ds_thorn/attack |
79 | 0–127 | continuous | ||
/ds_thorn/attack |
80 | 0–127 | continuous | ||
/ds_thorn/attack |
81 | 0–127 | continuous | ||
/ds_thorn/attack |
82 | 0–127 | continuous | ||
/ds_thorn/key |
91 | 0–127 | continuous | ||
/ds_thorn/vel |
92 | 0–127 | continuous | ||
/ds_thorn/attack |
83 | 0–127 | continuous | ||
/ds_thorn/attack |
84 | 0–127 | continuous | ||
/ds_thorn/attack |
85 | 0–127 | continuous | ||
/ds_thorn/attack |
86 | 0–127 | continuous | ||
/ds_thorn/key |
93 | 0–127 | continuous | ||
/ds_thorn/vel |
94 | 0–127 | continuous | ||
/ds_thorn/attack |
87 | 0–127 | continuous | ||
/ds_thorn/attack |
88 | 0–127 | continuous | ||
/ds_thorn/attack |
89 | 0–127 | continuous | ||
/ds_thorn/attack |
90 | 0–127 | continuous | ||
/ds_thorn/key |
95 | 0–127 | continuous | ||
/ds_thorn/vel |
96 | 0–127 | continuous | ||
/ds_thorn/sync |
101 | 0–127 | continuous | ||
/ds_thorn/speed_sync_d |
102 | 0–127 | continuous | ||
/ds_thorn/speed_unsync_d |
103 | 0–127 | continuous | ||
/ds_thorn/sync |
109 | 0–127 | continuous | ||
/ds_thorn/speed_sync_d |
110 | 0–127 | continuous | ||
/ds_thorn/speed_unsync_d |
111 | 0–127 | continuous | ||
/ds_thorn/shape |
104 | 0–127 | continuous | ||
/ds_thorn/phase |
105 | 0–127 | continuous | ||
/ds_thorn/shape |
112 | 0–127 | continuous | ||
/ds_thorn/phase |
113 | 0–127 | continuous | ||
/ds_thorn/fade_in |
106 | 0–127 | continuous | ||
/ds_thorn/amt_ctrl |
107 | 0–127 | continuous | ||
/ds_thorn/bipolar |
108 | 0–127 | continuous | ||
/ds_thorn/fade_in |
114 | 0–127 | continuous | ||
/ds_thorn/amt_ctrl |
115 | 0–127 | continuous | ||
/ds_thorn/bipolar |
116 | 0–127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /ds_thorn/note/on <note> <velocity>, /ds_thorn/cc/<number> <value>, /ds_thorn/pitchbend <0-16383>, /ds_thorn/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.