Genuinely generative
The engine walks scales, chords and arpeggios with harmonic rules. There is no audio file looping in the background.
Web → music · in your browser
Every site already has a soundtrack: it's in its palette, its typography and its motion. Paste a URL and vibedom turns it into generative music. No samples, no sign-up, no uploads.
It takes a few seconds. The music is synthesised in your browser; there is no pre-recorded audio.
How it works
No samples, no playlists. A sound seed is generated once and your browser performs it forever.
We read the public HTML and stylesheets. Only what anyone can see.
Palette, contrast, typography, hierarchy and motion become a sound seed: key, tempo, timbres and effects.
Tone.js synthesises pad, drone and arpeggio in your browser. The same site sounds different next time: it's generative.
What it isn't
vibedom doesn't guess your favourite genre. It translates design decisions — colour, visual rhythm, type — into musical ones.
The engine walks scales, chords and arpeggios with harmonic rules. There is no audio file looping in the background.
Every site produces a different seed. Two sites with the same palette can sound completely different.
Scrolling modulates brightness, reverb or arpeggio density. The page moves and the music answers.
Privacy
We don't store screenshots, HTML or content. We only read what's public, generate a seed, and the music happens in your browser.
Lab mode
In the playground you can inspect the seed, move tempo, brightness, spaciousness and density, and watch the spectrum while it plays.
FAQ
Dominant palette and background colour, contrast, type families, heading hierarchy and motion signals (animations, transitions) — all from public HTML and CSS.
There is no pre-recorded audio. Tone.js builds a synth graph in your browser and feeds it a sound seed. Every playback is still generative.
With any public http(s) URL. Some sites block bots or rely on JavaScript to paint their style; in those cases the analysis may fall short.
We don't store it. The request is used to fetch the page, extract signals and return the seed. If you run the backend yourself, the logs are your own console's.
No. The demo is open. The only requirement for scanning new URLs is a running backend; presets work without it.
Like a generative piece built from its own traits: colours and contrast set the mode and energy, typography suggests the timbres, and motion sets the tempo. It never plays the same way twice, but it always sounds like itself.