Skip to content
AJ Uppal
← Back to selected work

Personal project / Instrument

Roomtone.

Scan a room’s colors and turn its palette into a five-note chord.

Open project Live in a browser

My work

Camera interaction, perceptual colour clustering, note mapping and browser synthesis.

Working with

JavaScript · OKLab · Web Audio

Inside the build

What would this room sound like?

Context

A camera sees changing light and fleeting objects. A room’s palette should settle before it becomes music.

How it works

Colors are clustered in OKLab and weighted by persistence. Five stable colors map to distinct notes, played with synthesized sound and generated reverb.

In the work

The demo uses a procedurally drawn bedroom, so the complete colour-to-chord flow can be explored without granting camera access.

Perception
OKLab gives colour distance a perceptual basis rather than comparing raw RGB channels.
Continuity
Persistence weighting limits the influence of a colour that flashes past the camera.
Sound
Web Audio synthesizes the notes and reverb in the browser.

Keep exploring.

The whole collection →
A sailboat beneath a rising sun, with a warm path of light across the ocean in Saltline. saltline Simulation / multiplayer Ember Wilds in Fallowmere at dusk: a level-30 character in a voxel landscape. Ember Wilds Voxel MMORPG murmuration in ribbon style: a dense violet and white form of drawn-out particle streaks against black, filling most of the frame. murmuration Audio / WebGPU