Written from devices/waldorf/wave.electra-dave-1-5.fw-unknown.jsonEdit on GitHubJSON

Waldorf Wave MIDI CC chart, NRPN and OSC map

The Waldorf Wave MIDI implementation: 68 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.

  • sourceElectra One preset
  • real unitnot yet checked

Not checked on a real Waldorf Wave yet. Own one? Load a sound or send a control, and tell us whether it worked.

Maker
Waldorf
Version
per Electra preset
Source
Electra One preset
OSC prefix
/wave

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/waldorf/wave.electra-dave-1-5.fw-unknown.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /wave/cutoff

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

MIDI controls

68 controls, each with its number, its range and the name to send

SysEx commands

Command Arguments Name to send
Cutoff val: u7 /wave/cutoff
Q val: u7 /wave/q
Osc 1 oct val: u7 /wave/osc_1_oct
Osc 1 semitone val: u7 /wave/osc_1_semitone
Osc 1 detune val: u7 /wave/osc_1_detune
Bend range val: u7 /wave/bend_range
Wavetable val: u7 /wave/wavetable
Osc1 startwave val: u7 /wave/osc1_startwave
Osc2 startwave val: u7 /wave/osc2_startwave
Osc 2 detune val: u7 /wave/osc_2_detune
Osc 2 oct val: u7 /wave/osc_2_oct
Osc 2 semitone val: u7 /wave/osc_2_semitone
Panning val: u7 /wave/panning
Vol env amount val: u7 /wave/vol_env_amount
Adsr val: u7 /wave/adsr
Env delay val: u7 /wave/env_delay
Keytrack val: u7 /wave/keytrack
Wavelink 2 1 val: u7 /wave/wavelink_2_1
Fc velocity val: u7 /wave/fc_velocity
Env velocity val: u7 /wave/env_velocity
Fc env amount val: u7 /wave/fc_env_amount
Fc mod1 amount val: u7 /wave/fc_mod1_amount
Mod 1 source val: u7 /wave/mod_1_source
Mod 1 control val: u7 /wave/mod_1_control
Fc mod2 amount val: u7 /wave/fc_mod2_amount
Q mod 1 amount val: u7 /wave/q_mod_1_amount
Fc adsr mod val: u7 /wave/fc_adsr_mod
Atk mod source val: u7 /wave/atk_mod_source
Dky mod source val: u7 /wave/dky_mod_source
Sus mod source val: u7 /wave/sus_mod_source
Rel mod source val: u7 /wave/rel_mod_source
Env delay mod val: u7 /wave/env_delay_mod
Vol adsr mod val: u7 /wave/vol_adsr_mod
Pitch mode val: u7 /wave/pitch_mode
Osc 1 amount val: u7 /wave/osc_1_amount
Osc 1 source val: u7 /wave/osc_1_source
Mod 2 source val: u7 /wave/mod_2_source
Osc 1 control val: u7 /wave/osc_1_control
Mod2 quantize val: u7 /wave/mod2_quantize
Wave 1 mode val: u7 /wave/wave_1_mode
Wave 2 mode val: u7 /wave/wave_2_mode
Pan mod amount val: u7 /wave/pan_mod_amount
Pan mod source val: u7 /wave/pan_mod_source
Glide val: u7 /wave/glide
Time val: u7 /wave/time
Lfos speed sym val: u7 /wave/lfos_speed_sym
Lfo shape val: u7 /wave/lfo_shape
Humanize val: u7 /wave/humanize
Lfo 1 attack val: u7 /wave/lfo_1_attack
Sync mode val: u7 /wave/sync_mode
Lfo 1 delay val: u7 /wave/lfo_1_delay
Lfo 1 decay val: u7 /wave/lfo_1_decay
Lfo 2 phase val: u7 /wave/lfo_2_phase
Lfo 1 rate mod val: u7 /wave/lfo_1_rate_mod
Mod source val: u7 /wave/mod_source
T1 l1 t2 l2 val: u7 /wave/t1_l1_t2_l2
T3 l3 t4 l4 val: u7 /wave/t3_l3_t4_l4
T5 l5 t6 l6 val: u7 /wave/t5_l5_t6_l6
T7 l7 t8 l8 val: u7 /wave/t7_l7_t8_l8
Time mod val: u7 /wave/time_mod
Level mod val: u7 /wave/level_mod
Key off point val: u7 /wave/key_off_point
Loop start val: u7 /wave/loop_start
Loop on off val: u7 /wave/loop_on_off
W1 w2 no pgm val: u7 /wave/w1_w2_no_pgm
Ss env vel kt val: u7 /wave/ss_env_vel_kt
Mod1 2 mod1 2 val: u7 /wave/mod1_2_mod1_2
Wavelink 1 2 val: u7 /wave/wavelink_1_2

Performance MIDI

Notes, pitch bend and any CC are also available: /wave/note/on <note> <velocity>, /wave/cc/<number> <value>, /wave/pitchbend <0-16383>, /wave/program_change <n>.

JSON

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 Waldorf Wave?

Yes: SynthHub's hosted MCP server knows the Waldorf Wave's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.