Skip to content

Waves Codex: MIDI CC, NRPN and OSC map

The Waves Codex as named OSC addresses — 116 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

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

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /waves_codex/octave 63

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

MIDI CC and NRPN parameters (116)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/waves_codex/octave 1 0–127 continuous
/waves_codex/tune 2 0–127 continuous
/waves_codex/fine 3 0–127 continuous
/waves_codex/start 4 0–127 continuous
/waves_codex/mid 5 0–127 continuous
/waves_codex/end 6 0–127 continuous
/waves_codex/osc_speed 10 0–127 continuous
/waves_codex/sync 8 0–127 continuous
/waves_codex/loop 9 0–127 continuous
/waves_codex/formant 11 0–127 continuous
/waves_codex/resolution 12 0–127 continuous
/waves_codex/sync_osc_2 35 0–127 continuous
/waves_codex/octave 13 0–127 continuous
/waves_codex/tune 14 0–127 continuous
/waves_codex/fine 15 0–127 continuous
/waves_codex/start 16 0–127 continuous
/waves_codex/mid 17 0–127 continuous
/waves_codex/end 18 0–127 continuous
/waves_codex/osc_speed 21 0–127 continuous
/waves_codex/sync 19 0–127 continuous
/waves_codex/loop 20 0–127 continuous
/waves_codex/formant 22 0–127 continuous
/waves_codex/resolution 23 0–127 continuous
/waves_codex/fm 36 0–127 continuous
/waves_codex/sub 24 0–127 continuous
/waves_codex/noise 25 0–127 continuous
/waves_codex/ring 26 0–127 continuous
/waves_codex/mono 30 0–127 continuous
/waves_codex/retrig 31 0–127 continuous
/waves_codex/port 34 0–127 continuous
/waves_codex/osc_1 27 0–127 continuous
/waves_codex/osc_2 28 0–127 continuous
/waves_codex/osc_mix 29 0–127 continuous
/waves_codex/unison 32 0–127 continuous
/waves_codex/always 33 0–127 continuous
/waves_codex/gain 7 0–127 continuous
/waves_codex/cutoff 37 0–127 continuous
/waves_codex/resonance 38 0–127 continuous
/waves_codex/env 39 0–127 continuous
/waves_codex/keyb 40 0–127 continuous
/waves_codex/fm 41 0–127 continuous
/waves_codex/slope 42 0–127 continuous
/waves_codex/attack 44 0–127 continuous
/waves_codex/attack 45 0–127 continuous
/waves_codex/attack 46 0–127 continuous
/waves_codex/attack 47 0–127 continuous
/waves_codex/shape 48 0–127 continuous
/waves_codex/type 43 0–127 continuous
/waves_codex/attack 49 0–127 continuous
/waves_codex/attack 50 0–127 continuous
/waves_codex/attack 51 0–127 continuous
/waves_codex/attack 52 0–127 continuous
/waves_codex/shape 53 0–127 continuous
/waves_codex/punch 54 0–127 continuous
/waves_codex/attack 55 0–127 continuous
/waves_codex/attack 56 0–127 continuous
/waves_codex/attack 57 0–127 continuous
/waves_codex/attack 58 0–127 continuous
/waves_codex/shape 59 0–127 continuous
/waves_codex/vcf 60 0–127 continuous
/waves_codex/vca 61 0–127 continuous
/waves_codex/env_3 62 0–127 continuous
/waves_codex/100 63 0–127 continuous
/waves_codex/600 64 0–127 continuous
/waves_codex/1500 65 0–127 continuous
/waves_codex/3000 66 0–127 continuous
/waves_codex/lowpass 67 0–127 continuous
/waves_codex/highpass 68 0–127 continuous
/waves_codex/type 70 0–127 continuous
/waves_codex/rate 71 0–127 continuous
/waves_codex/type 76 0–127 continuous
/waves_codex/time 77 0–127 continuous
/waves_codex/type 73 0–127 continuous
/waves_codex/rate 74 0–127 continuous
/waves_codex/type 79 0–127 continuous
/waves_codex/time 80 0–127 continuous
/waves_codex/mod_1_att 107 0–127 continuous
/waves_codex/mod_3_att 111 0–127 continuous
/waves_codex/mod_5_att 115 0–127 continuous
/waves_codex/mod_2_att 109 0–127 continuous
/waves_codex/mod_4_att 113 0–127 continuous
/waves_codex/mod_6_att 117 0–127 continuous
/waves_codex/crusher 118 0–127 continuous
/waves_codex/distortion 119 0–127 continuous
/waves_codex/rate_left 106 0–127 continuous
/waves_codex/rate_right 72 0–127 continuous
/waves_codex/reverb 108 0–127 continuous
/waves_codex/chorus 110 0–127 continuous
/waves_codex/pre_vcf 69 0–127 continuous
/waves_codex/mix 75 0–127 continuous
/waves_codex/feedback 78 0–127 continuous
/waves_codex/mode 81 0–127 continuous
/waves_codex/rate 82 0–127 continuous
/waves_codex/rate 83 0–127 continuous
/waves_codex/gate 87 0–127 continuous
/waves_codex/step 88 0–127 continuous
/waves_codex/oct 84 0–127 continuous
/waves_codex/hold 85 0–127 continuous
/waves_codex/retrig 86 0–127 continuous
/waves_codex/swing 89 0–127 continuous
/waves_codex/1 90 0–127 continuous
/waves_codex/2 91 0–127 continuous
/waves_codex/3 92 0–127 continuous
/waves_codex/4 93 0–127 continuous
/waves_codex/5 94 0–127 continuous
/waves_codex/6 95 0–127 continuous
/waves_codex/7 96 0–127 continuous
/waves_codex/8 97 0–127 continuous
/waves_codex/9 98 0–127 continuous
/waves_codex/10 99 0–127 continuous
/waves_codex/11 100 0–127 continuous
/waves_codex/12 101 0–127 continuous
/waves_codex/13 102 0–127 continuous
/waves_codex/14 103 0–127 continuous
/waves_codex/15 104 0–127 continuous
/waves_codex/16 105 0–127 continuous

Performance MIDI

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