Skip to content

Waldorf Pulse 1: MIDI CC, NRPN and OSC map

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

Device Waldorf Pulse 1
Vendor Waldorf
OSC prefix /pulse_1
Source 📦 Derived from MIDI Guide (community CC/NRPN data)
Firmware unknown
Revision per pencilresearch canonical CSV
Upstream pencilresearch
Data licence CC-BY-SA-4.0 — MIDI Guide (https://midi.guide) by Pencil Research and contributors
Driver file devices/waldorf/pulse_1.pencilresearch.fw-unknown.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/waldorf/pulse_1.pencilresearch.fw-unknown.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /pulse_1/oscillator_1/osc1_shape 1

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

MIDI CC and NRPN parameters (62)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/pulse_1/oscillator_1/osc1_shape 34 0–2 continuous Oscillator 1
/pulse_1/oscillator_1/osc1_pwm 35 0–127 continuous Oscillator 1
/pulse_1/oscillator_1/osc1_semitone 32 16–112 continuous Oscillator 1
/pulse_1/oscillator_1/osc1_detune 33 0–127 continuous Oscillator 1
/pulse_1/oscillator_2/osc2_shape 38 0–3 continuous Oscillator 2
/pulse_1/oscillator_2/osc2_pwm 39 0–127 continuous Oscillator 2
/pulse_1/oscillator_2/osc2_semitone 36 16–112 continuous Oscillator 2
/pulse_1/oscillator_2/osc2_detune 37 0–127 continuous Oscillator 2
/pulse_1/oscillator_2/osc2_keytrack 40 0–1 switch Oscillator 2
/pulse_1/oscillator_3/osc3_shape 44 0–2 continuous Oscillator 3
/pulse_1/oscillator_3/osc3_sync 41 0–1 switch Oscillator 3
/pulse_1/oscillator_3/osc3_semitone 42 16–112 continuous Oscillator 3
/pulse_1/oscillator_3/osc3_detune 43 0–127 continuous Oscillator 3
/pulse_1/oscillator_levels/osc1_level 45 0–127 continuous Oscillator levels
/pulse_1/oscillator_levels/osc2_level 46 0–127 continuous Oscillator levels
/pulse_1/oscillator_levels/osc3_level 47 0–127 continuous Oscillator levels
/pulse_1/oscillator_levels/noise 48 0–127 continuous Oscillator levels
/pulse_1/amp/env_amp_attack 18 0–127 continuous Amp
/pulse_1/amp/env_amp_decay 19 0–127 continuous Amp
/pulse_1/amp/env_amp_sustain 20 0–127 continuous Amp
/pulse_1/amp/env_amp_release 21 0–127 continuous Amp
/pulse_1/amp/vca_volume 57 0–127 continuous Amp
/pulse_1/amp/vca_velocity 58 0–127 continuous Amp
/pulse_1/amp/env_amp_trig 31 0–3 continuous Amp
/pulse_1/vcf/env_vcf_attack 14 0–127 continuous VCF
/pulse_1/vcf/env_vcf_decay 15 0–127 continuous VCF
/pulse_1/vcf/env_vcf_sustain 16 0–127 continuous VCF
/pulse_1/vcf/env_vcf_release 17 0–127 continuous VCF
/pulse_1/vcf/cutoff 50 0–127 continuous VCF
/pulse_1/vcf/res 56 0–127 continuous VCF
/pulse_1/vcf/keytrack 51 0–127 continuous VCF
/pulse_1/vcf/velocity 53 0–127 continuous VCF
/pulse_1/vcf/env_amount 52 0–127 continuous VCF
/pulse_1/vcf/env_vcf_trig 29 0–3 continuous VCF
/pulse_1/lfos/lfo1_speed 24 0–127 continuous LFOs
/pulse_1/lfos/lfo1_shp 25 0–7 continuous LFOs
/pulse_1/lfos/lfo2_speed 26 0–127 continuous LFOs
/pulse_1/lfos/lfo2_delay 27 0–127 continuous LFOs
/pulse_1/general/modwheel 1 0–127 continuous General
/pulse_1/general/glide_rate 5 0–127 continuous General
/pulse_1/general/glidemod 62 0–127 continuous General
/pulse_1/general/volume 7 0–127 continuous General
/pulse_1/general/pan 10 0–127 continuous General
/pulse_1/general/bend_up 63 0–24 continuous General
/pulse_1/general/bend_down 63 0–24 continuous General
/pulse_1/arpeggiator/arp_switch 102 0–2 continuous Arpeggiator
/pulse_1/arpeggiator/arp_range 103 0–9 continuous Arpeggiator
/pulse_1/arpeggiator/arp_tempo 105 0–127 continuous Arpeggiator
/pulse_1/arpeggiator/arp_clock 104 0–31 continuous Arpeggiator
/pulse_1/arpeggiator/arp_mode 106 0–6 continuous Arpeggiator
/pulse_1/modulation/mod1_source 108 0–15 continuous Modulation
/pulse_1/modulation/mod1_amount 109 0–127 continuous Modulation
/pulse_1/modulation/mod1_target 110 0–15 continuous Modulation
/pulse_1/modulation/mod2_source 111 0–15 continuous Modulation
/pulse_1/modulation/mod2_amount 112 0–127 continuous Modulation
/pulse_1/modulation/mod2_target 113 0–15 continuous Modulation
/pulse_1/modulation/mod3_source 114 0–15 continuous Modulation
/pulse_1/modulation/mod3_amount 115 0–127 continuous Modulation
/pulse_1/modulation/mod3_target 116 0–15 continuous Modulation
/pulse_1/modulation/mod4_source 117 0–15 continuous Modulation
/pulse_1/modulation/mod4_amount 118 0–127 continuous Modulation
/pulse_1/modulation/mod4_target 119 0–15 continuous Modulation

Performance MIDI

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