fireflies
A biomimetic generative instrument that recreates firefly synchronization — a swarm of coupled oscillators that pull each other into phase, sonified live so you can hear the swarm lock into time.
01visuals
A biomimetic generative instrument that recreates the mechanism behind synchronous fireflies. A population of coupled oscillators, each flashing on its own, gradually pulls itself into a shared rhythm — and the synchronization is sonified so you can hear the swarm lock into time. (The interactive piece above is the instrument itself — turn on sound and raise the coupling.)
approach
Synchronous fireflies are one of the cleanest examples of emergent coupling in nature: thousands of weakly-coupled oscillators converging to a shared rhythm with no conductor. Fireflies models that directly. Each agent is an oscillator that flashes on its own cycle; when a neighbour flashes, it nudges the others' phase. From initial randomness, the population self-organizes into collective, pulsing unison.
The model follows the coupled-oscillator (elliptic-burster) formulation of McCrea, Ermentrout & Rubin (2022) — not a generic stand-in, but the dynamics that actually produce the phenomenon. Every flash is mapped to a note, so the emergence is audible: scattered chirps at the start, a chord as the field locks.
process
The instrument exists across several runtimes built around the same model:
- Web — a real-time canvas simulation with WebMIDI (the demo on this page).
- Desktop — a Python reference implementation.
- Hardware — an ESP32-S3 device with an on-board display.
- Plugin — a JUCE / VST build for the studio.
Flashes drive MIDI: a melodic voice keyed to position, plus separate onset and peak channels that mark the collective bursts. The same logic that lights a firefly plays a note.
credits
- Tools: vanilla JS + Canvas + WebMIDI, Python, ESP32-S3 firmware, JUCE / VST.
- Model: McCrea, Ermentrout & Rubin (2022), coupled-oscillator synchronization.