Skip to content

well we are using microphone input for now . i have an iteration of this in python but thats way slower compared to this faster react project . Also we are only using frequency and amplitude of incoming wavelength not deep but looks so beautiful like omg

Notifications You must be signed in to change notification settings

saksham-45/visualizzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Visualizzer

A real-time audio visualizer with intelligent, music-reactive visuals. Supports microphone and system audio with automatic visualizer selection.

Role of Mathematics

This project is fundamentally mathematical—audio signals are transformed into visuals through:

  • Fourier Analysis: FFT converts time-domain audio to frequency spectra (2048-point transform)
  • Signal Processing: Smoothing constants, band energy extraction, and beat detection using statistical methods
  • Geometry: 2D/3D coordinate transformations, polar/cartesian conversions, and mesh deformations
  • Complex Numbers: Used in shaders for seamless rotation patterns (avoiding atan discontinuities)
  • Linear Algebra: Camera projections, mesh vertex transformations, and lighting calculations
  • Trigonometry: Spiral patterns, wave functions, and orbital camera movements
  • Color Theory: HSV↔RGB conversions for audio-reactive coloring
  • Calculus: Smooth interpolation functions for visual transitions

Features

  • Multiple Visualizers: Waveforms, circles, bars, particles, spirals, spectrum rings, GPU shaders, and 3D fluid simulations
  • Intelligent Selection: AI-driven visualizer switching based on audio characteristics
  • Audio Sources: Microphone or system audio capture
  • Smooth Transitions: Morphing between visualizers
  • Performance Optimized: Adaptive quality and hardware acceleration

Quick Start

python3 server.py
# Open http://localhost:8000
# Click Start and grant audio permissions

Visualizer Types

2D Canvas

  • Wave, Circle, Bars, Particles, Spiral, Spectrum
  • Mesh-based morphing visualizers

GPU Shaders

  • Psychedelic Waves, Neon Vortex, Kaleidoscope
  • Electric Storm, Sacred Geometry, Hypnotic Spiral

3D Fluid (Three.js)

  • Mercury Orbs, Liquid Metal, Metallic Nebula
  • Liquid Geometry, Tunnel

Architecture

index.html
├── audioCapture.js      # Audio input (mic/system)
├── audioAnalyzer.js     # Real-time analysis
├── visualizers.js       # Main render loop & 2D visualizers
├── shaderVisualizers.js # WebGL shaders
├── ThreeJSVisualizer.js # 3D fluid visualizers
├── fluidVisualizers.js  # 3D wrapper
├── meshVisualizers.js   # Mesh morphing
├── gpuParticles.js      # GPU particle system
├── visualizerSelector.js # Intelligent selection
├── musicIntelligence.js # Predictive analysis
├── beatEffects.js       # Beat reactive overlays
├── performanceOptimizer.js # Adaptive quality
└── main.js              # App orchestration

Audio Analysis

  • FFT: 2048 samples, 44.1kHz
  • Features: Amplitude, spectral centroid, energy bands (sub-bass to brilliance), rhythm/beat detection
  • Smoothing: 80% to reduce jitter

Browser Support

  • Chrome/Edge: Full (mic + system audio)
  • Firefox/Safari: Mic only

Controls

  • Start/Stop audio capture
  • Auto-select vs manual visualizer
  • Settings panel for parameters
  • Fullscreen mode

Technical Notes

  • Uses Web Audio API & WebGL2
  • Fixed viewport sizing for consistent rendering
  • No-cache headers for development
  • Graceful fallbacks for missing features

License

MIT

About

well we are using microphone input for now . i have an iteration of this in python but thats way slower compared to this faster react project . Also we are only using frequency and amplitude of incoming wavelength not deep but looks so beautiful like omg

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •