SPACE play/pause · ← → tracks
F random formula · R random all
Q random color · E next color
W flip camera · C grid · H this hint
FS mode: L bass · K treble · J amp · N wave · B bloom

VIMATHIC

0:000:00
▸ PLAYLIST
0 tracks
No tracks loaded
↑ click or drag MP3/WAV
▸ VISUAL STYLE
▸ DEFORM MODE
▸ RENDER
▸ FORMULA
FPS
60
ADVANCED
▸ AUDIO SENSITIVITY
▸ STATE & PRESETS
Presets are stored in this browser's localStorage (per-domain, not in files). Use EXPORT to back them up to a .json file you can share or restore later via IMPORT.
▸ CLIP PLAYER
MODEL IMPORT
⬆ Drop OBJ / GLTF / GLB here
or click to browse
SHADER EDITOR
CAMERA PROGRAMMER
VIDEO OUTPUT & AUDIO IN
MIDI MAPPING
🎹 MIDI

✎ GLSL SHADER EDITOR

Uniforms: uTime · uBass 0–1.2 · uMid 0–1 · uTreble 0–1.2 · uBeat 0–1 · uAmp · uWI
Vertex: position vec3 · r=length(xz) · ang=atan(z,x) · write into y
VERTEX (displacement)
FRAGMENT (colour)

🎬 CAMERA PROGRAMMER

Read: time bass mid treble beat bpm R   Write: ctx.cam.x/y/z ctx.target.x/y/z ctx.fov ctx.roll
Helpers: orbit(r,speed,h) lerp(a,b,t) clamp(v,lo,hi) sin cos   ctx.state persists · ctx.p = params tab
JS CODE
TIMELINE
PARAMS

🎙 AUDIO SOURCE

📁 FILE PLAYBACK active by default
Load MP3 / WAV / FLAC / OGG from your device. Supports drag & drop and crossfade.
All browsers All OS Crossfade
or drag MP3/WAV onto the visualizer
🎤 MICROPHONE / LOOPBACK
Captures any input device — including virtual cables that route system audio.
Windows: install VB-Audio Cable, set it as default playback → select it below.
Mac: install BlackHole 2ch, set it as output → select it below.
Chrome Firefox Safari All OS Virtual loopback
💡 No virtual cable? Works with a real mic too — point it at your speakers for a quick test. For best quality use a loopback device.
BROWSER TAB / SYSTEM AUDIO
Uses getDisplayMedia. You choose what to share in the browser popup.
Tab audio: share a specific browser tab — enable "Share tab audio".
System audio (Windows Chrome only): share entire screen → tick "Share system audio".
Chrome — tab Chrome Win — system Firefox — no audio Safari — no audio
⚠ Firefox does not support audio capture via getDisplayMedia. Use the loopback method instead.
No live capture active — using file playback

📤 VIDEO OUTPUT

TRANSPARENT BACKGROUND All browsers
Renders with alpha channel — stars, grid and background are hidden. Use with OBS Browser Source → Allow transparency for chroma-key-free overlays. Works with any VJ software that reads the browser canvas.
OFF
VIRTUAL CAMERA (captureStream) Chrome ✓
Exposes the canvas as a MediaStream. OBS picks it up as a Browser Source (zero setup) or as a Video Capture Device with the OBS Virtual Camera turned on. A floating preview window confirms the stream is live.
💡 OBS Browser Source — add source → Browser → paste URL → tick "Allow transparency" for alpha. No plugins needed. Lowest latency option.
🎞️ RECORD CLIP Chrome / Firefox / Edge
Capture the visualizer as a downloadable file. GIF auto-loops on social platforms (Twitter, Telegram, Discord) — best for short snippets. WebM is higher quality with lower memory usage — better for archives & YouTube. Beat-sync mode produces music-aligned perfect loops.
💡 Beat mode needs an audio track playing — capture starts immediately, stops after exactly N detected beats. Result loops perfectly with the music. Heavy combos (720p · 30fps · 60s) can use 1 GB+ RAM — adjust if your tab struggles.
Ready.
Now Playing