devices/sonicware/elz_1_play.pencilresearch-v2.fw-unknown.jsonEdit on GitHubJSONSonicware ELZ_1 play MIDI CC chart, NRPN and OSC map
The Sonicware ELZ_1 play MIDI implementation: 144 CC, each named, for Claude (MCP), SuperCollider or any OSC app.
- sourceMIDI Guide
- licenceCC-BY-SA-4.0
- real unitnot yet checked
Not checked on a real Sonicware ELZ_1 play yet. Own one? Load a sound or send a control, and tell us whether it worked.
- Maker
- Sonicware
- Version
- per pencilresearch canonical CSV
- Source
- MIDI Guide
- Data licence
- CC-BY-SA-4.0 MIDI Guide (https://midi.guide) by Pencil Research and contributors
- OSC prefix
/elz_1_play
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/sonicware/elz_1_play.pencilresearch-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 elz_1_play: ask “what can the Sonicware ELZ_1 play do?” and it reads this map with list_routes. See the MCP guide.
MIDI controls
144 controls, each with its number, its range and the name to send
Layer
| Control | CC | Range | Name to send |
|---|---|---|---|
| Pitch | 4 | 0–127 | /elz_1_play/layer/pitch |
| Detune | 5 | 0–127 | /elz_1_play/layer/detune |
| Delay | 6 | 0–127 | /elz_1_play/layer/delay |
| Level | 7 | 0–127 | /elz_1_play/layer/level |
| Enable | 8 | 0–127 | /elz_1_play/layer/enable |
Mixer
| Control | CC | Range | Name to send |
|---|---|---|---|
| Level | 7 | 0–127 | /elz_1_play/mixer/level |
| Mute | 8 | 0–127 | /elz_1_play/mixer/mute |
| Efx send | 9 | 0–127 | /elz_1_play/mixer/efx_send |
| Pan | 10 | 0–127 | /elz_1_play/mixer/pan |
OSC
| Control | CC | Range | Name to send |
|---|---|---|---|
| Type select | 9 | 0–127 | /elz_1_play/osc/type_select |
| Parameter page 1 a | 12 | 0–127 | /elz_1_play/osc/parameter_page_1_a |
| Parameter page 1 b | 13 | 0–127 | /elz_1_play/osc/parameter_page_1_b |
| Parameter page 1 c | 14 | 0–127 | /elz_1_play/osc/parameter_page_1_c |
| Parameter page 1 d | 15 | 0–127 | /elz_1_play/osc/parameter_page_1_d |
| Parameter page 2 a | 16 | 0–127 | /elz_1_play/osc/parameter_page_2_a |
| Parameter page 2 b | 17 | 0–127 | /elz_1_play/osc/parameter_page_2_b |
| Parameter page 2 c | 18 | 0–127 | /elz_1_play/osc/parameter_page_2_c |
| Parameter page 2 d | 19 | 0–127 | /elz_1_play/osc/parameter_page_2_d |
| Parameter page 3 a | 20 | 0–127 | /elz_1_play/osc/parameter_page_3_a |
| Parameter page 3 b | 21 | 0–127 | /elz_1_play/osc/parameter_page_3_b |
| Parameter page 3 c | 22 | 0–127 | /elz_1_play/osc/parameter_page_3_c |
| Parameter page 3 d | 23 | 0–127 | /elz_1_play/osc/parameter_page_3_d |
| Parameter page 4 a | 24 | 0–127 | /elz_1_play/osc/parameter_page_4_a |
| Parameter page 4 b | 25 | 0–127 | /elz_1_play/osc/parameter_page_4_b |
| Parameter page 4 c | 26 | 0–127 | /elz_1_play/osc/parameter_page_4_c |
| Parameter page 4 d | 27 | 0–127 | /elz_1_play/osc/parameter_page_4_d |
| Parameter page 5 a | 28 | 0–127 | /elz_1_play/osc/parameter_page_5_a |
| Parameter page 5 b | 29 | 0–127 | /elz_1_play/osc/parameter_page_5_b |
| Parameter page 5 c | 30 | 0–127 | /elz_1_play/osc/parameter_page_5_c |
| Parameter page 5 d | 31 | 0–127 | /elz_1_play/osc/parameter_page_5_d |
EFFECTS
| Control | CC | Range | Name to send |
|---|---|---|---|
| Drive mod type select | 12 | 0–127 | /elz_1_play/effects/drive_mod_type_select |
| Drive mod parameter a | 13 | 0–127 | /elz_1_play/effects/drive_mod_parameter_a |
| Drive mod parameter b | 14 | 0–127 | /elz_1_play/effects/drive_mod_parameter_b |
| Drive mod parameter c | 15 | 0–127 | /elz_1_play/effects/drive_mod_parameter_c |
| Drive mod parameter d | 16 | 0–127 | /elz_1_play/effects/drive_mod_parameter_d |
| Modulation type select | 17 | 0–127 | /elz_1_play/effects/modulation_type_select |
| Modulation parameter a | 18 | 0–127 | /elz_1_play/effects/modulation_parameter_a |
| Modulation parameter b | 19 | 0–127 | /elz_1_play/effects/modulation_parameter_b |
| Modulation parameter c | 20 | 0–127 | /elz_1_play/effects/modulation_parameter_c |
| Modulation parameter d | 21 | 0–127 | /elz_1_play/effects/modulation_parameter_d |
| Delay reverb type select | 22 | 0–127 | /elz_1_play/effects/delay_reverb_type_select |
| Delay reverb parameter a | 23 | 0–127 | /elz_1_play/effects/delay_reverb_parameter_a |
| Delay reverb parameter b | 24 | 0–127 | /elz_1_play/effects/delay_reverb_parameter_b |
| Delay reverb parameter c | 25 | 0–127 | /elz_1_play/effects/delay_reverb_parameter_c |
| Delay reverb parameter d | 26 | 0–127 | /elz_1_play/effects/delay_reverb_parameter_d |
| Reverb master type select | 27 | 0–127 | /elz_1_play/effects/reverb_master_type_select |
| Reverb master parameter a | 28 | 0–127 | /elz_1_play/effects/reverb_master_parameter_a |
| Reverb master parameter b | 29 | 0–127 | /elz_1_play/effects/reverb_master_parameter_b |
| Reverb master parameter c | 30 | 0–127 | /elz_1_play/effects/reverb_master_parameter_c |
| Reverb master parameter d | 31 | 0–127 | /elz_1_play/effects/reverb_master_parameter_d |
OSC ADSR
| Control | CC | Range | Name to send |
|---|---|---|---|
| Modulation 1 parameter page 1 a | 33 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_1_a |
| Modulation 1 parameter page 1 b | 34 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_1_b |
| Modulation 1 parameter page 1 c | 35 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_1_c |
| Modulation 1 parameter page 1 d | 36 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_1_d |
| Modulation 1 parameter page 2 a | 37 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_2_a |
| Modulation 1 parameter page 2 b | 38 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_2_b |
| Modulation 1 parameter page 2 c | 39 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_2_c |
| Modulation 1 parameter page 2 d | 40 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_2_d |
| Modulation 1 parameter page 3 a | 41 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_3_a |
| Modulation 1 parameter page 3 b | 42 | 0–127 | /elz_1_play/osc_adsr/modulation_1_parameter_page_3_b |
| Modulation 2 parameter page 1 a | 43 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_1_a |
| Modulation 2 parameter page 1 b | 44 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_1_b |
| Modulation 2 parameter page 1 c | 45 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_1_c |
| Modulation 2 parameter page 1 d | 46 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_1_d |
| Modulation 2 parameter page 2 a | 47 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_2_a |
| Modulation 2 parameter page 2 b | 48 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_2_b |
| Modulation 2 parameter page 2 c | 49 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_2_c |
| Modulation 2 parameter page 2 d | 50 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_2_d |
| Modulation 2 parameter page 3 a | 51 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_3_a |
| Modulation 2 parameter page 3 b | 52 | 0–127 | /elz_1_play/osc_adsr/modulation_2_parameter_page_3_b |
| Modulation 3 parameter page 1 a | 53 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_1_a |
| Modulation 3 parameter page 1 b | 54 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_1_b |
| Modulation 3 parameter page 1 c | 55 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_1_c |
| Modulation 3 parameter page 1 d | 56 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_1_d |
| Modulation 3 parameter page 2 a | 57 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_2_a |
| Modulation 3 parameter page 2 b | 58 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_2_b |
| Modulation 3 parameter page 2 c | 59 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_2_c |
| Modulation 3 parameter page 2 d | 60 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_2_d |
| Modulation 3 parameter page 3 a | 61 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_3_a |
| Modulation 3 parameter page 3 b | 62 | 0–127 | /elz_1_play/osc_adsr/modulation_3_parameter_page_3_b |
| Modulation 4 parameter page 1 a | 65 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_1_a |
| Modulation 4 parameter page 1 b | 66 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_1_b |
| Modulation 4 parameter page 1 c | 67 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_1_c |
| Modulation 4 parameter page 1 d | 68 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_1_d |
| Modulation 4 parameter page 2 a | 69 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_2_a |
| Modulation 4 parameter page 2 b | 70 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_2_b |
| Modulation 4 parameter page 2 c | 71 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_2_c |
| Modulation 4 parameter page 2 d | 72 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_2_d |
| Modulation 4 parameter page 3 a | 73 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_3_a |
| Modulation 4 parameter page 3 b | 74 | 0–127 | /elz_1_play/osc_adsr/modulation_4_parameter_page_3_b |
MEMORY SETTING
| Control | CC | Range | Name to send |
|---|---|---|---|
| Voice mode select | 33 | 0–127 | /elz_1_play/memory_setting/voice_mode_select |
| Voice mode parameter a | 34 | 0–127 | /elz_1_play/memory_setting/voice_mode_parameter_a |
| Voice mode parameter b | 35 | 0–127 | /elz_1_play/memory_setting/voice_mode_parameter_b |
| Unison1 on off | 36 | 0–127 | /elz_1_play/memory_setting/unison1_on_off |
| Unison2 on off | 37 | 0–127 | /elz_1_play/memory_setting/unison2_on_off |
| Unison3 on off | 38 | 0–127 | /elz_1_play/memory_setting/unison3_on_off |
| Unison4 on off | 39 | 0–127 | /elz_1_play/memory_setting/unison4_on_off |
| Unison 1 pitch | 40 | 0–127 | /elz_1_play/memory_setting/unison_1_pitch |
| Unison 2 pitch | 41 | 0–127 | /elz_1_play/memory_setting/unison_2_pitch |
| Unison 3 pitch | 42 | 0–127 | /elz_1_play/memory_setting/unison_3_pitch |
| Unison 4 pitch | 43 | 0–127 | /elz_1_play/memory_setting/unison_4_pitch |
| Unison 1 detune | 44 | 0–127 | /elz_1_play/memory_setting/unison_1_detune |
| Unison 2 detune | 45 | 0–127 | /elz_1_play/memory_setting/unison_2_detune |
| Unison 3 detune | 46 | 0–127 | /elz_1_play/memory_setting/unison_3_detune |
| Unison 4 detune | 47 | 0–127 | /elz_1_play/memory_setting/unison_4_detune |
| Arpeggiator type select | 48 | 0–127 | /elz_1_play/memory_setting/arpeggiator_type_select |
| Arpeggiator parameter 1 | 49 | 0–127 | /elz_1_play/memory_setting/arpeggiator_parameter_1 |
| Arpeggiator parameter 2 | 50 | 0–127 | /elz_1_play/memory_setting/arpeggiator_parameter_2 |
| Arpeggiator parameter 3 | 51 | 0–127 | /elz_1_play/memory_setting/arpeggiator_parameter_3 |
| Envelope mode select | 52 | 0–127 | /elz_1_play/memory_setting/envelope_mode_select |
| Filter mode select | 53 | 0–127 | /elz_1_play/memory_setting/filter_mode_select |
| Memory level | 54 | 0–127 | /elz_1_play/memory_setting/memory_level |
| Memory tune mode | 55 | 0–127 | /elz_1_play/memory_setting/memory_tune_mode |
| Memory tune cent | 56 | 0–127 | /elz_1_play/memory_setting/memory_tune_cent |
| Octave | 57 | 0–127 | /elz_1_play/memory_setting/octave |
| Memory bank | 58 | 0–127 | /elz_1_play/memory_setting/memory_bank |
| Memory select | 59 | 0–127 | /elz_1_play/memory_setting/memory_select |
| Pattern select | 60 | 0–127 | /elz_1_play/memory_setting/pattern_select |
| Loop select | 61 | 0–127 | /elz_1_play/memory_setting/loop_select |
Envelope
| Control | CC | Range | Name to send |
|---|---|---|---|
| Type select | 75 | 0–127 | /elz_1_play/envelope/type_select |
| Attack time | 76 | 0–127 | /elz_1_play/envelope/attack_time |
| Decay time | 77 | 0–127 | /elz_1_play/envelope/decay_time |
| Sustain level | 78 | 0–127 | /elz_1_play/envelope/sustain_level |
| Release time | 79 | 0–127 | /elz_1_play/envelope/release_time |
| Release attack time | 80 | 0–127 | /elz_1_play/envelope/release_attack_time |
| Release attack level | 81 | 0–127 | /elz_1_play/envelope/release_attack_level |
| Attack curve | 82 | 0–127 | /elz_1_play/envelope/attack_curve |
| Decay curve | 83 | 0–127 | /elz_1_play/envelope/decay_curve |
| Release curve | 84 | 0–127 | /elz_1_play/envelope/release_curve |
| Release attack curve | 85 | 0–127 | /elz_1_play/envelope/release_attack_curve |
Filter
| Control | CC | Range | Name to send |
|---|---|---|---|
| Type select | 86 | 0–127 | /elz_1_play/filter/type_select |
| Parameter page 1 a | 87 | 0–127 | /elz_1_play/filter/parameter_page_1_a |
| Parameter page 1 b | 88 | 0–127 | /elz_1_play/filter/parameter_page_1_b |
| Parameter page 1 c | 89 | 0–127 | /elz_1_play/filter/parameter_page_1_c |
| Parameter page 1 d | 90 | 0–127 | /elz_1_play/filter/parameter_page_1_d |
| Modulation 1 parameter page 1 a | 91 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_1_a |
| Modulation 1 parameter page 1 b | 92 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_1_b |
| Modulation 1 parameter page 1 c | 93 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_1_c |
| Modulation 1 parameter page 1 d | 94 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_1_d |
| Modulation 1 parameter page 2 a | 95 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_2_a |
| Modulation 1 parameter page 2 b | 96 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_2_b |
| Modulation 1 parameter page 2 c | 97 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_2_c |
| Modulation 1 parameter page 2 d | 98 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_2_d |
| Modulation 1 parameter page 3 a | 99 | 0–127 | /elz_1_play/filter/modulation_1_parameter_page_3_a |
Performance MIDI
Notes, pitch bend and any CC are also available: /elz_1_play/note/on <note> <velocity>, /elz_1_play/cc/<number> <value>, /elz_1_play/pitchbend <0-16383>, /elz_1_play/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 Sonicware ELZ_1 play?
CC 86 (0–127), named /elz_1_play/filter/type_select in SynthHub's map.
How many parameters of the Sonicware ELZ_1 play can be controlled over MIDI?
SynthHub's map of the Sonicware ELZ_1 play lists 144 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 Sonicware ELZ_1 play?
Yes: SynthHub's hosted MCP server knows the Sonicware ELZ_1 play's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.