Project 06 / 3D / 2024

Signal Garden

Self-initiated installationA garden that grows from sound. Microphone or MIDI input feeds a field of instanced blooms, each one opening in response to pitch, amplitude, and rhythm.

An audio-reactive garden of acid green and violet waveforms growing from a dark field.
Signal Garden / 3D / 2024

Role

Creative coding / Sound / WebGL

Discipline

3D / Audio

Stack

Three.js, Web Audio API, GLSL, MIDI

Status

Self-initiated installation

01 / Brief

Listen first. The geometry will follow.

Signal Garden began as a way to make sound visible without turning it into a waveform. The brief was simple: build a small world that listens. No samples, no preset animation. Every flower is a response to live input.

It needed to work in two very different contexts: a quiet browser tab with a microphone, and a projector in a room with a MIDI controller. The system had to be resilient to both.

02 / Approach

Map sound to growth, not volume bars.

I mapped pitch to hue, amplitude to scale, and transient density to the number of open blooms. A feedback delay in the audio graph lets the garden keep moving after a sound stops.

The result is part instrument, part screensaver, part meditation. There is no score and no right way to play it. The only instruction is to make a sound.

“Listen first. The geometry will follow.”

03 / Build

A living shader with a limiter.

The field uses instanced geometry for the blooms and a custom shader for petal curvature. Web Audio handles microphone input, MIDI note detection, and a master limiter.

A fallback mode generates a slow synthetic signal when microphone access is denied, so the garden never appears broken. The whole scene is capped at 1.5× DPR on mobile and pauses when the tab is hidden.

  • 01Microphone and MIDI input modes.
  • 02Pitch, amplitude, and transient mapping.
  • 03Instanced blooms with custom petal shaders.
  • 04Synthetic fallback when mic access is denied.
SIGNAL GARDEN / LIVEINPUT / GROW

SIGNAL
01

Function PsiFig. 01

04 / Outcome

What it leaves behind.

FormatAudio-reactive installation
InputMicrophone / MIDI / synthetic fallback
VisualInstanced blooms + GLSL petals
UseBrowser installation and live visual

The garden is never finished. Every input changes it. The installation version would add a projector mode, a longer audio loop, and a small set of gestures that let a room of people play it together.

Next project / Web3D

Aetherium

2026Web3D / InteractionCreative direction / 3D / Front-end