devices/dsi/poly_evolver.electra-swk82-v2.fw-unknown.jsonEdit on GitHubJSONDSI Poly Evolver MIDI CC chart, NRPN and OSC map
The DSI Poly Evolver MIDI implementation: 99 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.
- sourceElectra One preset
- real unitnot yet checked
Not checked on a real DSI Poly Evolver yet. Own one? Load a sound or send a control, and tell us whether it worked.
- Maker
- DSI
- Version
- per Electra preset
- Source
- Electra One preset
- OSC prefix
/poly_evolver
Use 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/dsi/poly_evolver.electra-swk82-v2.fw-unknown.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 poly_evolver: ask “what can the DSI Poly Evolver do?” and it reads this map with list_routes. See the MCP guide.
MIDI controls
99 controls, each with its number, its range and the name to send
SysEx commands
| Command | Arguments | Name to send |
|---|---|---|
| Freq | val: u7 | /poly_evolver/freq |
| Fine | val: u7 | /poly_evolver/fine |
| Shape | val: u7 | /poly_evolver/shape |
| Level | val: u7 | /poly_evolver/level |
| Sync | val: u7 | /poly_evolver/sync |
| Osc slop | val: u7 | /poly_evolver/osc_slop |
| Noise level | val: u7 | /poly_evolver/noise_level |
| Hi pass filter | val: u7 | /poly_evolver/hi_pass_filter |
| Wave shape | val: u7 | /poly_evolver/wave_shape |
| Fm osc 4 3 | val: u7 | /poly_evolver/fm_osc_4_3 |
| Rm osc 4 3 | val: u7 | /poly_evolver/rm_osc_4_3 |
| Fm osc 3 4 | val: u7 | /poly_evolver/fm_osc_3_4 |
| Rm osc 3 4 | val: u7 | /poly_evolver/rm_osc_3_4 |
| Cutoff | val: u7 | /poly_evolver/cutoff |
| Resonnance | val: u7 | /poly_evolver/resonnance |
| Env amount | val: u7 | /poly_evolver/env_amount |
| Velocity | val: u7 | /poly_evolver/velocity |
| Key tracking | val: u7 | /poly_evolver/key_tracking |
| Filter slope | val: u7 | /poly_evolver/filter_slope |
| Attack | val: u7 | /poly_evolver/attack |
| Decay | val: u7 | /poly_evolver/decay |
| Sustain | val: u7 | /poly_evolver/sustain |
| Release | val: u7 | /poly_evolver/release |
| Audio mod | val: u7 | /poly_evolver/audio_mod |
| L r split | val: u7 | /poly_evolver/l_r_split |
| Frequency | val: u7 | /poly_evolver/frequency |
| Grunge | val: u7 | /poly_evolver/grunge |
| Vca level | val: u7 | /poly_evolver/vca_level |
| Output pan | val: u7 | /poly_evolver/output_pan |
| Feedback amt | val: u7 | /poly_evolver/feedback_amt |
| Distortion amt | val: u7 | /poly_evolver/distortion_amt |
| Amount | val: u7 | /poly_evolver/amount |
| Time | val: u7 | /poly_evolver/time |
| Destination | val: u7 | /poly_evolver/destination |
| To dly input | val: u7 | /poly_evolver/to_dly_input |
| To lpf input | val: u7 | /poly_evolver/to_lpf_input |
| Mod wheel dest | val: u7 | /poly_evolver/mod_wheel_dest |
| Delay | val: u7 | /poly_evolver/delay |
| Velocity dest | val: u7 | /poly_evolver/velocity_dest |
| Source | val: u7 | /poly_evolver/source |
| Pressure dest | val: u7 | /poly_evolver/pressure_dest |
| Breath dest | val: u7 | /poly_evolver/breath_dest |
| Foot ctrl dest | val: u7 | /poly_evolver/foot_ctrl_dest |
| Osc 1 | val: u7 | /poly_evolver/osc_1 |
| Osc 2 | val: u7 | /poly_evolver/osc_2 |
| Program level | val: u7 | /poly_evolver/program_level |
| Osc 3 | val: u7 | /poly_evolver/osc_3 |
| Osc 4 | val: u7 | /poly_evolver/osc_4 |
| Hack | val: u7 | /poly_evolver/hack |
| Input level | val: u7 | /poly_evolver/input_level |
| Peak dest | val: u7 | /poly_evolver/peak_dest |
| Peak amnt | val: u7 | /poly_evolver/peak_amnt |
| Input mode | val: u7 | /poly_evolver/input_mode |
| Env fllow dest | val: u7 | /poly_evolver/env_fllow_dest |
| Env fllw amnt | val: u7 | /poly_evolver/env_fllw_amnt |
| Pitch bend rge | val: u7 | /poly_evolver/pitch_bend_rge |
| Key off trsp | val: u7 | /poly_evolver/key_off_trsp |
| Trigger | val: u7 | /poly_evolver/trigger |
| Key priority | val: u7 | /poly_evolver/key_priority |
| Transpose | val: u7 | /poly_evolver/transpose |
| Velocity curve | val: u7 | /poly_evolver/velocity_curve |
| Global tempo | val: u7 | /poly_evolver/global_tempo |
| Clock source | val: u7 | /poly_evolver/clock_source |
| Master volume | val: u7 | /poly_evolver/master_volume |
| Fine tune | val: u7 | /poly_evolver/fine_tune |
| Pressure curve | val: u7 | /poly_evolver/pressure_curve |
| Clock division | val: u7 | /poly_evolver/clock_division |
| Use pgm tempo | val: u7 | /poly_evolver/use_pgm_tempo |
| Imput gain | val: u7 | /poly_evolver/imput_gain |
| Pedal 1 dest | val: u7 | /poly_evolver/pedal_1_dest |
| Dampr polarity | val: u7 | /poly_evolver/dampr_polarity |
| Pedal 2 dest | val: u7 | /poly_evolver/pedal_2_dest |
| Bank | val: u7 | /poly_evolver/bank |
| Number | val: u7 | /poly_evolver/number |
| Program change | val: u7 | /poly_evolver/program_change |
| Controller | val: u7 | /poly_evolver/controller |
| Midi channel | val: u7 | /poly_evolver/midi_channel |
| Pressure | val: u7 | /poly_evolver/pressure |
| Local control | val: u7 | /poly_evolver/local_control |
| Poly chain | val: u7 | /poly_evolver/poly_chain |
| 1 | val: u7 | /poly_evolver/1 |
| 2 | val: u7 | /poly_evolver/2 |
| 3 | val: u7 | /poly_evolver/3 |
| 4 | val: u7 | /poly_evolver/4 |
| 5 | val: u7 | /poly_evolver/5 |
| 6 | val: u7 | /poly_evolver/6 |
| 7 | val: u7 | /poly_evolver/7 |
| 8 | val: u7 | /poly_evolver/8 |
| 9 | val: u7 | /poly_evolver/9 |
| 10 | val: u7 | /poly_evolver/10 |
| 11 | val: u7 | /poly_evolver/11 |
| 12 | val: u7 | /poly_evolver/12 |
| Pgm tempo | val: u7 | /poly_evolver/pgm_tempo |
| 13 | val: u7 | /poly_evolver/13 |
| 14 | val: u7 | /poly_evolver/14 |
| 15 | val: u7 | /poly_evolver/15 |
| 16 | val: u7 | /poly_evolver/16 |
| Osc3 seq shape | val: u7 | /poly_evolver/osc3_seq_shape |
| Osc4 seq shape | val: u7 | /poly_evolver/osc4_seq_shape |
Performance MIDI
Notes, pitch bend and any CC are also available: /poly_evolver/note/on <note> <velocity>, /poly_evolver/cc/<number> <value>, /poly_evolver/pitchbend <0-16383>, /poly_evolver/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.
Frequently asked questions
Can an AI agent like Claude control the DSI Poly Evolver?
Yes: SynthHub's hosted MCP server knows the DSI Poly Evolver's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.