471 Final Project: Song Visualizer

General Description

I love music, so I wanted something related to it for the final project. I decided to make a graphic equalizer for songs! I used FMOD, a music library, to play a song and analyze it using a Fast Fourier Transform algorithm. I used that data in real time to create graphics to show the song frequencies. I have a small beat detection algorithm that will change the colors and shoot particles from the bars. I change the color by randomizing the background color, and calculating complementary colors for the shapes and particles using HSL conversions. I use billboard instanced particles in multiple ways to add some extra spice to the graphics. One set shoots from the bars on beat, the other rains down like a confetti cannon, and the other explodes from a moving sphere like fireworks. Billboard instancing is an efficient way to create lots of particles using a constant quadilateral.

Lessons Learned:

External Libraries Used:

Pictures:


Video: