個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Ten GPU shader worlds that react to every part of your music. Windows tray app (Rust + wgpu) + WebGPU browser player + Chrome extension.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Ten hand-built GPU worlds that react to every part of whatever you're playing.
Windows tray app in Rust + wgpu · the same WGSL shaders in the browser and a Chrome extension (WebGPU)
▶ Try it in your browser · Download for Windows · Website
Most visualizers make things bigger when the music gets louder. This one splits the music into separate signals and gives each one its own job in every scene:
| Bass Drop: a club with a pumping woofer, lasers through haze and a crowd that jumps on the beat | Ferrofluid: magnetic liquid on a mirror floor, spiking to the spectrum |
| Data Bus: a neon line-art tunnel; viruses get deleted on the kick and a worm lunges on the drop | Pulse Ring: a reactor of rings, a live waveform ring, a vortex and shockwaves |
| Neon Horizon: synthwave with mountains built from the last seconds of music | Reef Arcade: a pixel-art reef; a diver spears lionfish on the beat, with a boss on the drop |
| Deep Wreck: an ocean liner on the sea floor, porthole spectrum, sonar, a whale and jellyfish | Moonlight Piano: a lake and moon; the keyboard lights the notes being played |
| Aurora: northern lights over a mirror lake; a wolf howls on the drop | Classic Bars: a hi-fi rack with LED analyser, VU meters and a scope |
Download MusicVisualizer.exe from Releases
and run it. It's a single 5 MB file with no installer. Windows SmartScreen may warn because the exe isn't
code-signed: choose More info → Run anyway, or build it yourself.
F for full screen.S: settingsM: mouse controlEsc: back / hideIt hears whatever your PC plays through WASAPI loopback (no virtual cable). It runs at below-normal priority so games always come first. One frame in flight keeps the latency low.
cargo build --release # target\release\MusicVisualizer.exe
The web player runs the same shaders with WebGPU (Chrome/Edge). It can use a demo song, a shared tab's audio or the microphone. The Chrome extension adds one-click capture of the current tab's audio: see extension/README.md.
A look is one WGSL file: fn look(fc: vec2f) -> vec4f, with the music in a uniform and an audio texture.
// name: My Look
// palette: #ff2fa6 #8a3cff #22e0ff
fn look(fc: vec2f) -> vec4f {
let p = centered(fc);
let r = 0.35 + 0.25 * G.kick + 0.1 * spec(fract(atan2(p.y, p.x) / TAU));
var col = pal(G.beat_phase) * glow(abs(length(p) - r), 0.02);
col += vec3f(G.drop) * 0.3;
return vec4f(col, 1.0);
}
Test it without opening a window: MusicVisualizer.exe --shots out shaders/looks/my_look.wgsl renders it with a
built-in test song and saves PNGs. The full contract is in docs/WRITING_LOOKS.md.
src/analyzer.rs FFT bands, kick/snare/hat onsets, tempo + beat phase, drop, energy, piano keys
src/capture.rs WASAPI loopback capture
src/render.rs look pass (with last-frame feedback) → bloom → composite + glass UI, wgpu / DirectX 12
src/app.rs tray, dockable window, settings panel, mouse control, auto-pick
src/media.rs now playing + album-art palette (Windows media controls)
shaders/ common.wgsl (the contract), post.wgsl, looks/*.wgsl
extension/ WebGPU player + Chrome extension running the same shaders
site/ the project website
Made by Andrew Rainsberger. MIT licence.