Skip to content

reversegremlin/neon-visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neon Water 🌊

Turn your music into mesmerizing water visuals.

Drop in a track. Pick a vibe. Get a video.

Themes Preview


🚀 Quick Start

# 1. Install
npm install

# 2. Render your track
npm run render my-song.mp3

# 3. Find your video in ./output/video.mp4

That's it. Your video is ready to upload.


🌐 Web Interface

Prefer clicking over typing? Open the visual builder:

npm run web

Then go to http://localhost:3000 in your browser.

Features:

  • Browse songs from your audio/ folder
  • Preview themes visually
  • Generate rendered previews (10s, 15s, or 30s)
  • Copy export command for full render

🎨 Themes

Theme Vibe Colors
neon-water Synthwave / Vaporwave Cyan, Blue, Magenta
ocean-deep Calm / Underwater Teal, Navy, Turquoise
solar-flare Intense / Fiery Orange, Red, Yellow
aurora Ethereal / Northern Lights Green, Blue, Purple

Preview themes:

npm run themes

📐 Common Formats

# YouTube (default)
npm run render my-song.mp3

# Instagram Square
npm run render my-song.mp3 -- -w 1080 -h 1080

# TikTok / Reels (Vertical)
npm run render my-song.mp3 -- -w 1080 -h 1920

# 4K
npm run render my-song.mp3 -- -w 3840 -h 2160

⚙️ All Options

npm run render <audio-file> -- [options]
Option What it does Default
-o, --output Where to save the video ./output/video.mp4
-t, --theme Visual theme neon-water
-w, --width Video width in pixels 1920
-h, --height Video height in pixels 1080
-f, --fps Frames per second 30
-s, --seed Random seed (same seed = same result) 42
-q, --quality Quality (lower number = better) 18

Examples

# Solar flare theme, high quality
npm run render drop.wav -- -t solar-flare -q 15

# 60fps smooth motion
npm run render beat.mp3 -- -f 60

# Same visuals every time (reproducible)
npm run render song.mp3 -- -s 12345

# Full custom
npm run render track.m4a -- -t aurora -w 1920 -h 1080 -f 30 -o my-video.mp4

🔍 Analyze Before Rendering

See what the tool detects in your track:

npm run analyze my-song.mp3

Shows you:

  • BPM - Detected tempo
  • Beats - Where the beats land
  • Energy - Loudness over time
  • Brightness - High frequency content

🎵 How Visuals React to Your Music

Your Music What Happens Visually
Loud parts More turbulence, faster particles
Kick drums / beats Bursts of particles, ripples
High frequencies Warmer colors, more glow
Complex textures Denser particle clouds
Transients / hits Color splashes

💿 Supported Audio

  • MP3
  • WAV
  • M4A / AAC
  • FLAC
  • OGG
  • Basically anything FFmpeg can read

📋 Requirements

Node.js 18+

FFmpeg


💡 Tips for Best Results

  1. Tracks with clear beats → More reactive visuals
  2. Dynamic range → Quiet vs loud = visual variety
  3. Test at 720p first → Much faster, then do final at 1080p
  4. Use seed flag → Get the same result every time

🐛 Troubleshooting

"FFmpeg not found" → Install FFmpeg and restart your terminal

Rendering is slow → Use 720p for testing: -w 1280 -h 720

Video is too dark → Try solar-flare theme or a track with more high frequencies

Out of memory → Close other apps, or use lower resolution


📁 Project Structure

neon-water-2/
├── audio/           ← Put your audio files here
├── output/          ← Rendered videos appear here
│   └── preview/     ← Preview videos
├── src/             ← TypeScript source code
│   ├── audio/       ← Audio analysis (loader, analyzer, beat detection)
│   ├── rendering/   ← Video rendering (headless browser, encoder)
│   └── config/      ← Themes and settings
└── web/             ← Web interface

🎬 What's Under the Hood

  1. Audio Analysis - Reads your track, extracts beats and energy
  2. Feature Mapping - Converts audio → visual parameters
  3. Fluid Simulation - GPU-powered water/smoke
  4. Particles - Glowing dots that react to rhythm
  5. Bloom - That nice glow effect
  6. Encoding - Combines frames + audio → MP4

🔧 For Developers

Want to understand the codebase, extend features, or contribute?

Read the Architecture Documentation →

Covers:

  • System architecture and data flow
  • Audio analysis pipeline (Meyda, beat detection)
  • Rendering pipeline (Playwright, Three.js, fluid simulation)
  • How to add themes, features, and effects
  • Performance considerations

📄 License

MIT - Do whatever you want with it.


Made for musicians who want visuals without the complexity.

About

Visualizer for Neon Muon Music

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors