ERDNBT/
Back to all projects
Creative Coding•May 2025

Generative Audio-Reactive Landscapes in TouchDesigner & vvvv

Real-time GPU shader pipelines, OSC protocol control, and physical spatial installations.

Blending computational rigor with sensory experiences: this project explores real-time audiovisual generative feedback loops built in TouchDesigner and vvvv gamma.

Real-Time Node Pipeline

Fast Fourier Transform (FFT) analysis decomposes incoming audio into logarithmic frequency bands. These signals modulate coordinate offsets inside custom GLSL vertex shaders in real time at 60 FPS:

// GLSL Vertex Displacement
uniform float uTime;
uniform float uBassIntensity;
in vec3 position;
out vec3 vPosition;

void main() {
    vec3 pos = position;
    float displacement = sin(pos.x * 4.0 + uTime) * cos(pos.z * 4.0 + uTime * 0.8);
    pos.y += displacement * (0.2 + uBassIntensity * 0.8);
    vPosition = pos;
    gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);
}

Interactive Real-Time Pipeline Showcase

Below is the live capture player demonstrating the feedback loop:

Realtime Particle Feedback LoopTouchDesigner · 60 FPS
Real-time Generative Pipeline

Interactive node network rendered with compute shaders and OSC feedback loop.

Real-time GPU compute particles reacting to low-frequency audio transients via OSC.60 FPS · GPU Accelerated

Mathematical Foundations of the Wave Dispersion

The surface disturbance is governed by the 2D wave equation with localized damping factors:

∂2ψ∂t2=c2∇2ψ−γ∂ψ∂t\frac{\partial^2 \psi}{\partial t^2} = c^2 \nabla^2 \psi - \gamma \frac{\partial \psi}{\partial t}

Where ∇2=∂2∂x2+∂2∂y2\nabla^2 = \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2} is the Laplace operator computed on a high-density vertex grid.