Offbeat
0:00 / —— BPM

A halftone landscape of the sound: frequency from left to right, the last four seconds in depth, height for loudness. In silence the dots drift freely.

Offbeat

How it works01 — 06
01 · Listen

Listening

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 · Order

Order

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 · Beat

Pulse

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 · Crate

Digging

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 · Memory

Traces

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 · Colophon

Colophon

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