Exploded mesh

AUDIO VISUALIZER

JAELYN DOMINGO

CPE 471

Home Demo Photos Key Controls Technologies Resources

Project Demo

For my final project, I decided to create an Audio Visualizer program. I really enjoy going to concerts and seeing the visuals that move according to the music. I wanted to create one myself and use it with my favorite songs! Enjoy :)

Here is a demo of my audio visualizer. The demo shows two audio visualization features implemented: (1) bass detection with a geometry shader to explode the mesh and (2) treble detection with a mesh deformation function. All camera moves and animations are based on the song "Fly" by San Holo that I used for this demo.


Project Photos

Mesh explosion
Mesh explosion
Mesh explosion
Mesh explosion
Opening Scene

The program starts with a fly camera to the intro music and features a view of the entire scene/world, the bpm pulsing stars, and a galaxy sky box.


Hierarchical Modelling and Animation

and I used hierarchical modelling for the pentagon cage that contains the bobbing sphere. I animated the wireframe and textured sphere to bob up and down together using a sine function and rotate separately on their own axes.


Geometry Shader/Bass Detection

I used a geometry shader to explode the sphere mesh into separate triangular faces by passing in a uniform for the explode factor bassed on the bass detection algorithm data. I used frequency analysis on the low end of the spectrum to get frequency readings for the bass and detect bass in the song.


Mesh Deformation/Treble Detection

To create the mesh deformation visualization, I used a function that used spectrum data to modify the position buffer of the sphere mesh. The spectrum data that modified the vertex positions were read from the higher frequency portion of the spectrum to get treble data.


Key Controls


Strafe
  • [A] : move left
  • [D] : move right

Dolly
  • [W] : move forwards
  • [S] : move backwards

Program Features
  • [R] : rotate fly camera around origin
  • [F] : high frequency mesh deform
  • (default is bass explosion)


Mesh explosion

Key Graphics Technologies



Resources


FMOD Programming API

Frequency Analysis

Mesh Deformation

Geometry Shader