Three kinds of change: a new scene (or one rebuilt), something the engine learned to hear or
show, and tuning — looks retuned, thresholds moved. Everything here runs on your device; nothing on this page phones home.
Retina Rave now has a what's-new page: one short entry per version, newest first, going back to the first public build, written for someone who watches rather than reads code. The front card says plainly what this is: everything runs on your device, with no account, no trackers and no ads; I built it for myself and wanted to share it. A small line under it points at what changed in the latest version. The about page grew a longer explanation of how it works and what it will never do. Nothing in the visuals or the sound analysis changed in this release.
Sure of the key, a kaleidoscope on the beat, and a record button
The colour now follows the song's key only when the ears are sure of it: the bass has to agree with the harmony before the palette commits, so a wrong guess no longer flips the hue mid-track. MANDALA has been rebuilt from the ground up: the kaleidoscope turns one step per beat, kick, snare and hat each have their own voice in it, and the stretch before a drop tightens the fold and drains the colour until the drop lets go. Press R to record what you see and hear to a video file on your own device, and R again to stop; nothing is uploaded and there is no share button. DUST stays in step on tracks where the vocals carry the beat, and the code is now open under MIT with one clause of my own: if it runs at a party, I get in free, with a guest.
Major bars pull the palette warm, minor bars leave it alone, so the hue breathes with the chord changes instead of sitting on one key for the whole track. The tension field is now measured against the track itself over the last half minute, so a quiet intro and a wall of noise both use the whole range and a drop reads as a drop on every song.
In TORUS2 the dreamy stretch before a drop now hazes the nest of rings, and the drop clears the fog in one go. DUST's hi-hat voice joins the double-time accent: when the rhythm doubles, the rim flicks harder rather than faster.
The first update to reach the site in two weeks: every change from v0.16 on arrives at once. New in this one: the engine notices when the music hesitates on a beat it will not commit to, and treats it as a build-up; DUST's double time accents the picture instead of driving it faster; CHLADNI's figure follows the bass from the very first seconds of a track instead of waiting for a sub note that is not there.
A statistic deep in the ears had its sign backwards, so several thresholds had been calibrated against the wrong end of the distribution; they have been re-based and hits land more honestly. CHLADNI now throws its sand by how hard the kick hit, and one of the reference tracks had its beat grid re-aligned by a few hundredths of a second.
A kick and a snare now carry how hard they were hit, so DUST's flash ring and TORUS2's wave scale with the hit instead of firing at one size. The scenes' snare is the snare lane alone, so a hi-hat is no longer mistaken for one.
The snare and the rim are now heard as a rise in the two middle bands, so a rim shot that used to vanish is seen and a hi-hat that used to be called a snare is not.
The beat's nudge is now a smooth velocity profile, so the picture bounces instead of jerking, and the clock no longer wanders off a live tempo. The key the colours follow is the song's tonic: until now the engine had been reading the fifth above it, so every key-coloured scene was a fifth off. Loudness is measured the way broadcast meters do it, so a drop that comes back louder after a quiet breakdown actually reads louder on screen. The kick that hides under a bass note is found, the hi-hat fires cleanly on sparkly passages, and the quiet void before a drop is drawn as one.
In DUST a grain's frequency band is now its place in the formation, a repeated sound fades while a new one pops, and the harmony shows in the colour. The beat clock lets the low end decide where the half beat falls, which brings a fast track that had drifted half a beat off back onto the kick.
DUST has been overhauled against one standard: someone with the sound off should be able to roughly reconstruct the song from the picture. The swarm moves on the beat grid, the kick, snare and hat each have their own sharp voice, the stretch before a drop pulls the formation tight and the drop releases it, and each section of the track has its own formation.
Tempo and beat phase are now worked out from the audio samples themselves, on the audio's own clock, rather than once per video frame, and filtered so one odd hit cannot yank the beat line. This is the new default: the beat holds steadier through a build-up and lands on the drop.
The engine keeps one queue of the events it expects: the hits the bar pattern predicts, the next bar line, the drop it sees coming. Scenes read what comes next from one place and can get there in time.
A build-up and the drop at its end are now detected live, from a shared tab, without knowing the track in advance; NAV rides it by default and leans into the edge of the set as the drop approaches. The small head start the picture takes on the sound applies to files only: live, your eye wants it exactly on time.
When you play a file, the picture now runs a hair ahead of the sound, because the eye wants to see a hit a touch before the ear hears it. TORUS2 moves onto the new reactive drums.
The engine fingerprints each bar as it goes by, so it knows a section coming back when it starts and can predict where the next bar's hits will fall. The kick, the snare and the hi-hat are heard as three separate lanes, so a scene can give each one its own move.
The delay between a sound in a shared tab and the moment the page hears it has been measured, and the clocks now run ahead by that much, so what you see lands on what you hear.
A new scene: sand on a vibrating plate. The bass note draws the figure, every kick throws the sand into the air, a slide melts one figure into the next, and when the bass stops the sand floats free. You can also play a file from your own device now, decoded in the page and never uploaded. Under it all the engine has new ears: a sharper read of onsets, the bass note and the song's structure, tuned on a dubstep track with a map of its drops.
A new scene built on the superformula: twelve nested shapes, one per note, that pinch shut on every beat and open again in the silence. Each kick sends a bump travelling round every ring, the whole nest turns once every sixteen beats, and it fills the screen as the track builds.
The Mandelbrot set now bumps with the beat: with no beat it relaxes towards a circle, and as the beat comes in it spirals into its own detail. The edge of the set is always moving with the music.
Every sound now sends out its own wave from the centre, in the colour of the note being played, so double time looks like double time. The constant carrier is gone, and so is the lattice of small circles in the background.
MAXWELL after its first viewing: quiet when there is no sound, each wave in the colour of its own note instead of two colours that swap, and a wobble that follows the bass so dubstep looks like dubstep.
A new scene: Maxwell's equations solved live on a grid. Twelve charges sit at the twelve notes, a magnet turns one notch a beat, and every drum hit is a real ripple of light. The N key cycles through the scenes.
The four-dimensional polytopes dance: the bass shoves the cage round, the rhythm runs in beads along its edges, and the twelve keys are its colours on the circle of fifths.
The front page now says what this is: I taught a computer to listen to music, and this is what it sees. Below it, one tile per scene — click one and it plays live behind the card before you share anything.
A second walk over the Mandelbrot set where the melody drives the camera: when the tune goes up the whole shape floats up with it, a swirl in the music curls the spiral arms tighter, and a build presses the picture against the very edge of the set until the drop breaks through.
The Hopf torus rebuilt to move with the music: nothing inside the nest of rings falls dark any more, every kick flashes the quiet fibres at the core, the hi-hats run a shimmer round each ring, the colour follows the key, and the whole thing turns once every sixteen beats with a bounce on the beat. It takes the old TORUS's place.
Eigenwobble becomes Retina Rave and goes live at retinarave.com. It works on a phone now — put the music on a speaker and let the page listen with the microphone, with a touch bar in place of the keyboard — and there is an about page that says who made it and why.