Sound Visualiser

Browser look instrument — live WebGL follows the beat; looks are reloadable JSON; Keep saves a 30s local clip of the canvas plus soundtrack.

  • TypeScript
  • Vite
  • Three.js
  • GLSL
  • Web Audio API
  • Meyda
  • GSAP

Case study

In brief

  1. Problem

    Most browser visualizers bounce bars to volume and jitter instead of locking to the beat, so the show never feels in sync with the music.

  2. Approach

    Built a client-side VJ rig with Meyda spectral analysis, mood and energy tracking, and beat confidence so visuals step in time when the tempo is clear. Three modes cover 3D scenes, webcam feed, and feedback-loop acid trails.

  3. Outcome

    Audio, video, and rendering stay on the user's machine—nothing is uploaded or recorded. The live demo runs mic, file, or bundled track sources in the browser.

Look closer

Stage

Proof

Browser look instrument — live WebGL follows the beat; looks are reloadable JSON; Keep saves a 30s local clip of the canvas plus soundtrack.

Proof

open in new tab

Loading demo…

Architecture

C4 architecture — Context → Containers → Components (docs/c4/portfolio-map.json)

Architecture

Context
100%
  • Person
  • Software system
  • External system

Continue