WebCode Sonification Engine

Every webpage already has a structure. We let you hear it.

每一個網頁本來就有結構。我們只是讓你聽見它。—— 網頁代碼音樂化引擎

v0.2.0 developer preview · open source (Apache-2.0) · local-only

A browser extension that plays the page you're reading

One click. WSE reads the current tab's DOM topology, sampled CSS and visual geometry, then synthesizes a 30–90 second piece of music from it — live, in your browser, with the Web Audio API.

🎼 Deterministic sound identity

The seed is Hash(CanonicalURL, StructuralFingerprint). The same page structure always produces the same music — every site gets its own sound signature. When a site is redesigned, its music changes too.

同一結構永遠是同一首曲子——網站自己的結構決定它成為什麼音樂。

🏛️ Structure picks the orchestra

A text-heavy blog leads with keys and strings; a button-farm dashboard turns rhythmic; an image grid rings with bells. Seven scales, Euclidean groove signatures, and song form (Intro–A–B–A′–Outro) derived from header, sections and footer.

內容型、導航型、媒體型、表單型網頁,各自拿到不同的主奏與節奏簽名。

🔒 Local-only by design

No server, no telemetry. Analysis runs only when you click, only on the active tab. Form values and editable content are never read; query strings never enter the pipeline. Everything is synthesized — no samples, no downloads.

所有分析都在本機。絕不上傳頁面內容,絕不讀取表單值。

How it works

Two-stage architecture: faithful structural extraction first, then a music grammar that makes it listenable — scale quantization, a 1/16 rhythm grid, chord progressions, and hard density caps so a 500,000-node page cannot explode into noise.

Webpage → Features → Normalize → Fingerprint → Music ProfileScore → Web Audio
Page featureMusical effect
Tag diversity + node countTempo (52–176 BPM)
Average CSS hueKey (12 pitch classes)
Palette lightness × saturationOne of 7 scales — major, minor, dorian, lydian, mixolydian, pentatonics
Dominant structure familyLead & arpeggio instruments (content / navigation / media / form)
Link densityArpeggio busyness (Euclidean pattern)
Image densityBell accents
Button densityPercussion groove
DOM depthPitch register width
header / sections / footerSong form: Intro – A – B – A′ – Outro
Element positionsStereo panning

Five styles, one identity

A style is a palette, not a skin — it changes articulation, register and rhythm roles. The page decides which voices inside the palette actually play. Tune everything with sliders: tempo, density, brightness, reverb.

Ambient · pads, e-piano, bells Piano · piano, guitar, strings Electronic · leads, kicks, hats Orchestral · strings, brass, taiko Eastern 東方 · 蕭 xiao, 笛 flute, 太鼓 taiko, guitar

All instruments are pure Web Audio synthesis — including a Karplus-Strong plucked-string guitar and breath-modeled xiao and flute. No sample libraries, nothing to download.

Get the extension

v0.2.0 is a developer preview for Chrome (Manifest V3, permissions: activeTab · scripting · storage · offscreen). Open source on GitHub; Chrome Web Store listing is on the way.

  1. Download and unzip the release (or build from source: npm install && npm run builddist/)
  2. Open chrome://extensions and enable Developer mode
  3. Load unpacked → select the unzipped folder
  4. Open any webpage, click the WSE icon → Analyze & Play

Can't install right now? The live demo runs the exact same pipeline on the demo page itself — press play and the page becomes its own score.

Roadmap

未來擴充計畫 — where this is going.

v0.3

Scroll Mode (viewport as playhead) · Mutation Mode (live DOM becomes a live performance) · WAV export

v0.4

Custom mapping profiles · MIDI export · more instruments & ornaments

v1.0

Firefox · public mapping SDK · research dataset & listening studies

Research

Do sites form recognizable sound signatures? Can you name a site type by ear? Are redesigns audible?

🙏 Special thanks to the pioneer. Synesthesia Add-on — a Tool for HTML Sonification (Brazilian Symposium on Computer Music, 2017) treated HTML pages as musical scores in a browser add-on years before WSE existed. WSE was designed independently and is not an equivalent system — but creating is easier when a pioneer has already shown a direction is possible, and we thank its author for that. WSE's narrower claim: a webpage's accessible computational structure defines a reproducible generative musical identity.
特別感謝先行者:WSE 為獨立設計、並不完全等同,但正因為有人先證明過「HTML 頁面可以作為樂譜」,我們在創作時得以確信這個方向可行。