The page is
the instrument.

Sonarium turns any webpage into an acoustic space. Geometry becomes timbre, layout becomes a stereo stage, the DOM tree becomes harmony β€” with one script tag.

🎧 wear headphones · click anything · your cursor is the microphone

this page plays in … β€” its address decides its key

The soundfield

Twelve shapes, one rule-set. Position sets the stereo placement, size sets pitch and weight, corner radius morphs the wave from square through sawtooth and triangle to sine β€” the Kiki/Bouba effect, made executable.

Hover to preview Β· click to play Β· click empty space to strum what's on screen, left to right

← same geometry, different color: warm ones strike eagerly with full body, cool ones open unhurried (CHROMA weave)

How it hears your page

Ten mappings, each backed by cross-modal perception research β€” see the Mapping Canon for formulas and the research notes for citations.

↔Position β†’ stereo stage

An element's x/y becomes its place in a 3D sound field. Left button, left sound. HRTF spatialization.

β—»β†’β—―Roundness β†’ waveform

Border radius morphs the oscillator: sharp corners bite (square), pills breathe (sine). Kiki/Bouba, executable.

β€’Size β†’ pitch & weight

Big elements speak low and loud; small ones chirp high and quiet β€” the physics of resonance, borrowed.

β–­Elongation β†’ duration

A square ticks; a long bar sweeps. Shape length maps to note length.

≣DOM depth β†’ distance

Deeply nested elements sound farther away and more muffled β€” the tree becomes acoustic depth.

β™«Siblings β†’ melody

Children of one parent climb the same scale. A nav is a run; a list is an arpeggio.

βŒ‚Viewport β†’ the room

Page width sets the reverb. A phone is a dry booth; a wide desktop is a hall.

#Domain β†’ key

The hostname hashes to a musical key and scale β€” every site gets a deterministic sonic identity.

β‡ͺShadow β†’ air

Box-shadow blur lifts an element into the reverb: elevated UI floats in the room.

⌨Typing β†’ filling up

Keystrokes tick upward as a field fills. Toggles answer with rising or falling fifths.

Shape lab

Bend one element's geometry and hear the mapping respond. The readout is sonarium.describe(element) β€” the library always explains itself.

click the shape to hear it β€” its acoustic profile appears here

More rooms to hear

Each demo is an unmodified page plus one script tag.