Engineers Glossary
The engineer's glossary
Terms used throughout the manual and the GDVP codebase, in plain operator language.
Airlock
The transactional hand-off between the Host/UI thread (Producer) and the audio thread (Consumer). Edits are staged, a new plan is compiled, and an atomic flag swaps it in at a block boundary so re-patching never clicks or crashes. See DAG §2.5.
Block / frame
A fixed chunk of audio processed at once: 64 samples normally, 128 when a node is oversampled. All DSP loops run a fixed number of iterations per block (determinism, CR-003).
CV (Control Value)
A 14-bit integer 0–16383 that expresses a parameter. 8192 is the bipolar centre. The common
currency of knobs, patches and MIDI. See Parameters §6.1.
DAG (Directed Acyclic Graph)
The node-and-wire structure of a patch. Acyclic so a stable execution order exists. See The Node Graph.
EMA (Exponential Moving Average)
The integer smoothing used everywhere (pitch glide, gain, pan, filter mod). A "shift" factor sets
the rate; 0 = instant, larger = slower/smoother.
Kahn's algorithm
The topological sort that orders nodes so each runs after its inputs. Run by the DAG compiler at patch load. See DAG §2.3.
LBM / UBM
Local Bus Matrix (intra-voice routing, 4096 buses) and Universal Bus Matrix (the global fabric, 256 buses). The "elastic" two-tier routing that lets dense patches avoid bus starvation.
Master domain / Global EFX bus
A single monophonic processing chain on the summed output of all voices — where reverb/delay
belong. Flagged GDVP_NODE_FLAG_MASTER_DOMAIN. See Effects.
MIS (MIDI Implementation Schema)
GDVP's machine-readable MIDI map; v0.9.1 lives in gdvp/config/gdvp_canonical_map.json and
gdvp/docs/schema/mis/. See MIDI §8.4.
OSAC (Oversampling Accuracy Correction)
Using mathematically exact coefficient LUTs for the active rate (64 vs 128) instead of approximating by halving — notably in the filter. Keeps tuning correct when oversampled.
Part
One of 16 independent instruments, mapped 1:1 to a MIDI channel. Has its own patch and voice mode. See Concepts §1.1.
PPQN
Pulses Per Quarter Note — the sequencer clock resolution. GDVP runs at 96 PPQN. Drives the arpeggiator and tempo sync.
Q16.16
The engine's fixed-point number: a signed 32-bit value with 16 integer and 16 fractional bits. Gives sub-unit precision for smooth glides/sweeps without floating point. See Concepts §1.2.
SPSC (Single-Producer Single-Consumer)
The lock-free queue type carrying events/parameters from the Host thread to the audio thread. Part of the Airlock. See Concepts §1.4.
Staging pool
The Host-side mirror of a Part's nodes where parameter edits land before being atomically consumed by the audio thread. The base/macro half of the bifurcated model.
Tick pulse mask
A 64-bit value (one bit per sample-frame) marking which frames land on a transport tick. Computed once per block and passed by value to every node for sample-accurate sync. See Performance §3.8.
TPT-SVF / ZDF
Topology-Preserving Transform State-Variable Filter with Zero-Delay Feedback — GDVP's unconditionally stable filter.
VAM (Voice Allocation Manager)
The subsystem that turns notes into voices: modes, stealing, unison, chords, arp, the EFX bus.
gdvp_voice_manager.c/.h. See Performance.
Voice
A single sounding instance of a patch, with its own node copies and state. 128 in the global pool; up to 16 per Part. See Concepts §1.1.