"Musical Space": A Music Visualizer
by Michael Perl



Why

There are easily a few hundred visualizers already available for free or cheap, ranging from "I'd-rather-stare-at-a-blank-monitor" awful to "I-will-never-listen-to-music-again-without-this-on" incredible. So why make another? I have yet to find an interactive visualizer. Sometimes you're in the mood to stare, entranced, at a wild array of colors and waves, but other times you wish you could take the controls and create your own experience. Other visualizers also have issues reacting to material mastered at different rms levels. They may respond well to an album from the sixties with dynamic volume, but when a modern, loudness-war'd out track comes on, the visualizer is a mess of constantly peaked intensity. I wanted to solve this problem by scaling the volume to the same relative level for a more consistent visualization.

The result is a visualizer that doesn't require user input to be entertaining, but that can be fiddeled with to create a user-controlled watching and listening experience. I chose a stylized outer space theme for my visualizer because I wanted a surreal, fluid environment that has its own sort of musicality.


How It Works

The visualizer was created with the Unity 3d game engine. The environment is fully three dimensional and physics based. All the events occur in a spherical region centered at the camera to create a sense of endless space. First, the audio data is scaled to account for volume descrepencies between albums, songs, and parts within songs to combat the issue with volume discrepancies mentioned above. This scaled volume data is then used to control the density of the stars and the overall brightness of the scene. Also, the visualizer extracts beat data and uses that to generate asteriods, comets, nebulae, and galaxies on beats in the music. The environment is a product of the musical data.


Download The Visualizer


How to "Play"

1. Get a Mac.
2. Before opening the application, set your computer's input source to "Internal Microphone." As of now, the visulaizer can't react to songs played directly from your computer, so you have to either use your internal mic to capture the sound from the speakers, or feed audio into your line input.
3. Use the arrow keys to move forwards and backwards and use the ASDW keys to rotate.
4. The numbers in the upper left show the scaled volume data. If it's at 0, then you're doing something wrong. Nice work.

"Musical Space" in Action