01 · ListenListening
The music is heard sixty times a second, from the lowest bass to the air above the cymbals.
- Analyser
- Web Audio, a 2,048-point FFT: 1,024 bins, smoothed at 0.55 from one frame to the next.
- Range
- −84 to −10 dB. A noise floor is cut off, so the relief rises from black.
- Bands
- 96 on a logarithmic scale, 30 Hz to 16 kHz, the way the ear hears pitch; each keeps its loudest bin.
- Tilt
- +3 dB per octave around 250 Hz. Music loses about as much, or the bass would bury the highs.
02 · OrderOrder
Silence is drifting dust. Sound sweeps it into a landscape, and lets it go when the music stops.
- Depth
- A new line every 160 ms comes to the front; 26 lines, about four seconds deep.
- Light
- Each line is a veil lit from above that hides the ones behind. The tone is continuous, then screened: never a stroke.
- Screen
- One dot per cell, 6 px apart (7.5 on a wide screen), snapped to the physical pixel. Only their size changes.
- Level
- Measured against the track itself: it rises in 0.3 s and forgets in 8 s, so a quiet intro already falls into place.
- Scrub
- The whole track is decoded in the background, 24 kHz, the same analysis: dragging the timeline shows the real song.
03 · BeatPulse
A hard hit knocks the front crest back into chaos for an instant. Counted, the hits become a tempo.
- Onsets
- Positive spectral flux, the bass weighted 1.6×, above the mean plus 1.7 deviations of the last 1.5 s; one per 180 ms at most.
- Peak
- Only the strongest, past 2.6 deviations, scatter the crest and get a mark.
- Tempo
- Every gap between hits over twelve seconds votes, folded into 70–180 BPM.
- Shown
- Re-read every second, and only once five readings agree within 2 BPM. Never a wrong number.
04 · CrateDigging
Six crates, shuffled anew on every visit: the gems come up often, but any record can fall under your finger.
- Source
- Audius, under its open music licence: the underground charts and the all-time ones, 300 records a genre.
- Weight
- Favourites over the square root of plays, so a confidential record can outweigh a hit. One per artist.
- Draw
- Weighted, without replacement (Efraimidis–Spirakis), the weight flattened again so that chance has its share.
- Honest
- Reposts don’t count. Past 15 % favourites per play, a record is inflated and never drawn.
05 · MemoryTraces
Every sleeve starts faint. What you have heard fills in, dot by dot, and stays.
- Fingerprint
- 32 moments by 32 bands; each cell keeps the loudest it heard.
- Sleeve
- Three or four colours seeded by the record, their hue from its mood. Unheard, the same colours, smaller dots.
- Print
- Once decoded, the whole track as 48 crests stacked face on, beginning at the top, to keep or share.
- Kept
- In this browser only: record ids and our analysis, nothing from Audius.
06 · ColophonColophon
A lab piece, the night-time sister of a portfolio.
- Track
- Default track. Credit to come.
- Type
- Tangerine, Instrument Sans, JetBrains Mono
- Keys
- Space play or pause · ←/→ five seconds · ↑/↓ volume · N next record · P back · K keep it · C the crate · F full screen · ? this page · Esc close
- Built with
- Web Audio API, three.js (WebGL), Next.js