Effects
5 · Effects & the Global EFX Bus
← Node Reference · Manual index · Next: Parameters →
GDVP has two distinct places effects can live, and one of them is largely dormant on the current build. This chapter explains both honestly so you know what actually processes sound.
5.1 Two domains: per-voice vs. master
- Per-voice (local domain). Nodes inside a patch run once per sounding voice. Filtering, amplitude, panning and (designed) per-voice GFX happen here. Ten notes = ten independent copies.
- Master domain (Global EFX bus). A single, monophonic chain that processes the summed
output of all voices. This is the right place for reverb and delay — you want one shared room,
not one per note. The VAM reserves a dedicated EFX node pool for it (
efx_pool[8],efx_active_plan, with its own SPSC staging), flaggedGDVP_NODE_FLAG_MASTER_DOMAIN. Source:gdvp_vam_elastic_tingdvp_voice_manager.h.
The design intent: spatial acoustics (reverb/delay/diffusion) on the master bus; tone-shaping (filter, saturation) per voice.
5.2 The GFX family (active effects)
The GFX nodes are the in-graph effects engine — delay, FDN reverb, all-pass phaser/diffuser, nonlinear gain (sat/fold/µ-law/ring), envelope-follower dynamics, and a universal parameter modulator. They're built on a small set of reusable primitives ("G×T decomposition") so many named effects share a few DSP cells.
✅ Status: the GFX family is fully wired
Every GFX slot in
gdvp_node_processors[]andgdvp_node_updaters[]is now populated. The voice executor runs them on the Global EFX Bus (master domain, post-mix, monophonic) so spatial acoustics and global modulation are rendered as designed. Themaster_busnode type remains reserved/inactive; master fold-down and Global EFX scheduling are handled by thegdvp_dsp_iron_ceilingpipeline.Full per-node design detail is on the GFX page.
5.3 What actually shapes sound today
Working, audible processing on the current build:
| Effect | Where | How |
|---|---|---|
| Saturation / soft-clip | VCA | tanh LUT on the amp output (saturation_enabled) |
| Filter drive | Filter | pre-gain into the filter saturation stage |
| Filter sweeps / wah | LFO or Envelope → filter port 1 | modulate cutoff |
| Vibrato / PWM | LFO → oscillator | modulate pitch / pulse width |
| Tremolo / auto-pan | LFO → VCA / Panner | modulate gain / pan |
| Noise & texture | Exciter | colored noise, dust, S&H |
| Strum / echo (voices) | DELAY voice mode | staggered-onset voices — not a delay line, but it works |
| Stereo width (per voice) | Panner | constant-power placement |
So while the dedicated reverb/delay/phaser nodes are dormant, you can still build expressive, moving, saturated, stereo patches today using modulation routing and the VCA/filter nonlinearities.
← Node Reference · Manual index · Next: Parameters →