building a dual synchronized dag engine: audio dsp and gpu shaders in lockstep
Description and use
Infinite synchronizes audio DSP and GPU shaders in real time, eliminating latency and jitter by using atomic modulation arrays and a shared transport clock.
Problem
Audio and visual pipelines run in separate universes, causing latency and jitter when synchronized via OSC, MIDI clock, or Syphon.
Outcome
Audio and visual outputs are synchronized to sample accuracy without added latency, enabling real‑time multimedia performances.
Workflow
- 1. Master transport clock coordinates tick‑accurate time across both sub‑graphs.
- 2. Audio buffers produce 8‑band FFT analysis and onset peaks, writing into atomic double‑buffered modulation arrays.
- 3. Shader uniforms read directly from these arrays during the render pass, removing frame‑delay buffering.
- 4. Hosted AU and VST3 plugin parameters can be modulated by 3D scene coordinates, JavaScript sketches, or LFO generators.
Evidence
how infinite synchronizes a sample-accurate, pull-based audio graph with a real-time opengl texture pipeline in c++.
audio buffers produce real-time 8-band fft analysis and onset peaks that write into atomic double-buffered modulation arrays.
shader uniforms (glsl) read directly from these modulation arrays during the render pass, eliminating frame-delay buffering.
infinite is open source (mit/gplv3) and runs cross-platform on macos, windows, and linux.
- Record date: 2026-10-17T08:56:04.167Z