[PROG] Audio Visualizer

A work in progress audio visualizer made with C++. I used Fmod as the audio library. Intention is to visualize audio through input like volume, frequency, pitch and beats per minute.


UPDATE 29/03

Added more visual stuff!


UPDATE 04/04

Changes since last update:

  • Library interface (add songs from file to library, saves library to file and loads up library on startup)
  • Add and remove tracks from library
  • Shuffle/repeat/repeat one options for (automatically) playing songs after one another
  • Visualizer now keeps going even when the window is unfocused.
  • Keeps track of “listening history” (return with “<<” button and skip to next song with “>>”)
  • Some small visual changes (shape speed, rotation, amount, size, …)
  • Interfaces are automatically docked to specific corners of the screen on startup


LOGO: 05/04

Made a quick ‘lil logo in Adobe Illustrator for the program, no real name yet though.



UPDATE 12/06: v0.05 and BETA RELEASE

I think it’s fair to say Audio Visualizer is now ready for (beta) release.

You can download it by clicking the image below.


– There is now a scroll bar for the library list. A green line shows where the currently playing track is located.
– The buttons are now slightly rounded to make them look nicer.
– The shapes are now less frequent, but rely on the highest registered volume since the last shape was added.
This is done so short louder parts of a song never go unnoticed.
– The volume effect now appears on the top and bottom of the screen instead of the middle. It also has rounded corners.
– Added “NOIRE” (5) and “SHADOW” (6) theme.
– Settings (checkboxes, sliders, interface layout, theme) are now saved.
– Added search function to library
– Added library loading and creating new library files. Library files are now .avl (Audio Visualizer Library) files instead of .dat files. This feature provides a way of loading in different libraries from files. It also provides an elaborate way of making playlists.
– Program now continues even when minimized.
– Solved some problems caused by removing tracks.
– The ID3 tag (title/artist/album) reading has been improved, and now avoids most (if not all) cases of weird character sequences (like “UUUUUUUUUUUU…” or a series of nonsensical symbols, letters and/or numbers).
Note that some songs will still not have artist and album available since they don’t have an ID3 tag.
– Info now displays both the file name (sans file type, like .mp3) and the title.
e.g. name = “01 – Burn The Witch” | title = “Burn The Witch”
– Adjusted the slider’s “snap to middle” property (see pitch slider).
The slider used to snap any value between 45% and 55% of the slider to 50%; instead, now the slider snaps when the mouse drags the slider within a (horizontal) range of 3 pixels of the middle pixel.
This resulted in the pitch to always be in the range of [0.0;0.90] + 1.0 + [1.10;2.0], regardless of the width of the slider.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s