Most audio-reactive visuals work the same way: sound changes a parameter, the image responds, the loop continues. Inter:ACTION starts from a different premise. Rather than a visualizer that reacts to music, this is a simulated organism whose physiology you rewrite with sound.
The organism is modelled on Physarum polycephalum, slime mould, a brainless single-celled organism that solves spatial optimisation problems through chemical signalling alone. Thousands of virtual agents follow and deposit a chemical trail. The trail diffuses and decays. The agents steer toward it. From those three rules, a living network self-assembles. Sound doesn't make it move faster or glow brighter. It changes the underlying biology: perception radius, turn rate, trail persistence, species population ratios. You are editing the organism's genome in real time.
Physarum builds efficient transport networks by reinforcing paths that carry the most flow and dissolving those that don't. In 2010, a team at Hokkaido University showed that a slime mould colony, offered food sources placed at the locations of Tokyo's major stations, spontaneously grew a network nearly identical to the actual Tokyo Metro, routing, redundancy, and all. The biology isn't decorative. It's a genuine computation.
Jeff Jones formalised the digital version of this algorithm in his 2010 paper Characteristics of Pattern Formation and Evolution in Approximations of Physarum Transport Networks. Each agent: senses three points ahead, turns toward the strongest chemical signal, deposits trail at its current position. Trail map: diffuses outward each frame, decays by a fixed factor. That's the complete rule set, two shader passes, thousands of agents, emergent complexity.
Artistic precedents include Sage Jenson's work using Physarum simulation as a generative texture system, Bileam Tschepe's TouchDesigner implementations (which provide the most direct technical foundation for this project), and Ryoji Ikeda's data-driven audiovisual systems, particularly the way Ikeda treats signal not as decoration but as the primary substance of the work. The lineage also includes systems art broadly: the idea that authorship consists of designing rules, not outcomes.
The simulation runs entirely on the GPU as a feedback loop inside TouchDesigner. Two texture buffers alternate each frame: the agent state texture (position and angle for each agent, encoded as pixel values) and the trail map (chemical concentration across the canvas).
Pass 1, Agent Update: A GLSL TOP reads each agent's current position and heading, samples the trail map at three forward-offset sense points, rotates the agent toward the strongest signal, moves it forward, and writes the new state back. All agents process in parallel on the GPU.
Pass 2, Trail Deposit, Diffuse, Decay: A second GLSL TOP reads the updated agent positions, stamps trail at each location, applies a box-blur for diffusion, and multiplies by a decay constant. The result feeds back into itself next frame.
Audio arrives via CHOP pipeline: Audiofile or Audiodevice IN → Audio Spectrum (FFT) → Math (normalise 0–1) → Fan Out into frequency bands (sub, low-mid, high-mid, air) → Lag for temporal smoothing → fed as uniforms into the GLSL passes.
| Uniform | Audio source | Range | Effect |
|---|---|---|---|
uSenseAngle |
Sub bass RMS | 15°–75° | Widens / narrows agent perception cone |
uRotateAngle |
Low-mid energy | 10°–60° | How sharply agents steer, tight channels vs. diffuse spread |
uSenseOffset |
Mid frequency | 4–20 px | Look-ahead distance, long tendrils vs. dense local nets |
uStepSize |
Kick transient | 0.5–3 px | Agent speed, pulse of motion on each hit |
uDecayRate |
High-mid | 0.94–0.99 | Trail persistence, memory of the system |
uDepositAmount |
Overall RMS | 0.05–0.5 | Trail density, how much signal each agent lays down |
uSpeciesRatio |
Spectral centroid | 0–1 | Balance between two agent species with different behaviours |
The trail map is a single-channel float texture, raw chemical concentration. Three colour strategies map this to the final image:
LUT: The concentration value indexes into a 1D lookup texture (gradient strip). Swapping the LUT texture changes the entire palette while leaving the simulation untouched. Deep black to bioluminescent cyan-green for the organism-at-rest state.
HSV rotation: Hue is driven by a slow oscillator plus a scaled contribution from the spectral centroid uniform. The organism shifts colour over time, inflecting with the tonal centre of the music.
Multi-channel RGB: Three frequency bands (sub, mid, high) each modulate one colour channel independently. Low end fills the red channel, mids the green, highs the blue. The image becomes a direct chromatic map of the frequency spectrum.
Post-processing: Bloom (Blur TOP blended additively at low opacity) for the bioluminescent glow, a subtle Lens TOP for chromatic aberration at high energy moments, and a slight vignette to keep the edges from competing with the network core.
Week 1: Baseline simulation, Physarum agent system running in TouchDesigner following Bileam Tschepe's network structure. Tuning spawn rates, sense parameters, and decay until the emergent network behaviour is stable and visually legible.
Week 2: Audio pipeline, FFT analysis, band separation, smoothing, and initial uniform mapping. Learning which parameters respond most meaningfully to which frequency ranges.
Week 3: Visual design pass, colour system, post-processing, and performance optimisation for live use (stable 60fps at 1920×1080).
Week 4: Performance preparation, presets for different musical contexts, safety limits on parameter ranges, and documentation of the system.