Waldorf Blofeld: MIDI CC, NRPN and OSC map¶
The Waldorf Blofeld as named OSC addresses — 219 CC, 61 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Waldorf Blofeld |
|---|---|
| Vendor | Waldorf |
| OSC prefix | /blofeld |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per pencilresearch canonical CSV |
| Upstream | electra-preset |
| Driver file | devices/waldorf/blofeld.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/blofeld.json --out-port <N> --in-port <M>
Then send OSC to 127.0.0.1:7777, for example:
From Claude or any MCP client, the osc-bridge mcp server exposes this driver as blofeld: ask “what can the Waldorf Blofeld do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (219)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/blofeld/general/bank_select_msb |
0 / 32 | 0–16383 | continuous | General | |
/blofeld/general/mod_wheel |
1 | 0–127 | continuous | General | |
/blofeld/general/breath_control |
2 | 0–127 | continuous | General | |
/blofeld/general/foot_control |
4 | 0–127 | continuous | General | |
/blofeld/general/glide_rate |
5 | 0–127 | continuous | General | |
/blofeld/general/channel_volume |
7 | 0–127 | continuous | General | |
/blofeld/general/pan |
10 | 0–127 | continuous | General | |
/blofeld/general/arpeggiator_range |
12 | 0–9 | continuous | General | |
/blofeld/general/arpeggiator_length |
13 | 0–15 | continuous | General | |
/blofeld/general/arpeggiator_active |
14 | 0–3 | continuous | General | |
/blofeld/lfo/1_shape |
15 | 0–5 | continuous | LFO | |
/blofeld/lfo/1_speed |
16 | 0–127 | continuous | LFO | |
/blofeld/lfo/1_sync |
17 | 0–1 | switch | LFO | |
/blofeld/lfo/1_delay |
18 | 0–127 | continuous | LFO | |
/blofeld/lfo/2_shape |
19 | 0–5 | continuous | LFO | |
/blofeld/lfo/2_speed |
20 | 0–127 | continuous | LFO | |
/blofeld/lfo/2_sync |
21 | 0–1 | switch | LFO | |
/blofeld/lfo/2_delay |
22 | 0–127 | continuous | LFO | |
/blofeld/lfo/3_shape |
23 | 0–5 | continuous | LFO | |
/blofeld/lfo/3_speed |
24 | 0–127 | continuous | LFO | |
/blofeld/lfo/3_sync |
25 | 0–1 | switch | LFO | |
/blofeld/lfo/3_delay |
26 | 0–127 | continuous | LFO | |
/blofeld/oscillators/osc_1_octave |
27 | 16–112 | continuous | Oscillators | |
/blofeld/oscillators/osc_1_semitone |
28 | 52–76 | continuous | Oscillators | |
/blofeld/oscillators/osc_1_detune |
29 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_1_fm |
30 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_1_shape |
31 | 0–5 | continuous | Oscillators | |
/blofeld/oscillators/osc_1_pulsewidth |
33 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_1_pwm |
34 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_2_octave |
35 | 16–112 | continuous | Oscillators | |
/blofeld/oscillators/osc_2_semitone |
36 | 52–76 | continuous | Oscillators | |
/blofeld/oscillators/osc_2_detune |
37 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_2_fm |
38 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_2_shape |
39 | 0–5 | continuous | Oscillators | |
/blofeld/oscillators/osc_2_pulsewidth |
40 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_2_pwm |
41 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_3_octave |
42 | 16–112 | continuous | Oscillators | |
/blofeld/oscillators/osc_3_semitone |
43 | 52–76 | continuous | Oscillators | |
/blofeld/oscillators/osc_3_detune |
44 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_3_fm |
45 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_3_shape |
46 | 0–5 | continuous | Oscillators | |
/blofeld/oscillators/osc_3_pulsewidth |
47 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/osc_3_pwm |
48 | 0–127 | continuous | Oscillators | |
/blofeld/oscillators/sync |
49 | 0–1 | switch | Oscillators | |
/blofeld/general/pitchmod |
50 | 0–127 | continuous | General | |
/blofeld/general/glide_mode |
51 | 0–9 | continuous | General | |
/blofeld/mix/osc_1_level |
52 | 0–127 | continuous | Mix | |
/blofeld/mix/osc_1_balance |
53 | 0–127 | continuous | Mix | |
/blofeld/mix/ringmod_level |
54 | 0–127 | continuous | Mix | |
/blofeld/mix/ringmod_balance |
55 | 0–127 | continuous | Mix | |
/blofeld/mix/osc_2_level |
56 | 0–127 | continuous | Mix | |
/blofeld/mix/osc_2_balance |
57 | 0–127 | continuous | Mix | |
/blofeld/mix/osc_3_level |
58 | 0–127 | continuous | Mix | |
/blofeld/mix/osc_3_balance |
59 | 0–127 | continuous | Mix | |
/blofeld/mix/noise_level |
60 | 0–127 | continuous | Mix | |
/blofeld/mix/noise_balance |
61 | 0–127 | continuous | Mix | |
/blofeld/mix/noise_color |
62 | 0–127 | continuous | Mix | |
/blofeld/general/sustain_pedal |
64 | 0–127 | continuous | General | |
/blofeld/general/glide_active |
65 | 0–127 | continuous | General | |
/blofeld/general/sostenuto |
66 | 0–127 | continuous | General | |
/blofeld/general/filter_routing |
67 | 0–1 | switch | General | |
/blofeld/filter/1_type |
68 | 0–10 | continuous | Filter | |
/blofeld/filter/1_cutoff |
69 | 0–127 | continuous | Filter | |
/blofeld/filter/1_resonance |
70 | 0–127 | continuous | Filter | |
/blofeld/filter/1_drive |
71 | 0–127 | continuous | Filter | |
/blofeld/filter/1_keytrack |
72 | 0–127 | continuous | Filter | |
/blofeld/filter/1_envelope_amount |
73 | 0–127 | continuous | Filter | |
/blofeld/filter/1_envelope_velocity |
74 | 0–127 | continuous | Filter | |
/blofeld/filter/1_cutoff_modulation |
75 | 0–127 | continuous | Filter | |
/blofeld/filter/1_fm |
76 | 0–127 | continuous | Filter | |
/blofeld/filter/1_pan |
77 | 0–127 | continuous | Filter | |
/blofeld/filter/1_pan_modulation |
78 | 0–127 | continuous | Filter | |
/blofeld/filter/2_type |
79 | 0–10 | continuous | Filter | |
/blofeld/filter/2_cutoff |
80 | 0–127 | continuous | Filter | |
/blofeld/filter/2_resonance |
81 | 0–127 | continuous | Filter | |
/blofeld/filter/2_drive |
82 | 0–127 | continuous | Filter | |
/blofeld/filter/2_keytrack |
83 | 0–127 | continuous | Filter | |
/blofeld/filter/2_envelope_amount |
84 | 0–127 | continuous | Filter | |
/blofeld/filter/2_envelope_velocity |
85 | 0–127 | continuous | Filter | |
/blofeld/filter/2_cutoff_modulation |
86 | 0–127 | continuous | Filter | |
/blofeld/filter/2_fm |
87 | 0–127 | continuous | Filter | |
/blofeld/filter/2_pan |
88 | 0–127 | continuous | Filter | |
/blofeld/filter/2_pan_modulation |
89 | 0–127 | continuous | Filter | |
/blofeld/amp/volume |
90 | 0–127 | continuous | Amp | |
/blofeld/amp/velocity |
91 | 0–127 | continuous | Amp | |
/blofeld/amp/modulation |
92 | 0–127 | continuous | Amp | |
/blofeld/fx/1_mix |
93 | 0–127 | continuous | FX | |
/blofeld/fx/2_mix |
94 | 0–127 | continuous | FX | |
/blofeld/envelopes/filter_envelope_attack |
95 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/filter_envelope_decay |
96 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/filter_envelope_sustain |
97 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/filter_envelope_decay_2 |
98 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/filter_envelope_sustain_2 |
99 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/filter_envelope_release |
100 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/amp_envelope_attack |
101 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/amp_envelope_decay |
102 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/amp_envelope_sustain |
103 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/amp_envelope_decay_2 |
104 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/amp_envelope_sustain_2 |
105 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/amp_envelope_release |
106 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_3_attack |
107 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_3_decay |
108 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_3_sustain |
109 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_3_decay_2 |
110 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_3_sustain_2 |
111 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_3_release |
112 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_4_attack |
113 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_4_decay |
114 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_4_sustain |
115 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_4_decay_2 |
116 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_4_sustain_2 |
117 | 0–127 | continuous | Envelopes | |
/blofeld/envelopes/envelope_4_release |
118 | 0–127 | continuous | Envelopes | |
/blofeld/general/all_sound_off |
120 | 0–127 | continuous | General | |
/blofeld/general/reset_all_controllers |
121 | 0–127 | continuous | General | |
/blofeld/general/local_control_on_off |
122 | 0–127 | continuous | General | |
/blofeld/general/all_notes_off |
123 | 0–127 | continuous | General | |
/blofeld/shape |
31 | 0–72 | continuous | ||
/blofeld/coarse |
28 | -12–12 | continuous | ||
/blofeld/fine |
29 | -64–63 | continuous | ||
/blofeld/osc_1 |
52 | 0–127 | continuous | ||
/blofeld/wave_scan |
33 | 0–127 | continuous | ||
/blofeld/scan_amount |
34 | -64–63 | continuous | ||
/blofeld/fm_amount |
30 | 0–127 | continuous | ||
/blofeld/ringmod_1_2 |
54 | 0–127 | continuous | ||
/blofeld/shape |
39 | 0–72 | continuous | ||
/blofeld/octave |
35 | 0–127 | continuous | ||
/blofeld/coarse |
36 | -12–12 | continuous | ||
/blofeld/fine |
37 | -64–63 | continuous | ||
/blofeld/osc_2 |
56 | 0–127 | continuous | ||
/blofeld/wave_scan |
40 | 0–127 | continuous | ||
/blofeld/scan_amount |
41 | -64–63 | continuous | ||
/blofeld/fm_amount |
38 | 0–127 | continuous | ||
/blofeld/noise |
60 | 0–127 | continuous | ||
/blofeld/shape |
46 | 0–127 | continuous | ||
/blofeld/octave |
42 | 0–127 | continuous | ||
/blofeld/coarse |
43 | -12–12 | continuous | ||
/blofeld/fine |
44 | -64–63 | continuous | ||
/blofeld/sync_osc2_osc3 |
49 | 0–127 | continuous | ||
/blofeld/osc_3 |
58 | 0–127 | continuous | ||
/blofeld/pulse_width |
47 | 0–127 | continuous | ||
/blofeld/pwm_amount |
48 | -64–63 | continuous | ||
/blofeld/fm_amount |
45 | 0–127 | continuous | ||
/blofeld/f1_osc1_f2 |
53 | -64–63 | continuous | ||
/blofeld/f1_ringmd_f2 |
55 | -64–63 | continuous | ||
/blofeld/f1_osc2_f2 |
57 | -64–63 | continuous | ||
/blofeld/f1_noise_f2 |
61 | -64–63 | continuous | ||
/blofeld/f1_osc3_f2 |
59 | -64–63 | continuous | ||
/blofeld/filter_routing |
67 | 0–127 | continuous | ||
/blofeld/glide |
65 | 0–127 | continuous | ||
/blofeld/rate |
5 | 0–127 | continuous | ||
/blofeld/glide_mode |
51 | 0–127 | continuous | ||
/blofeld/volume |
90 | 0–127 | continuous | ||
/blofeld/velocity |
91 | -64–63 | continuous | ||
/blofeld/mod_amount |
50 | -64–63 | continuous | ||
/blofeld/mod_amount |
92 | -64–63 | continuous | ||
/blofeld/f1_cutoff |
69 | 0–127 | continuous | ||
/blofeld/f1_resonance |
70 | 0–127 | continuous | ||
/blofeld/type |
68 | 0–127 | continuous | ||
/blofeld/f2_cutoff |
80 | 0–127 | continuous | ||
/blofeld/f2_resonance |
81 | 0–127 | continuous | ||
/blofeld/type |
79 | 0–127 | continuous | ||
/blofeld/env_amount |
73 | -64–63 | continuous | ||
/blofeld/velocity |
74 | -64–63 | continuous | ||
/blofeld/keytrack |
72 | -64–63 | continuous | ||
/blofeld/env_amount |
84 | -64–63 | continuous | ||
/blofeld/velocity |
85 | -64–63 | continuous | ||
/blofeld/keytrack |
83 | -64–63 | continuous | ||
/blofeld/drive |
71 | 0–127 | continuous | ||
/blofeld/mod_amount |
86 | -64–63 | continuous | ||
/blofeld/drive |
82 | 0–127 | continuous | ||
/blofeld/mod_amount |
78 | -64–63 | continuous | ||
/blofeld/f1_pan |
77 | -64–63 | continuous | ||
/blofeld/mod_amount |
89 | -64–63 | continuous | ||
/blofeld/f2_pan |
88 | -64–63 | continuous | ||
/blofeld/shape |
15 | 0–127 | continuous | ||
/blofeld/speed |
16 | 0–127 | continuous | ||
/blofeld/delay |
18 | 0–127 | continuous | ||
/blofeld/sync |
17 | 0–127 | continuous | ||
/blofeld/shape |
19 | 0–127 | continuous | ||
/blofeld/speed |
20 | 0–127 | continuous | ||
/blofeld/delay |
22 | 0–127 | continuous | ||
/blofeld/sync |
21 | 0–127 | continuous | ||
/blofeld/shape |
23 | 0–127 | continuous | ||
/blofeld/speed |
24 | 0–127 | continuous | ||
/blofeld/delay |
26 | 0–127 | continuous | ||
/blofeld/sync |
25 | 0–127 | continuous | ||
/blofeld/arp_mode |
14 | 0–127 | continuous | ||
/blofeld/octaves |
12 | 1–10 | continuous | ||
/blofeld/length |
13 | 0–43 | continuous | ||
/blofeld/hold |
64 | 0–127 | continuous | ||
/blofeld/all_sounds_off |
120 | 0–127 | continuous | ||
/blofeld/a_attack |
101 | 0–127 | continuous | ||
/blofeld/a_decay |
102 | 0–127 | continuous | ||
/blofeld/a_sustain |
103 | 0–127 | continuous | ||
/blofeld/a_decay_2 |
104 | 0–127 | continuous | ||
/blofeld/a_sustain_2 |
105 | 0–127 | continuous | ||
/blofeld/a_release |
106 | 0–127 | continuous | ||
/blofeld/f_attack |
95 | 0–127 | continuous | ||
/blofeld/f_decay |
96 | 0–127 | continuous | ||
/blofeld/f_sustain |
97 | 0–127 | continuous | ||
/blofeld/f_decay_2 |
98 | 0–127 | continuous | ||
/blofeld/f_sustain_2 |
99 | 0–127 | continuous | ||
/blofeld/f_release |
100 | 0–127 | continuous | ||
/blofeld/3_attack |
107 | 0–127 | continuous | ||
/blofeld/3_decay |
108 | 0–127 | continuous | ||
/blofeld/3_sustain |
109 | 0–127 | continuous | ||
/blofeld/3_decay_2 |
110 | 0–127 | continuous | ||
/blofeld/3_sustain_2 |
111 | 0–127 | continuous | ||
/blofeld/3_release |
112 | 0–127 | continuous | ||
/blofeld/dry_wet |
93 | 0–127 | continuous | ||
/blofeld/dry_wet |
94 | 0–127 | continuous | ||
/blofeld/4_attack |
113 | 0–127 | continuous | ||
/blofeld/4_decay |
114 | 0–127 | continuous | ||
/blofeld/4_sustain |
115 | 0–127 | continuous | ||
/blofeld/4_decay_2 |
116 | 0–127 | continuous | ||
/blofeld/4_sustain_2 |
117 | 0–127 | continuous | ||
/blofeld/4_release |
118 | 0–127 | continuous | ||
/blofeld/noise_colour |
62 | -64–63 | continuous | ||
/blofeld/octave |
27 | 0–127 | continuous |
SysEx commands (61)¶
| OSC address | Arguments |
|---|---|
/blofeld/brilliance |
val: u7 |
/blofeld/scan_source |
val: u7 |
/blofeld/fm_source |
val: u7 |
/blofeld/pwm_source |
val: u7 |
/blofeld/keytrack |
val: u7 |
/blofeld/bend_range |
val: u7 |
/blofeld/limit_wt |
val: u7 |
/blofeld/mono |
val: u7 |
/blofeld/voice |
val: u7 |
/blofeld/detune |
val: u7 |
/blofeld/f_env_trigger |
val: u7 |
/blofeld/3_env_trigger |
val: u7 |
/blofeld/mod_source |
val: u7 |
/blofeld/a_env_trigger |
val: u7 |
/blofeld/4_env_trigger |
val: u7 |
/blofeld/mod_amount |
val: u7 |
/blofeld/fm_amount |
val: u7 |
/blofeld/curve |
val: u7 |
/blofeld/pan_mod_source |
val: u7 |
/blofeld/out_fade_in |
val: u7 |
/blofeld/clocked |
val: u7 |
/blofeld/start_phase |
val: u7 |
/blofeld/clock |
val: u7 |
/blofeld/tempo |
val: u7 |
/blofeld/pattern |
val: u7 |
/blofeld/direction |
val: u7 |
/blofeld/sort_order |
val: u7 |
/blofeld/timing_factor |
val: u7 |
/blofeld/velocity |
val: u7 |
/blofeld/pattern_length |
val: u7 |
/blofeld/pattern_reset |
val: u7 |
/blofeld/source |
val: u7 |
/blofeld/destination |
val: u7 |
/blofeld/amount |
val: u7 |
/blofeld/source_a |
val: u7 |
/blofeld/operation |
val: u7 |
/blofeld/source_b |
val: u7 |
/blofeld/constant |
val: u7 |
/blofeld/length |
val: u7 |
/blofeld/diffusion |
val: u7 |
/blofeld/damping |
val: u7 |
/blofeld/a_attack_level |
val: u7 |
/blofeld/amp_env_mode |
val: u7 |
/blofeld/filt_env_mode |
val: u7 |
/blofeld/f_attack_level |
val: u7 |
/blofeld/3_attack_level |
val: u7 |
/blofeld/fx1_type |
val: u7 |
/blofeld/speed |
val: u7 |
/blofeld/depth_drive |
val: u7 |
/blofeld/cntr_ctff_od |
val: u7 |
/blofeld/phase_spacing |
val: u7 |
/blofeld/feedback_s_h |
val: u7 |
/blofeld/polarity |
val: u7 |
/blofeld/post_gain |
val: u7 |
/blofeld/drive_curve |
val: u7 |
/blofeld/chorus_mix |
val: u7 |
/blofeld/fx2_type |
val: u7 |
/blofeld/spread |
val: u7 |
/blofeld/4_attack_level |
val: u7 |
/blofeld/3_env_mode |
val: u7 |
/blofeld/4_env_mode |
val: u7 |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /blofeld/note/on <note> <velocity>, /blofeld/cc/<number> <value>, /blofeld/pitchbend <0-16383>, /blofeld/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.