Skip to content

Erica Synths LXR-02: MIDI CC, NRPN and OSC map

The Erica Synths LXR-02 as named OSC addresses — 208 CC, 8 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Erica Synths LXR-02
Vendor Erica Synths
OSC prefix /lxr_02
Source 🎛️ Derived from an Electra One community preset
Revision per pencilresearch canonical CSV
Upstream electra-preset
Driver file devices/erica-synths/lxr_02.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/erica-synths/lxr_02.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /lxr_02/v1_osc1_wf 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as lxr_02: ask “what can the Erica Synths LXR-02 do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (216)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/lxr_02/v1_osc1_wf 2 0–127 continuous
/lxr_02/v1_osc1_ct 9 0–127 continuous
/lxr_02/v1_osc1_ft 10 0–127 continuous
/lxr_02/v1_wf_mod_osc 21 0–127 continuous
/lxr_02/v1_flt_frq 38 0–127 continuous
/lxr_02/v1_flt_res 44 0–127 continuous
/lxr_02/v1_vol_env_atk 50 0–127 continuous
/lxr_02/v1_vol_env_dec 51 0–127 continuous
/lxr_02/v1_vol_env_slp 63 0–127 continuous
/lxr_02/v1_mod_env_dec 71 0–127 continuous
/lxr_02/v1_env_mod_amt 75 0–127 continuous
/lxr_02/v1_mod_env_slp 79 0–127 continuous
/lxr_02/v1_fm_amt 83 0–127 continuous
/lxr_02/v1_fm_frq 84 0–127 continuous
/lxr_02/v1_vol 89 0–127 continuous
/lxr_02/v1_pan 95 0–127 continuous
/lxr_02/v1_dist 103 0–127 continuous
/lxr_02/v1_dcm 109 0–127 continuous
/lxr_02/v1_lfo_frq 116 0–127 continuous
/lxr_02/v1_lfo_amt 122 0–127 continuous
/lxr_02/v2_osc1_wf 3 0–127 continuous
/lxr_02/v2_osc1_ct 11 0–127 continuous
/lxr_02/v2_osc1_ft 12 0–127 continuous
/lxr_02/v2_wf_mod_osc 22 0–127 continuous
/lxr_02/v2_flt_frq 39 0–127 continuous
/lxr_02/v2_flt_res 45 0–127 continuous
/lxr_02/v2_vol_env_atk 52 0–127 continuous
/lxr_02/v2_vol_env_dec 53 0–127 continuous
/lxr_02/v2_vol_env_slp 64 0–127 continuous
/lxr_02/v2_mod_env_dec 72 0–127 continuous
/lxr_02/v2_env_mod_amt 76 0–127 continuous
/lxr_02/v2_mod_env_slp 80 0–127 continuous
/lxr_02/v2_fm_amt 85 0–127 continuous
/lxr_02/v2_fm_frq 86 0–127 continuous
/lxr_02/v2_vol 90 0–127 continuous
/lxr_02/v2_pan 96 0–127 continuous
/lxr_02/v2_dist 104 0–127 continuous
/lxr_02/v2_dcm 110 0–127 continuous
/lxr_02/v2_lfo_frq 117 0–127 continuous
/lxr_02/v2_lfo_amt 123 0–127 continuous
/lxr_02/v3_osc1_wf 4 0–127 continuous
/lxr_02/v3_osc1_ct 13 0–127 continuous
/lxr_02/v3_osc1_ft 14 0–127 continuous
/lxr_02/v3_wf_mod_osc 23 0–127 continuous
/lxr_02/v3_flt_frq 40 0–127 continuous
/lxr_02/v3_flt_res 46 0–127 continuous
/lxr_02/v3_vol_env_atk 54 0–127 continuous
/lxr_02/v3_vol_env_dec 73 0–127 continuous
/lxr_02/v3_vol_env_slp 65 0–127 continuous
/lxr_02/v3_env_mod_amt 77 0–127 continuous
/lxr_02/v3_mod_env_slp 81 0–127 continuous
/lxr_02/v3_fm_amt 87 0–127 continuous
/lxr_02/v3_fm_frq 88 0–127 continuous
/lxr_02/v3_vol 91 0–127 continuous
/lxr_02/v3_pan 97 0–127 continuous
/lxr_02/v3_dist 105 0–127 continuous
/lxr_02/v3_dcm 111 0–127 continuous
/lxr_02/v3_lfo_frq 118 0–127 continuous
/lxr_02/v3_lfo_amt 124 0–127 continuous
/lxr_02/sn_osc1_wf 5 0–127 continuous
/lxr_02/sn_osc1_ct 15 0–127 continuous
/lxr_02/sn_osc1_ft 16 0–127 continuous
/lxr_02/sn_nse_frq 28 0–127 continuous
/lxr_02/sn_mix_osc_nse 29 0–127 continuous
/lxr_02/sn_flt_frq 41 0–127 continuous
/lxr_02/sn_flt_res 47 0–127 continuous
/lxr_02/sn_vol_env_atk 56 0–127 continuous
/lxr_02/sn_vol_env_dec 74 0–127 continuous
/lxr_02/sn_vol_eg_slp 66 0–127 continuous
/lxr_02/sn_vol_eg_rpt 69 0–127 continuous
/lxr_02/sn_env_mod_amt 78 0–127 continuous
/lxr_02/sn_mod_env_slp 82 0–127 continuous
/lxr_02/sn_vol 92 0–127 continuous
/lxr_02/sn_pan 100 0–127 continuous
/lxr_02/sn_dist 106 0–127 continuous
/lxr_02/sn_dcm 112 0–127 continuous
/lxr_02/sn_lfo_frq 119 0–127 continuous
/lxr_02/sn_lfo_amt 125 0–127 continuous
/lxr_02/cp_osc1_wf 7 0–127 continuous
/lxr_02/cp_osc1_ct 17 0–127 continuous
/lxr_02/cp_osc1_ft 18 0–127 continuous
/lxr_02/cp_wf_mod_osc1 24 0–127 continuous
/lxr_02/cp_wf_mod_osc2 25 0–127 continuous
/lxr_02/cp_ct_mod_osc1 30 0–127 continuous
/lxr_02/cp_ct_mod_osc2 31 0–127 continuous
/lxr_02/cp_gain_mod_osc1 32 0–127 continuous
/lxr_02/cp_gain_mod_osc2 33 0–127 continuous
/lxr_02/cp_flt_frq 42 0–127 continuous
/lxr_02/cp_flt_res 48 0–127 continuous
/lxr_02/cp_vol_env_atk 58 0–127 continuous
/lxr_02/cp_vol_env_dec 59 0–127 continuous
/lxr_02/cp_vol_eg_slp 67 0–127 continuous
/lxr_02/cp_vol_eg_rpt 70 0–127 continuous
/lxr_02/cp_vol 93 0–127 continuous
/lxr_02/cp_pan 101 0–127 continuous
/lxr_02/cp_dist 107 0–127 continuous
/lxr_02/cp_dcm 113 0–127 continuous
/lxr_02/cp_lfo_frq 120 0–127 continuous
/lxr_02/cp_lfo_amt 126 0–127 continuous
/lxr_02/hh_osc1_wf 8 0–127 continuous
/lxr_02/hh_osc1_ct 19 0–127 continuous
/lxr_02/hh_osc1_ft 20 0–127 continuous
/lxr_02/hh_wf_mod_osc1 26 0–127 continuous
/lxr_02/hh_wf_mod_osc2 27 0–127 continuous
/lxr_02/hh_ct_mod_osc1 34 0–127 continuous
/lxr_02/hh_ct_mod_osc2 35 0–127 continuous
/lxr_02/hh_gain_mod_osc1 36 0–127 continuous
/lxr_02/hh_gain_mod_osc2 37 0–127 continuous
/lxr_02/hh_flt_frq 43 0–127 continuous
/lxr_02/hh_flt_res 49 0–127 continuous
/lxr_02/hh_vol_env_atk 60 0–127 continuous
/lxr_02/ch_vol_env_dec 61 0–127 continuous
/lxr_02/oh_vol_env_dec 62 0–127 continuous
/lxr_02/hh_vol_eg_slp 68 0–127 continuous
/lxr_02/hh_vol 94 0–127 continuous
/lxr_02/hh_pan 102 0–127 continuous
/lxr_02/hh_dist 108 0–127 continuous
/lxr_02/hh_dcm 114 0–127 continuous
/lxr_02/hh_lfo_frq 121 0–127 continuous
/lxr_02/hh_lfo_amt 127 0–127 continuous
/lxr_02/all_dcm 115 0–127 continuous
/lxr_02/waveform_osc_1 2 0–127 continuous
/lxr_02/waveform_osc_1 3 0–127 continuous
/lxr_02/waveform_osc_1 4 0–127 continuous
/lxr_02/waveform_osc_1 5 0–127 continuous
/lxr_02/waveform_osc_1 7 0–127 continuous
/lxr_02/waveform_osc_1 8 0–127 continuous
/lxr_02/voice_volume 89 0–127 continuous
/lxr_02/voice_volume 90 0–127 continuous
/lxr_02/voice_volume 91 0–127 continuous
/lxr_02/voice_volume 92 0–127 continuous
/lxr_02/voice_volume 93 0–127 continuous
/lxr_02/voice_volume 94 0–127 continuous
/lxr_02/coarse_tune 9 0–127 continuous
/lxr_02/coarse_tune 11 0–127 continuous
/lxr_02/coarse_tune 13 0–127 continuous
/lxr_02/coarse_tune 15 0–127 continuous
/lxr_02/coarse_tune 17 0–127 continuous
/lxr_02/coarse_tune 19 0–127 continuous
/lxr_02/fine_tune 10 0–127 continuous
/lxr_02/fine_tune 12 0–127 continuous
/lxr_02/fine_tune 14 0–127 continuous
/lxr_02/fine_tune 16 0–127 continuous
/lxr_02/fine_tune 18 0–127 continuous
/lxr_02/fine_tune 20 0–127 continuous
/lxr_02/waveform_mod 21 0–127 continuous
/lxr_02/waveform_mod 22 0–127 continuous
/lxr_02/waveform_mod 23 0–127 continuous
/lxr_02/noise_freq 28 0–127 continuous
/lxr_02/wave_mod_osc1 24 0–127 continuous
/lxr_02/wave_mod_osc1 26 0–127 continuous
/lxr_02/voice_pan 95 0–127 continuous
/lxr_02/voice_pan 96 0–127 continuous
/lxr_02/voice_pan 97 0–127 continuous
/lxr_02/mix_osc_noise 29 0–127 continuous
/lxr_02/wave_mod_osc2 25 0–127 continuous
/lxr_02/wave_mod_osc2 27 0–127 continuous
/lxr_02/coars_mod_osc1 30 0–127 continuous
/lxr_02/coars_mod_osc1 34 0–127 continuous
/lxr_02/coars_mod_osc2 31 0–127 continuous
/lxr_02/coars_mod_osc2 35 0–127 continuous
/lxr_02/gain_mod_osc1 32 0–127 continuous
/lxr_02/gain_mod_osc1 36 0–127 continuous
/lxr_02/gain_mod_osc2 33 0–127 continuous
/lxr_02/gain_mod_osc2 37 0–127 continuous
/lxr_02/attack 50 0–127 continuous
/lxr_02/attack 52 0–127 continuous
/lxr_02/attack 54 0–127 continuous
/lxr_02/attack 56 0–127 continuous
/lxr_02/attack 58 0–127 continuous
/lxr_02/attack 60 0–127 continuous
/lxr_02/decay 51 0–127 continuous
/lxr_02/decay 53 0–127 continuous
/lxr_02/decay 55 0–127 continuous
/lxr_02/decay 57 0–127 continuous
/lxr_02/decay 59 0–127 continuous
/lxr_02/decay 61 0–127 continuous
/lxr_02/filter_freq 38 0–127 continuous
/lxr_02/filter_freq 39 0–127 continuous
/lxr_02/filter_freq 40 0–127 continuous
/lxr_02/filter_freq 41 0–127 continuous
/lxr_02/filter_freq 42 0–127 continuous
/lxr_02/filter_freq 43 0–127 continuous
/lxr_02/filter_res 44 0–127 continuous
/lxr_02/filter_res 45 0–127 continuous
/lxr_02/filter_res 46 0–127 continuous
/lxr_02/filter_res 47 0–127 continuous
/lxr_02/filter_res 48 0–127 continuous
/lxr_02/filter_res 49 0–127 continuous
/lxr_02/filter_drive 0 / 6 0–511 continuous
/lxr_02/nrpn_fil_drive 6 / 0 0–127 continuous
/lxr_02/lfo_waveform 6 / 27 0–127 continuous
/lxr_02/distortion 103 0–127 continuous
/lxr_02/distortion 104 0–127 continuous
/lxr_02/distortion 105 0–127 continuous
/lxr_02/distortion 106 0–127 continuous
/lxr_02/distortion 107 0–127 continuous
/lxr_02/distortion 108 0–127 continuous
/lxr_02/decimation 109 0–127 continuous
/lxr_02/decimation 110 0–127 continuous
/lxr_02/decimation 111 0–127 continuous
/lxr_02/decimation 112 0–127 continuous
/lxr_02/decimation 113 0–127 continuous
/lxr_02/decimation 114 0–127 continuous
/lxr_02/lfo_freq 116 0–127 continuous
/lxr_02/lfo_freq 117 0–127 continuous
/lxr_02/lfo_freq 118 0–127 continuous
/lxr_02/lfo_freq 119 0–127 continuous
/lxr_02/lfo_freq 120 0–127 continuous
/lxr_02/lfo_freq 121 0–127 continuous
/lxr_02/lfo_amount 122 0–127 continuous
/lxr_02/lfo_waveform 28 / 6 0–127 continuous
/lxr_02/lfo_waveform 6 / 29 0–127 continuous
/lxr_02/lfo_waveform 6 / 30 0–127 continuous
/lxr_02/lfo_waveform 6 / 31 0–127 continuous
/lxr_02/lfo_waveform 6 / 32 0–127 continuous

Performance MIDI

Notes, pitch bend and any CC are also available: /lxr_02/note/on <note> <velocity>, /lxr_02/cc/<number> <value>, /lxr_02/pitchbend <0-16383>, /lxr_02/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.