City Audio Visualizer
Wide City Image
City Audio Visualizer
Winter 2020
Syrsha Harvey

Project Description

The main technologies I incorporated into my final project include:

-FMOD audio library
This involved the most outside-of-class work merely due to figuring out how to set up the FMOD library and reading in the live sound data. There are many tutorials online but most deal with an outdated version of FMOD that you have to actually e-mail the developer to download. The links I found most helpful to do this are listed in "Resources" below.

-Interactive matrix transforms
This mostly involved scaling the buildings' height in relation to the sound data being read in. The transforms were relatively simple, but also involved some hierarchical modeling as some of the buildings contained multiple objects.
---Hierarchical Model Transforms
The two building clusters in the corners of my plane are made of many objects and scale relative to each other and the skyscrapers around them. The hot air balloon circling the empire state building also relies on the size scaling of the central cluster of buildings.

-User-controlled camera movement (dollying, strafing, rotation)
The user can control camera rotation through clicking and dragging, and translation through use of WASD keys. This involved calculating dolly and strafe vectors based off of the lookAt, eye, and up vectors that we defined/calculated.

-Blinn-Phong lighting
I incorporated a gradient of building material throughout my spectrum of surrounding buildings. This gradient goes from a shiny blue plastic to a shiny red plastic that are both have high specular constants and use Blinn-Phong shading.

-Skybox
I incorporated a skybox that I found online. The website is listed below in "Resources."

Images & Videos

project image 1 project gif 1

Resources

Skybox

Helpful Project/FMOD Links:
Music Visualizer Example
Main Code to Read In Frequency Spectrum
Example Music Visualizer Code
Tutorial for Linking FMOD in Visual Studio

@KyleKing for help setting up this webpage!