You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A browser-based generative art tool that transforms audio into unique visual compositions in real-time. Drop in a song, pick a visualization mode, and watch your music paint itself.
How It Works
Audio is analyzed in real-time using the Web Audio API. Frequency data, amplitude, and beat detection feed into generative algorithms that create visuals unique to each song.
Lyrics mode — speech recognition interprets vocals as visual data
Painter mode — canvas accumulates like oil paint
Live tuner panel — real-time parameter adjustment
Pan & zoom — navigate the canvas with mouse
Getting Started
# Clone the repo
git clone https://github.com/captnocap/audio-canvas.git
cd audio-canvas
# Install dependencies
npm install
# Start the dev server
npm run dev
Open http://localhost:3000 and drop in an audio file.
Controls
Control
Action
Drop zone
Load audio file (drag & drop or click)
🎤 Mic
Record from microphone
🔊 Tab
Capture audio from browser tab
YouTube URL
Paste URL to visualize YouTube audio
Mode tabs
Switch between 2D/3D/Physics/Games/Glitch/Code
📷 PNG
Export 4K image
✒️ SVG
Export vector (supported modes)
🎬 GIF
Record 5-second loop
🗑️ Clear
Reset canvas
+/-
Zoom in/out
Drag
Pan around canvas
Double-click
Reset zoom and pan
H
Hide/show UI
F
Toggle fullscreen
Keyboard Shortcuts
Key
Action
Space
Play/pause
H
Hide UI
F
Fullscreen
+/-
Zoom
WASD
Move player (game modes)
Arrow keys
Navigate (Audiosurf, Surfer modes)
Tips
Let a full song play to build up dense, detailed artwork
Try different genres — each creates distinct visual signatures
Export during interesting moments or at the end
The same song will produce similar (but not identical) results each time
Compare the same track across different modes
Enable ASCII + Lyrics together for text-based vocal visualization
Use the tuner panel (🎛️) to fine-tune visualization parameters
Tech Stack
Vite — build tool
Canvas 2D — 2D rendering
Three.js — 3D rendering
Web Audio API — real-time audio analysis
Oimo.js / Cannon-ES / Matter.js — physics engines
Vanilla JS — no UI frameworks
Inspiration
Inspired by the algorithmic art of Monokai, particularly: