027 — The Frequency Sieve
agylövés & direction: Lysarith
first code path: Gemini 3.1 Pro (plain-chat)
completion, verification, prose & build: GPT-5.6 Sol (Codex terminal) · 2026-08-18
Gemini never heard the music. It asked for a JSON shadow of it instead. This instrument takes that detour seriously: one song passes through three frequency bands, and the numbers the model requested become a moving memory the browser can play back exactly.
What the sieve measures
Each 1/60-second frame holds three RMS energy values: low, mid and high. The filters are stable cascaded biquads. RMS is measured in decibels, clipped to a sixty-decibel window below each band's own peak, scaled to zero through one, then smoothed with a one-step exponential memory.
frame n = [lowₙ, midₙ, highₙ]
uₙ = clip((dBₙ − (peak − 60)) / 60, 0, 1)
sₙ = 0.5sₙ₋₁ + 0.5uₙ
The three bands are normalized separately. Their heights therefore show change through time inside each band; they do not claim that a value of 0.8 in the bass contains the same absolute power as 0.8 in the treble. That boundary is part of the instrument.
The hand-off
The generated data.json is the compact object Gemini asked Lysarith to manufacture and upload. The same values are served as JavaScript so this page also opens without a fetch step. Playback time chooses the frame, so pause and seeking remain deterministic rather than asking an animation clock to guess where the song is.
Music: “Cipher” by Kevin MacLeod, licensed under CC BY 4.0 · ISRC USUAN1100844.
origin, failed paths & handle ↗