Sound equalizer with FMod and OpenGL

over 3 years ago malczak c++, opengl, graphics comments

Some time ago, just for fun, a wrote a simple sound equalizer. Example of how it works can be found on YouTube


Learn more and download free source...


Application uses fmod sound library to play sound and to get sound info from mp3 files. Visualization was made with use of OpenGL and GLUT library. It was compiled and testes on both Linux and Windows operated computers. Application also uses libpng to save rendered frames.
Most important part of code is fmod initialization


Variables specL and specR will be used to store FFT sound spectrum. We get FFT spectrum we need to use fmod Channel object method


And... thats all You need to create simple sound equalizer :)



Some people asked for code, and now it can be downloaded here. My code can be quite easily customized, spheres behavior can be tuned with two functions.

First one controls how high peeks go out of the sphere. Second one controls sphere scaling.
Next some customization can be made where call to sphere rendering function is made.

Seting different parameters of this function one can get sphere ( tang=PI, pang=2PI ) or ring (tang=PI/2, pang=2PI) and so on. For example in next video we can see 'rings' instead of spheres.
Forgive the music, i needed more bass :)



almost forgot

source file is HERE


Comments

over 3 years ago Samuel Batista #0

Hi, thank you very much for this little piece of code. I was looking for a way to incorporate sound analysis with games and this was a life saver. Perhaps in the future you could explore more advanced topics, such as Beat Detection. Or perhaps if I succeed in my research I can provide you with samples from my code. Thanks a lot once again!

27 days ago Sakari Lehtonen http://GeoKone.NET #1

Thank you for sharing this, nice clean code to look at. Looking into visualizing sounds with GeoKone, a sacred geometry generator I've been developing :)

New comment

  1. (with http or https prefix)

  2. (use [code][/code] tags to post a code snippet)

  3. (javascript is required)

Website content premeditately commited by malczak & sobstel.
Layout by mlando. Icons by dryicons.com. All rights reserved.