Skip to content

Elektron Analog Heat +FX: MIDI CC, NRPN and OSC map

The Elektron Analog Heat +FX as named OSC addresses — 109 CC, 109 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Elektron Analog Heat +FX
Vendor Elektron
OSC prefix /analog_heat_fx
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/elektron/analog_heat_fx.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/elektron/analog_heat_fx.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /analog_heat_fx/heat_character/character_circuit 3

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as analog_heat_fx: ask “what can the Elektron Analog Heat +FX do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (109)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/analog_heat_fx/heat_character/character_circuit 108 1 / 108 0–7 continuous Heat: Character
/analog_heat_fx/heat_character/character_drive 109 / 37 1 / 109 0–16383 continuous Heat: Character
/analog_heat_fx/heat_character/character_level 110 / 39 1 / 110 0–16383 continuous Heat: Character
/analog_heat_fx/heat_character/character_mix 111 / 40 1 / 111 0–16383 continuous Heat: Character
/analog_heat_fx/heat_eq/eq_low 28 / 41 1 / 28 0–16383 continuous Heat: EQ
/analog_heat_fx/heat_eq/eq_high 29 / 42 1 / 29 0–16383 continuous Heat: EQ
/analog_heat_fx/heat_filter/filter_mode 30 1 / 30 0–13 continuous Heat: Filter
/analog_heat_fx/heat_filter/filter_frequency 22 / 43 1 / 22 0–16383 continuous Heat: Filter
/analog_heat_fx/heat_filter/filter_frequency_pan 26 / 47 1 / 26 0–16383 continuous Heat: Filter
/analog_heat_fx/heat_filter/filter_resonance 23 / 44 1 / 23 0–16383 continuous Heat: Filter
/analog_heat_fx/heat_filter/filter_dirt 27 1 / 27 0–127 continuous Heat: Filter
/analog_heat_fx/heat_filter/filter_envelope 24 / 45 1 / 24 0–16383 continuous Heat: Filter
/analog_heat_fx/heat_filter/filter_lfo1 25 / 46 1 / 25 0–16383 continuous Heat: Filter
/analog_heat_fx/envelope/envelope_mode 17 1 / 17 0–125 continuous Envelope
/analog_heat_fx/envelope/envelope_attack 13 1 / 13 0–127 continuous Envelope
/analog_heat_fx/envelope/envelope_release 14 1 / 14 0–127 continuous Envelope
/analog_heat_fx/envelope/envelope_trig_level 12 / 32 1 / 12 0–16383 continuous Envelope
/analog_heat_fx/envelope/envelope_base 15 1 / 15 0–127 continuous Envelope
/analog_heat_fx/envelope/envelope_width 16 1 / 16 0–127 continuous Envelope
/analog_heat_fx/envelope/envelope_destination 18 1 / 18 0–112 continuous Envelope
/analog_heat_fx/envelope/envelope_depth 19 / 33 1 / 19 0–16383 continuous Envelope
/analog_heat_fx/envelope/envelope_destination_2 20 1 / 20 0–112 continuous Envelope
/analog_heat_fx/envelope/envelope_depth_2 21 1 / 21 0–127 continuous Envelope
/analog_heat_fx/lfos/lfo1_mode 70 1 / 70 0–4 continuous LFOs
/analog_heat_fx/lfos/lfo1_speed 67 1 / 67 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo1_multiplier 68 1 / 68 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo1_fade 69 1 / 69 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo1_waveform 66 1 / 66 0–6 continuous LFOs
/analog_heat_fx/lfos/lfo1_start_phase 71 1 / 71 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo1_destination 72 1 / 72 0–112 continuous LFOs
/analog_heat_fx/lfos/lfo1_depth 73 / 34 1 / 73 0–16383 continuous LFOs
/analog_heat_fx/lfos/lfo1_destination_2 74 1 / 74 0–112 continuous LFOs
/analog_heat_fx/lfos/lfo1_depth_2 75 1 / 75 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo2_mode 80 1 / 80 0–4 continuous LFOs
/analog_heat_fx/lfos/lfo2_speed 77 1 / 77 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo2_multiplier 78 1 / 78 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo2_fade 79 1 / 79 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo2_waveform 76 1 / 76 0–6 continuous LFOs
/analog_heat_fx/lfos/lfo2_start_phase 81 1 / 81 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo2_destination 82 1 / 82 0–112 continuous LFOs
/analog_heat_fx/lfos/lfo2_depth 83 / 35 1 / 83 0–16383 continuous LFOs
/analog_heat_fx/lfos/lfo2_destination_2 84 1 / 84 0–112 continuous LFOs
/analog_heat_fx/lfos/lfo2_depth_2 85 1 / 85 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo3_mode 90 1 / 90 0–4 continuous LFOs
/analog_heat_fx/lfos/lfo3_speed 87 1 / 87 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo3_multiplier 88 1 / 88 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo3_fade 89 1 / 89 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo3_waveform 86 1 / 86 0–6 continuous LFOs
/analog_heat_fx/lfos/lfo3_start_phase 91 1 / 91 0–127 continuous LFOs
/analog_heat_fx/lfos/lfo3_destination 92 1 / 92 0–112 continuous LFOs
/analog_heat_fx/lfos/lfo3_depth 93 / 36 1 / 93 0–16383 continuous LFOs
/analog_heat_fx/lfos/lfo3_destination_2 94 1 / 94 0–112 continuous LFOs
/analog_heat_fx/lfos/lfo3_depth_2 95 1 / 95 0–127 continuous LFOs
/analog_heat_fx/controls/cv_a_destination 100 1 / 102 0–112 continuous Controls
/analog_heat_fx/controls/cv_a_depth 101 1 / 103 0–127 continuous Controls
/analog_heat_fx/controls/cv_b_destination 104 1 / 106 0–112 continuous Controls
/analog_heat_fx/controls/cv_b_depth 105 1 / 107 0–127 continuous Controls
/analog_heat_fx/controls/expr_a_destination 102 1 / 104 0–112 continuous Controls
/analog_heat_fx/controls/expr_a_depth 103 1 / 105 0–127 continuous Controls
/analog_heat_fx/controls/expr_b_destination 106 1 / 108 0–112 continuous Controls
/analog_heat_fx/controls/expr_b_depth 107 1 / 109 0–127 continuous Controls
/analog_heat_fx/gate/gate_threshold 113 1 / 113 0–127 continuous Gate
/analog_heat_fx/gate/gate_hold 114 1 / 114 0–127 continuous Gate
/analog_heat_fx/gate/gate_release 115 1 / 115 0–127 continuous Gate
/analog_heat_fx/gate/gate_range 116 1 / 116 0–127 continuous Gate
/analog_heat_fx/preset/preset_volume 112 1 / 112 0–127 continuous Preset
/analog_heat_fx/fx_bits/bits_srr 88 2 / 88 0–127 continuous FX: Bits
/analog_heat_fx/fx_bits/bits_br 89 2 / 89 0–127 continuous FX: Bits
/analog_heat_fx/fx_bits/bits_filter 90 2 / 90 0–127 continuous FX: Bits
/analog_heat_fx/fx_bits/bits_mix 91 2 / 91 0–127 continuous FX: Bits
/analog_heat_fx/fx_chorus/chorus_depth 102 / 36 2 / 102 0–16383 continuous FX: Chorus
/analog_heat_fx/fx_chorus/chorus_speed 103 / 37 2 / 103 0–16383 continuous FX: Chorus
/analog_heat_fx/fx_chorus/chorus_width 105 2 / 105 0–127 continuous FX: Chorus
/analog_heat_fx/fx_chorus/chorus_mix 106 2 / 106 0–127 continuous FX: Chorus
/analog_heat_fx/fx_delay/delay_time 107 / 39 2 / 107 0–16383 continuous FX: Delay
/analog_heat_fx/fx_delay/delay_pingpong 108 2 / 108 0–1 switch FX: Delay
/analog_heat_fx/fx_delay/delay_width 109 2 / 109 0–127 continuous FX: Delay
/analog_heat_fx/fx_delay/delay_feedback 110 2 / 110 0–127 continuous FX: Delay
/analog_heat_fx/fx_delay/delay_hpf 111 / 40 2 / 111 0–16383 continuous FX: Delay
/analog_heat_fx/fx_delay/delay_lpf 112 / 41 2 / 112 0–16383 continuous FX: Delay
/analog_heat_fx/fx_delay/delay_amount 113 2 / 113 0–127 continuous FX: Delay
/analog_heat_fx/fx_delay/delay_mode 114 2 / 114 0–2 continuous FX: Delay
/analog_heat_fx/fx_reverb/reverb_pre_delay 12 2 / 12 0–127 continuous FX: Reverb
/analog_heat_fx/fx_reverb/reverb_decay_time 13 2 / 13 0–127 continuous FX: Reverb
/analog_heat_fx/fx_reverb/reverb_frequency 14 2 / 14 0–127 continuous FX: Reverb
/analog_heat_fx/fx_reverb/reverb_gain 15 2 / 15 0–127 continuous FX: Reverb
/analog_heat_fx/fx_reverb/reverb_hpf 16 2 / 16 0–127 continuous FX: Reverb
/analog_heat_fx/fx_reverb/reverb_lpf 17 2 / 17 0–127 continuous FX: Reverb
/analog_heat_fx/fx_reverb/reverb_amount 18 2 / 18 0–127 continuous FX: Reverb
/analog_heat_fx/fx_reverb/reverb_mode 19 2 / 19 0–2 continuous FX: Reverb
/analog_heat_fx/fx_compressor/compressor_threshold 20 2 / 20 0–127 continuous FX: Compressor
/analog_heat_fx/fx_compressor/compressor_attack 21 2 / 21 0–127 continuous FX: Compressor
/analog_heat_fx/fx_compressor/compressor_release 22 2 / 22 0–127 continuous FX: Compressor
/analog_heat_fx/fx_compressor/compressor_makeup_gain 23 2 / 23 0–127 continuous FX: Compressor
/analog_heat_fx/fx_compressor/compressor_ratio 24 2 / 24 0–7 continuous FX: Compressor
/analog_heat_fx/fx_compressor/compressor_s_chain_filter 26 2 / 26 0–127 continuous FX: Compressor
/analog_heat_fx/fx_compressor/compressor_mix 27 2 / 27 0–127 continuous FX: Compressor
/analog_heat_fx/fx_warble/warble_mix 28 2 / 28 0–127 continuous FX: Warble
/analog_heat_fx/fx_warble/warble_depth 29 2 / 29 0–127 continuous FX: Warble
/analog_heat_fx/fx_warble/warble_speed 30 2 / 30 0–127 continuous FX: Warble
/analog_heat_fx/fx_warble/warble_base 31 2 / 31 0–127 continuous FX: Warble
/analog_heat_fx/fx_warble/warble_width 32 2 / 32 0–127 continuous FX: Warble
/analog_heat_fx/fx_warble/warble_stereo 33 2 / 33 0–127 continuous FX: Warble
/analog_heat_fx/fx_warble/warble_noise_level 34 2 / 34 0–127 continuous FX: Warble
/analog_heat_fx/fx_warble/warble_noise_hpf 35 2 / 35 0–127 continuous FX: Warble
/analog_heat_fx/fx_bass_focus/bass_focus_xfreq 115 2 / 115 0–127 continuous FX: Bass Focus
/analog_heat_fx/fx_bass_focus/bass_focus_hp_level 116 2 / 116 0–127 continuous FX: Bass Focus
/analog_heat_fx/fx_bass_focus/bass_focus_lp_level 117 2 / 117 0–127 continuous FX: Bass Focus
/analog_heat_fx/fx_bass_focus/bass_focus_bass 118 2 / 118 0–1 switch FX: Bass Focus

Performance MIDI

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