Nocturne for pond and piano · ChucK + ChuGL
A still pond at dawn that awakens through music.
Plate I — running live in your browser · it plays itself, waking from night to dawn
Resonant Garden is a quiet, painterly pond that listens. Play a piano — into a microphone, from a MIDI keyboard, or a MIDI file — and the garden wakes: notes scatter ripples across the water, the sky warms from night toward dawn, the sun rises, and a small boat drifts and is mirrored in the surface while reeds sway at the near shore.
It is a single program written in ChucK with the ChuGL graphics engine — audio analysis and real-time rendering living in one file, so sound and image are never out of step.
With no sound the pond stays in pre-dawn twilight. As you play, cumulative musical energy advances a “dawn” — the palette warms, stars fade, and the sun climbs.




One shared “feature bus” turns what it hears into what you see — identical whether the notes come from a live microphone, a MIDI keyboard, or a file:
What you see above plays itself in your browser (a WebGPU rendering of the piece). The full work is interactive — a desktop app (macOS / Linux / Windows) that reacts in real time to a live piano, a MIDI keyboard, or a microphone.
1. Install ChucK (the recent releases include the ChuGL graphics engine) from
chuck.stanford.edu,
or on macOS: brew install chuck.
2. Get the project and play — download the zip below, unzip it, then:
# in the unzipped folder cd resonant-garden # play the bundled piece — no mic needed, you'll hear it too ./run.sh midi # or wake it yourself ./run.sh # live microphone (play a piano) ./run.sh keys # a MIDI keyboard, in real time ./run.sh preview # just watch the scene, no input
Needs an unlocked screen (it opens a graphics window). See the included README for tuning a live mic to your room. ChuGL renders natively, so the live piece runs on the desktop, not in a browser.