opengl-audio-visualizer
OpenGL 4.5 audio visualizer with FFT-based frequency analysis and reactive 3D graphics. Built in C++ with GLFW and ImGui for a computer graphics course.
- Repository
- AidenCarrera/opengl-audio-visualizer
- Created
- May 7, 2026
OpenGL Audio Visualizer is a C++ desktop application I built for a computer graphics course. I wanted to create something more interesting than a standard graphics demo, so I made a reactive 3D visualizer that turns music into movement, lighting, scale, and color.
The application analyzes audio in real time using a Hann-windowed 1024-point FFT. The signal is divided into bass, mid, and treble bands, with each range controlling a different ring of spheres, toruses, or cubes. Envelope following and automatic normalization keep the animation responsive across songs with different volumes and frequency balance.
The graphics pipeline uses OpenGL 4.5, Phong shading, cubemap reflections, and an environment skybox. An ImGui control panel allows object counts, ring sizes, reaction intensity, camera settings, lighting, and dynamic color behavior to be adjusted while the visualizer is running.
Audio playback is handled by miniaudio, while KissFFT performs the frequency analysis. The application can load WAV, MP3, and FLAC files at runtime and falls back to a time-based animation when no audio is available.
Building the project gave me a much better understanding of how a real-time graphics pipeline works, from shaders and buffers to camera movement, lighting, audio analysis, and rendering animated 3D scenes.
Gallery
OpenGL audio visualizer second perspective Visualizer settings