Skip to content

Waldorf Pulse 1 MIDI CC chart, NRPN and OSC map

The Waldorf Pulse 1 MIDI implementation: 62 CC, each named, for Claude (MCP), SuperCollider or any OSC app.

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.

Frequently asked questions

Which MIDI CC controls the filter cutoff on the Waldorf Pulse 1?

CC 50 (0–127), named /pulse_1/vcf/cutoff in SynthHub's map.

How many parameters of the Waldorf Pulse 1 can be controlled over MIDI?

SynthHub's map of the Waldorf Pulse 1 lists 62 MIDI CC parameters, each with its number, range and a readable name; the full chart is on this page.

Can an AI agent like Claude control the Waldorf Pulse 1?

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