Abstract Music Visualizer

Gabriella Santiago - CSC 471 - Spring 2018 - Christian Eckhardt

Project Description

For my final project in CSC 471 I chose to do a music visualizer. A music visualizer is a visual component that takes music as input and the graphics animate according to the data of that input. I chose to create a music visualizer because it is a unique challenge to take varying data such as sound and turn it into a visual graphic.

Technical graphics implementations include:

  • Hierarchical Modeling
  • Using uniform variables to change color
  • Keyboard input
  • fftw Libraries
  • Frame buffering
  • Post-processing

Screenshot of music visualizer

Milestones

Milestone 1

In this milestone, I had to understand the music visualizer base code and how to change the graphics according to the sound. For the first iteration, when a low note is played, the sphere will scale up. When a high note is played, the cube will scale up. This milestone was crucial in implementing basic functionality. All other visuals were built upon this initial step.

Screenshot from Milestone 1.

Milestone 2

In this milestone, I refined the visuals. I added several more models, implemented hierarchical modeling, and used a frame buffer to give the objects a glowing effect. I also made the program more interactive by adding keyboard functions, allowing the user to look at the visualizer object from many different angles.

Screenshot from Milestone 2.

Milestone 3

In this milestone, I improved the visuals and added more functionality. I also added a post-processing effect that will allow the user to increase the number of windows the visualizer has. Additionally, the glowing effect was improved to look less pixelated, and the glow can be toggled on and off.

Screenshot from Milestone 3.

Functionality

  • A and D keys rotate the object around the y-axis
  • W and S keys move the camera forward and backward
  • Q and E keys rotate the object around the z-axis
  • Spacebar puts the object and camera back in their original positions
  • F and G keys toggle the glowing effect
  • R key adds windows/ multiplies the frame buffer texture
  • Final Product

    Here is a demonstration of the final product. Apologies for the poor video and sound quality. In the demonstration, the glow is toggled on, and the object is moved in different angles as the music plays.

    Some Things of Note

    I learned that volume has a great effect on how the graphics behave. When testing on my laptop, I had to make sure the volume was at 100% in order to see a more compelling result. But when played on a more powerful machine, such as a desktop, I learned that the volume didn't have to be at 100%. This is because of the way the Stereo Mix works on each machine; no two machines are alike!

    Resources