Beautiful Bleep

6. Signals

All signals are 32-bit floats, one per sample, in virtual volts, chosen so that bridges to CV hardware and VCV Rack map directly.

Type Value Rule Virtual volts
control (0) bipolar −1..+1 or unipolar 0..1 Polarity declared per output ±1 ≈ ±5 V
gate (1) high ≥ 0.5 high ≈ +5 V
trigger (2) one sample of 1.0, otherwise 0.0 Readers that decimate MUST take the maximum of the span
pitch (3) 1.0 per octave 0.0 = C4 = MIDI note 60 1 V/oct
audio (4) reserved MUST NOT be used in v0.1

Types and polarity are advisory: any output may be connected to any input. Values outside the nominal range are allowed (a sum of cables may exceed it); receivers clamp where it matters.

6.1 Applying modulation to a parameter

A receiving plugin SHOULD apply an input to a parameter as an offset in the parameter's normalised range (0..1), inside its DSP:

effective = clamp(knob_normalised + Σ source_i × amount_i, 0, 1)

It MUST NOT move the host-visible parameter (no automation writes, no undo entries). Parameters with exponential mappings (cutoff, rates) are thus modulated in octaves.