Vadim Maximov

CMPS161 Winter 2010

vmaximov@ucsc.edu
Source Code
Project Report

3D Equalizer


The Idea:

Extarct lows, mids and high frequency from the music and create 3D equalizer.

Here is my attempt at 3D version


Here is the video of whole thing

If you can't see the video above, click on the link below

Equalizer video

It is not quite traditional equalizer. Mine has different parts that represend different things in audio.
For example start shaped one, has flux, centroid, rolloff and volume representations in different parts. Square has centroid on the outside ring and flux + rollof in the middle. Line represents amplitude.

Project Details:

For this project I used sndpeek as a base for getting audio frequencies.
Equalizer is composed of series of bars.
Each bar has x and z coordinate. Also bars have color and height fields. (bar.ccp)

Each equalizer is composed of one or more arrays of bars.
I set up a loop where each bar in the array gets updated height.
Height comes from the sndpeek's FFT algorithm, which enables them to calculate
centroid, flux, rms, roll-off, amplitude and other values.

*See my project report document for full details

User Guide:

Help Menu pops up when program is runing

Controlls are quite easy



press 1 for square shape, 2 for star, 3 for line. press q to quit

Also can rotate the camera by holding left/right mouse button or pressing 9 or 0

< > keys will tilt/rotate camera around x axis

Pressing a number will show/hide the shape,
you could have all 3 at the same time, but that would be a mess as they will be on top of each other,
not to mention will run very slowly. For the best results it’s best to have only one shape at time.
Press q to quit or just hit regular X at the right top.


Tips on Running the Program

I used Microsoft Visual Studio 2010 on Windows 7 32-bit.
1. Install OpenGL libraries.
2. Install DirectX SDK libraries
3. Have all correct linker parameters in Visual Studio settings:
Go to project Properties->Configuration Properties->Linker->Input.

Under Additional Dependencies should have these:
odbc32.lib;odbccp32.lib;dsound.lib;dxguid.lib;glut32.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)

4. Program takes in wav/aiff/snd/raw/mat files. Does NOT play .mp3 files!

Also takes in microphone input if nothing is specified in the command arguments.

Resources:

Winter 09 Music Fountain project

sndpeek real-time audio visualization