I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

February 09, 2006

On Audio Visualization

I'm a big music fan. And as a longtime computer enthusiast, I've always been intrigued by the intersection of computers and music: audio visualization. The first experience I had with visualization was the 1993 CD-ROM add-on for Atari's short-lived Jaguar console. It included Jeff Minter's VLM-1 (Visual Light Machine) burned into the firmware:

Atari [was] developing a CD-ROM add-on for the Jaguar, and me and Ian Bennett, one of the Inmos guys, flew out to Sunnyvale to pitch them the idea of building a VLM implementation into the CD-ROM's firmware, to be invoked whenever the user played an audio CD. I was in particularly good favour at Atari, since "Tempest 2000" had been released to a degree of critical approval, and we got the green light to develop VLM for the add-on. It took about six months to make, with me doing all the graphical stuff and Ian writing the code to sample the audio stream and generate a frequency spectrum analysis which I then used to drive the visuals.

Atari Jaguar VLM control panel

The results were very pleasing - I have vivid memories of going into the office in Sunnyvale when we were out there finishing off the code, and finding Leonard Tramiel playing classical music through it and dancing ecstatically around my cube.

The VLM-1 was just the latest in this llama-obsessed developer's series of software experiments with audio visualization, going all the way back to 1984..

Psychedelia 1984 Commodore 64
Colourspace 1985 Atari 400/800, Atari ST
Trip-a-tron 1987 Amiga, Atari ST
VLM-0 1990 (unreleased) Inmos Transputer
VLM-1 1994 Atari Jaguar CD-ROM
VLM-2 2000 Nuon
VLM-3 2003 (unreleased) Gamecube
Neon 2005 Xbox 360

.. and ending with the Xbox 360. It was quite a coup for Microsoft to get Minter to write the visualization software embedded in every Xbox 360:

[Neon] finally realizes my design of a modular lightsynth on top of that awesome computational power, and inheriting the multi-user controllability from VLM-3, and the results are simply amazing. Even I am continually amazed at what it is possible to get out of it, and I designed it. It is a true light synthesiser, and easily the most beautiful thing I have ever made, by a very long way. We thought VLM-3 was good, but this makes VLM-3 look like Psychedelia. It's truly a generational increment - hence after years of long service I decided it's finally time to lose the VLM name.

It can be used purely as a visualizer - but a visualizer which instantly obsoletes all those still currently struggling along with VLM-1 techniques straight into the Stone Age. Or you can pick up the controllers and feel what it's like to fly it as a Crew. It is truly a thing of beauty... I believe it finally begins to achieve the potential that I saw all those years ago when I first made Psychedelia... and I am happier with it than I have ever been with anything I've created in my entire career.

Talking about the Neon visualization doesn't do it justice. You have to see it in action to appreciate how impressive it really is. If you have an Xbox 360, rip an audio CD and try it yourself. If you don't, Minter provides screenshots and movies.

I remember looking around in vain for PC audio CD visualization software in 1996; it took the MP3 revolution and WinAmp to make audio visualization mainstream several years later. Minter clearly influenced an entire generation of PC programmers:

A while after [the Atari Jaguar's CD-ROM add-on] was released, other "visualisers" started to appear on the PC, and at one time I was at a computer show in the US and one of the guys from Nullsoft came up to me and apologised for "borrowing" the techniques I'd used on the Jaguar VLM for their own visualisations. And, in fact, to this day much of the visualisation stuff that you see in the likes of Winamp, Windows Media Player and iTunes uses fundamentally the same technique - using feedback to amplify small source input dynamics - that I used in VLM-1.
Although the grandaddy of the PC visualization scene is the DOS based Cthuga, the breakthrough PC visualizers were both WinAmp plugins: Geiss and G-Force. G-Force, as noted in this 2001 Wired article, has an interesting history:
For Andy O'Meara, creating a trend-setting computer graphics program has been a thoroughly depressing experience. After launching his program-turned-phenomenon, O'Meara had to ship out on a five-year tour of duty in the U.S. Navy.

Last year, O'Meara released G-Force, software that "visualizes" music through an ever-changing stream of trippy graphics that morph and pulse to the music's beat. G-Force, and other "vis" software like it, are rapidly becoming the equivalent of flying toasters -- a wildly popular and instantly recognizable icon of the times, like lava lamps or disco balls.

But for O'Meara, finding himself at the vanguard of the movement has been anything but uplifting. Thanks to the Navy ROTC scholarship program that paid his way through college, O'Meara spends most of his time on a nuclear submarine when he could be embarking on a multimedia career. He has already been offered the chance to join pop star Seal's forthcoming Togetherland tour, and he signed a lucrative licensing deal with Apple that convinced him he can make a living writing code. "If I wasn't in the Navy, I'd be on tour with Seal working on visuals for him," said O'Meara from his home port of San Diego. "Am I depressed about it? Yeah."

As alluded to in the article, G-Force was licensed for inclusion in iTunes. It looks like O'Meara survived his stint in the Navy and is now actively maintaining and selling G-Force, with plugins available for virtually every player out there. Geiss, on the other hand, is still WinAmp-only, and the latest version was released in 2003.

Although G-Force and Geiss are still decent visualizers, they've barely evolved at all: they are limited to 8-bit color internally, and make no use of hardware acceleration. On the plus side, they use very little CPU time on a modern PC, either. Seeing the Xbox 360 Neon visualizer next to these two makes them look antiquated:

gforce visualization   Xbox360 Neon visualization

 I suppose we'll have to wait another few years for the audio visualization developers to catch up to the hardware capabilities of newer PCs.

Posted by Jeff Atwood    View blog reactions

 

« Hazmat Placards and Icons Presentation Zen »

 

Comments

I think this beat Commodore by a few years, the Atari C-240 VideoMusic machine. It was out in 1977, maybe sooner.

<a href="http://www.atarimuseum.com/videogames/dedicated/videomusic/videomusic.html">http://www.atarimuseum.com/videogames/dedicated/videomusic/videomusic.html</a>;

Kyle A. Miller on February 12, 2006 03:12 AM

Although you programm know Jeff, Jeff (Minter/Yak) has done an improved version of Neon for the PC. It's currently in beta testing but should be released soon. Check out his blog @ <a href="http://stinkygoat.livejournal.com/">http://stinkygoat.livejournal.com/</a>; for lots of screenshots, including using the WebCam feature!

Ian on February 12, 2006 06:23 AM

You may be interested in music-oriented video games. These have always been around, but I would say that the genre-defining game is Sega's excellent Rez (<a href="http://www.mobygames.com/game/ps2/rez)">http://www.mobygames.com/game/ps2/rez)</a> - check it out, you're in for a treat :-)

Tomer Gabel on February 12, 2006 06:46 AM

Glad you like Neon }:-D.

You may be interested to know that Neon/PC is in the very final stages of beta test now and should be out shortly. It's considerably extended from the X360 version, allowing for the use of images from the PC hard drive and live video input in the effects, and contains the entire modular synth-like editing system used to author the x360 effects allowing everyone to create their own stuff. It's really a lot of fun }:-).

Yak on February 12, 2006 07:22 AM

Er.. wow. No, I did not know that! I'm looking forward to a test drive ;)

Jeff Atwood on February 12, 2006 04:05 PM

Ryan Geiss since worked on Milkdrop for Winamp (and got hired by Nullsoft), which makes good use of Direct X and creates some utterly mindblowing 3D effects using multiple planes, dynamic use of injected assembly and no-end of funky bit-twiddling in the frame buffer :-) Better still, he's made the source code and a Winamp plug-in framework available for download :-D If only I could understand all that code... http://www.nullsoft.com/free/milkdrop/ http://www.geisswerks.com/ and http://www.milkdrop.co.uk

Christopher Morgan on February 13, 2006 05:36 AM

i've always liked R4

<a href="http://www.rabidhamster.org/R4/main.php">http://www.rabidhamster.org/R4/main.php</a>;

winamp plugin and standalone, 3d accelerated and great

.overlord. on February 13, 2006 11:08 AM

> You may be interested in music-oriented video games

What, like this?

http://www.codinghorror.com/blog/archives/000437.html

;)

Jeff Atwood on February 19, 2006 06:40 AM

Interesting screensaver based on genetic algorithms, voted on by people watching them, and communicated over the 'net:

The Electric Sheep Screen Saver
http://www.electricsheep.org/index.cgi?&menu=about

Jeff Atwood on February 10, 2007 01:42 AM

When is Neon hitting the PC? Is it out by now? The visualizer on iTunes really sucks...........please help.

Josh on April 20, 2007 02:47 PM

I found BeatHarness a few weeks ago, and I like it 'cause it's more like a 'real' VJ in that it also uses videoclips etc.

All the other audio-visualizers just look like another winamp-plugin, not anything like what a VJ would do at a party.

Tilter on June 19, 2007 07:58 AM

I found BeatHarness a few weeks ago and I like it better than most other visualizers because it also uses videos & images...
It looks a lot more like what a 'real' VJ would do i think.
Most other visualizers look like just another winamp plugin.

Tilter on June 19, 2007 08:00 AM

I am surprised there was no mention of AVS in this article...

http://en.wikipedia.org/wiki/Advanced_Visualization_Studio

The programmable visualisation shipped with Winamp for years. It is completely programmable, with its own simple language, and so is great fun to play with if you are a programmer.

PAK-9 on July 17, 2008 11:20 AM

recently i was staring at the audio visual playing in my avs dvd player [plays music too, not just dvds] and realized how bland my desktop is. Do you know any way i can make an audio visual play as my desktop background? google was not friendly, kept wanting me to buy software for something i did not want :\

danke schon if able to help me

Spencer Bess on October 4, 2008 11:23 PM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.