Readme
4 · Node Reference
Author: François-Xavier Briollais
Copyright: All rights reserved.
Status: Version 1.4.0 · Active
← Performance & Expression · Manual index · Next: Effects →
Every sound in GDVP is built from nodes wired into a graph. This section documents each node type: what it does, every parameter, its range, and — critically — whether it is live in the current build.
Status at a glance
The engine dispatches node processing through a table (gdvp_node_processors[] in
gdvp_dsp_dispatch.c). A node type with a NULL entry is silently skipped by the voice
executor — it can appear in a patch and in the editor, but it produces no audio. This table is
the single source of truth below; it does not always match the optimistic status comments
in gdvp_nodes.h.
| Node | Enum | Status | Page |
|---|---|---|---|
| Oscillator | GDVP_NODE_OSCILLATOR |
✅ Active | oscillator.md |
| Filter | GDVP_NODE_FILTER |
✅ Active | filter.md |
| Envelope | GDVP_NODE_ENVELOPE |
✅ Active | envelope.md |
| LFO | GDVP_NODE_LFO |
✅ Active | lfo.md |
| VCA | GDVP_NODE_VCA |
✅ Active | vca.md |
| Panner | GDVP_NODE_PANNER |
✅ Active | panner.md |
| Mixer | GDVP_NODE_MIXER |
✅ Active (usually auto-injected) | mixer.md |
| Exciter (entropy tap) | GDVP_NODE_EXCITER |
✅ Active | exciter.md |
| Upsampler | GDVP_NODE_UPSAMPLER |
✅ Active (auto-injected) | oversampling.md |
| Downsampler | GDVP_NODE_DOWNSAMPLER |
✅ Active (auto-injected) | oversampling.md |
| GFX Delay | GDVP_NODE_GFX_DELAY |
✅ Active (master-domain) | gfx.md#delay |
| GFX Gain | GDVP_NODE_GFX_GAIN |
✅ Active (master-domain) | gfx.md#gain |
| GFX Env detector | GDVP_NODE_GFX_ENV |
✅ Active (master-domain) | gfx.md#env |
| GFX All-pass | GDVP_NODE_GFX_APF |
✅ Active (master-domain) | gfx.md#apf |
| GFX FDN reverb | GDVP_NODE_GFX_FDN |
✅ Active (master-domain) | gfx.md#fdn |
| GFX Modulator | GDVP_NODE_GFX_MOD |
✅ Active (master-domain) | gfx.md#mod |
| Master Bus | GDVP_NODE_MASTER_BUS |
⛔ Inactive (NULL) | master-bus.md |
| ROM Reader | GDVP_NODE_ROM_READER |
⛔ Inactive (NULL) | rom-reader.md |
| Feedback | GDVP_NODE_FEEDBACK |
⛔ Inactive (NULL) | feedback.md |
| Macro Delay | GDVP_NODE_MACRO_DELAY |
⛔ Inactive (NULL) | macro-delay.md |
| FDN (legacy slot) | GDVP_NODE_FDN |
⛔ Inactive (NULL) | fdn-legacy.md |
Reading the GFX rows. The GFX-family DSP source files exist (
gdvp_dsp_gfx_*.c) and all GFX nodes are now fully implemented with registered processors and updaters in the dispatch tables. They run on the Global EFX bus (master-domain, post-mix, monophonic) for spatial acoustics and global modulation. See Effects for details.
How to read a node page
Each page follows the same layout:
- What it is — one paragraph, the role in a patch.
- Signal & ports — what feeds in (port 0 audio / port 1 control) and what comes out.
- Parameters — a table of every operator-facing parameter with type, range and meaning.
- Behaviour notes — the DSP details that change how it sounds.
- Source — the files to check the claims against.
Parameter ranges use the conventions in §6: 14-bit CV 0–16383 unless
noted, 8192 = bipolar centre.
The active signal-path nodes
These are the nodes you actually build voices from today:
- Oscillator — the tone generator. Six waveforms, linear FM, PWM, per-read detune, intrinsic glide.
- Filter — TPT state-variable filter, LP/BP/HP/Notch, cascaded 6–24 dB/oct, optional FM.
- Envelope — five-stage ADSR, four curve shapes per stage, velocity, legato, click-free release.
- LFO — multi-timescale modulator (meso/micro/macro) with chaos drift and key-sync.
- VCA — the amplifier/gate, with optional saturation.
- Mixer — multi-input summing bus (up to 6 inputs); usually inserted for you.
- Panner — constant-power stereo placement.
- Exciter — entropy tap: colored noise / particle dust / sample-and-hold sources.
- Oversamplers — band-limited 2× up/down conversion at oversampled-node boundaries.
- GFX Effects — master-domain effects: delay, gain, envelope detector, all-pass, FDN reverb, modulator.
← Performance & Expression · Manual index · Next: Effects →
License
Copyright François-Xavier Briollais. All rights reserved.
See ../README.md for the parent manual overview.