Skip to content

Lamberhuus VIPER: MIDI CC, NRPN and OSC map

The Lamberhuus VIPER as named OSC addresses — 88 CC, 3 NRPN, 67 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Lamberhuus VIPER
Vendor Lamberhuus
OSC prefix /viper
Source 🎛️ Derived from an Electra One community preset
Revision per Electra preset
Upstream electra-preset
Driver file devices/lamberhuus/viper.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/lamberhuus/viper.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /viper/shape 63

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

MIDI CC and NRPN parameters (91)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/viper/shape 85 0–127 continuous
/viper/pw 17 0–127 continuous
/viper/osc1_type 86 0–127 continuous
/viper/semi 20 -48–48 continuous
/viper/key_follow 21 -64–63 continuous
/viper/syn_osc1_osc2 90 0–127 continuous
/viper/env_osc_2 91 -64–63 continuous
/viper/phase 92 0–127 continuous
/viper/porta 93 0–127 continuous
/viper/transp 94 -64–63 continuous
/viper/vel_pw 95 -64–63 continuous
/viper/shape 22 0–127 continuous
/viper/semi 25 -48–48 continuous
/viper/key_follow 31 -64–63 continuous
/viper/detune 26 0–127 continuous
/viper/fm_mode 97 0–127 continuous
/viper/fm_amt 98 0–127 continuous
/viper/emv_fm 99 0–127 continuous
/viper/vel_fm 100 0–127 continuous
/viper/intensity 102 0–127 continuous
/viper/osc3_type 87 0–127 continuous
/viper/sub_osc_wave 35 0–127 continuous
/viper/noise_color 39 0–127 continuous
/viper/osc_1_2_bal 33 -100–100 continuous
/viper/osc_3 36 0–127 continuous
/viper/sub_osc 34 0–127 continuous
/viper/ring_mod 50 0–127 continuous
/viper/noise 37 0–127 continuous
/viper/filter_1_type 110 0–127 continuous
/viper/cutoff 40 0–127 continuous
/viper/resonance 42 0–127 continuous
/viper/env_amount 44 0–127 continuous
/viper/routing 53 0–3 continuous
/viper/key_follow 46 -64–63 continuous
/viper/filter_link 1 / 32 0–1 switch
/viper/cutoff 41 0–127 continuous
/viper/resonance 43 0–127 continuous
/viper/env_amount 45 0–127 continuous
/viper/osc_vol 111 0–127 continuous
/viper/filter_bal 48 -64–63 continuous
/viper/key_follow 47 -64–63 continuous
/viper/test_routing 112 0–127 continuous
/viper/filter 54 0–127 continuous
/viper/filter 55 0–127 continuous
/viper/filter 56 0–127 continuous
/viper/filter 58 0–127 continuous
/viper/sustain_slope 57 -64–63 continuous
/viper/amplitude 59 0–127 continuous
/viper/amplitude 60 0–127 continuous
/viper/amplitude 61 0–127 continuous
/viper/amplitude 63 0–127 continuous
/viper/sustain_slope 62 -64–63 continuous
/viper/clock 1 / 18 0–127 continuous
/viper/rate 0 / 67 0–127 continuous
/viper/contour 71 -64–63 continuous
/viper/mode 70 0–1 switch
/viper/key_follow 72 0–100 continuous
/viper/envelope_mode 69 0–1 switch
/viper/osc_1_pitch 74 -100–100 continuous
/viper/osc_2_pitch 75 -100–100 continuous
/viper/pulse_width 76 -100–100 continuous
/viper/resonance 77 -100–100 continuous
/viper/filter_gain 78 -100–100 continuous
/viper/rate 79 0–127 continuous
/viper/shape 80 0–67 continuous
/viper/contour 83 -64–63 continuous
/viper/mode 82 0–1 switch
/viper/key_follow 84 0–100 continuous
/viper/envelope_mode 81 0–1 switch
/viper/filtr_1_cutoff 88 -100–100 continuous
/viper/filtr_2_cutoff 89 -100–100 continuous
/viper/panorama 90 -100–100 continuous
/viper/fm_amount 87 -100–100 continuous
/viper/shape_1_2 86 -100–100 continuous
/viper/on 104 0–127 continuous
/viper/on 105 0–127 continuous
/viper/type 106 0–127 continuous
/viper/type 103 0–6 continuous
/viper/rate 106 0–127 continuous
/viper/depth 107 0–100 continuous
/viper/feedback 109 -100–100 continuous
/viper/delay 108 0–127 continuous
/viper/classic_mix 105 0–127 continuous
/viper/lfo_wave 110 0–5 continuous
/viper/mix 104 0–127 continuous
/viper/x_over 111 0–127 continuous
/viper/send 113 0–127 continuous
/viper/feedback 115 0–200 continuous
/viper/frequency 119 0–127 continuous
/viper/modulation 117 0–100 continuous
/viper/time 114 0–694 continuous

SysEx commands (67)

OSC address Arguments
/viper/vel_shp val: u7
/viper/semi val: u7
/viper/detune val: u7
/viper/pw val: u7
/viper/osc_vol val: u7
/viper/env_velocity val: u7
/viper/res_velocity val: u7
/viper/env_polarity val: u7
/viper/cutoff_link val: u7
/viper/key_base val: u7
/viper/env_3 val: u7
/viper/sustain_slope val: u7
/viper/env_4 val: u7
/viper/clock val: u7
/viper/rate val: u7
/viper/shape val: u7
/viper/fade_in val: u7
/viper/mode val: u7
/viper/key_follow val: u7
/viper/target val: u7
/viper/amount val: u7
/viper/mix val: u7
/viper/tune val: u7
/viper/drive val: u7
/viper/high_cut val: u7
/viper/type val: u7
/viper/left_clock val: u7
/viper/right_clock val: u7
/viper/bandwidth val: u7
/viper/ratio val: u7
/viper/frequency val: u7
/viper/gain val: u7
/viper/q_factor val: u7
/viper/send val: u7
/viper/time val: u7
/viper/damping val: u7
/viper/coloration val: u7
/viper/pre_delay val: u7
/viper/feedback val: u7
/viper/volume val: u7
/viper/panorama val: u7
/viper/fm_amount val: u7
/viper/osc_1_shape val: u7
/viper/osc_2_shape val: u7
/viper/pulse_width val: u7
/viper/filter_1_env val: u7
/viper/resonance_1 val: u7
/viper/filter_2_env val: u7
/viper/resonance_2 val: u7
/viper/source val: u7
/viper/target_1 val: u7
/viper/target_2 val: u7
/viper/target_3 val: u7
/viper/amount_1 val: u7
/viper/amount_2 val: u7
/viper/amount_3 val: u7
/viper/tempo val: u7
/viper/pattern val: u7
/viper/octave_range val: u7
/viper/resolution val: u7
/viper/hold val: u7
/viper/note_length val: u7
/viper/note_swing val: u7
/viper/steps val: u7
/viper/voices val: u7
/viper/pan_spread val: u7
/viper/lfo_phase val: u7

Performance MIDI

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