Written from devices/softube/heartbeat.electra-community-v01.fw-unknown.jsonEdit on GitHubJSON

Softube Heartbeat MIDI CC chart, NRPN and OSC map

The Softube Heartbeat MIDI implementation: 90 CC, each named, for Claude (MCP), SuperCollider or any OSC app.

  • sourceElectra One preset
  • real unitnot yet checked

Not checked on a real Softube Heartbeat yet. Own one? Load a sound or send a control, and tell us whether it worked.

Maker
Softube
Version
per Electra preset
Source
Electra One preset
OSC prefix
/heartbeat

Use 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/softube/heartbeat.electra-community-v01.fw-unknown.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /heartbeat/decay 63

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

MIDI controls

90 controls, each with its number, its range and the name to send
Control CC Range Name to send
Decay 3 0–127 /heartbeat/decay
Attack 9 0–127 /heartbeat/attack
Attack type 14 0–127 /heartbeat/attack_type
Decay 41 0–127 /heartbeat/decay
Attack 46 0–127 /heartbeat/attack
Eq 15 0–127 /heartbeat/eq
Pitch 20 0–127 /heartbeat/pitch
Bend 31 0–127 /heartbeat/bend
Harmonics 35 0–127 /heartbeat/harmonics
Eq 47 0–127 /heartbeat/eq
Pitch 52 0–127 /heartbeat/pitch
Wave synth 53 0–127 /heartbeat/wave_synth
Type 54 0–127 /heartbeat/type
Pitch 55 0–127 /heartbeat/pitch
Decay 56 0–127 /heartbeat/decay
Harmonics 61 0–127 /heartbeat/harmonics
Eq 57 0–127 /heartbeat/eq
Type 58 0–127 /heartbeat/type
Pitch 59 0–127 /heartbeat/pitch
Decay 60 0–127 /heartbeat/decay
Velocity 62 0–127 /heartbeat/velocity
To pitch 63 0–127 /heartbeat/to_pitch
Wave synth 85 0–127 /heartbeat/wave_synth
Type 86 0–127 /heartbeat/type
Pitch 87 0–127 /heartbeat/pitch
Decay 88 0–127 /heartbeat/decay
To attack 104 0–127 /heartbeat/to_attack
To decay 105 0–127 /heartbeat/to_decay
Eq 89 0–127 /heartbeat/eq
Type 90 0–127 /heartbeat/type
Pitch 102 0–127 /heartbeat/pitch
Decay 103 0–127 /heartbeat/decay
Time gate 106 0–127 /heartbeat/time_gate
Wave synth 107 0–127 /heartbeat/wave_synth
Type 108 0–127 /heartbeat/type
Pitch 109 0–127 /heartbeat/pitch
Decay 115 0–127 /heartbeat/decay
Ring 116 0–127 /heartbeat/ring
Eq 111 0–127 /heartbeat/eq
Type 112 0–127 /heartbeat/type
Pitch 113 0–127 /heartbeat/pitch
Decay 114 0–127 /heartbeat/decay
Eq 117 0–127 /heartbeat/eq
Pitch 118 0–127 /heartbeat/pitch
Mode 119 0–127 /heartbeat/mode
Decay 3 0–127 /heartbeat/decay
Pitch 9 0–127 /heartbeat/pitch
Range 14 0–127 /heartbeat/range
Eq 15 0–127 /heartbeat/eq
Tone 20 0–127 /heartbeat/tone
Time 31 0–127 /heartbeat/time
Mode 41 0–127 /heartbeat/mode
Decay 46 0–127 /heartbeat/decay
Pitch 47 0–127 /heartbeat/pitch
Range 52 0–127 /heartbeat/range
Eq 53 0–127 /heartbeat/eq
Tone 54 0–127 /heartbeat/tone
Time 55 0–127 /heartbeat/time
Drum 57 0–127 /heartbeat/drum
Layer fill 58 0–127 /heartbeat/layer_fill
Drum 59 0–127 /heartbeat/drum
Layer fill 60 0–127 /heartbeat/layer_fill
Drum 61 0–127 /heartbeat/drum
Layer fill 62 0–127 /heartbeat/layer_fill
Drum 118 0–127 /heartbeat/drum
Chaos 1 113 0–127 /heartbeat/chaos_1
Drum 63 0–127 /heartbeat/drum
Layer fill 85 0–127 /heartbeat/layer_fill
Drum 86 0–127 /heartbeat/drum
Layer fill 87 0–127 /heartbeat/layer_fill
Drum 88 0–127 /heartbeat/drum
Layer fill 89 0–127 /heartbeat/layer_fill
Drum 119 0–127 /heartbeat/drum
Chaos 2 114 0–127 /heartbeat/chaos_2
Alm on off 117 0–127 /heartbeat/alm_on_off
Drum 90 0–127 /heartbeat/drum
Layer fill 102 0–127 /heartbeat/layer_fill
Drum 103 0–127 /heartbeat/drum
Layer fill 104 0–127 /heartbeat/layer_fill
Drum 105 0–127 /heartbeat/drum
Layer fill 106 0–127 /heartbeat/layer_fill
Drum 3 0–127 /heartbeat/drum
Chaos 3 115 0–127 /heartbeat/chaos_3
Layer fill 108 0–127 /heartbeat/layer_fill
Drum 109 0–127 /heartbeat/drum
Layer fill 110 0–127 /heartbeat/layer_fill
Drum 111 0–127 /heartbeat/drum
Layer fill 112 0–127 /heartbeat/layer_fill
Drum 9 0–127 /heartbeat/drum
Chaos 4 116 0–127 /heartbeat/chaos_4

Performance MIDI

Notes, pitch bend and any CC are also available: /heartbeat/note/on <note> <velocity>, /heartbeat/cc/<number> <value>, /heartbeat/pitchbend <0-16383>, /heartbeat/program_change <n>.

JSON

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.

Frequently asked questions

How many parameters of the Softube Heartbeat can be controlled over MIDI?

SynthHub's map of the Softube Heartbeat lists 90 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 Softube Heartbeat?

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