The Pixelmusic 3000

June 30th, 2008 by tarikh

Behold the Pixelmusic 3000, the music visualizer on a microcontroller. The PM3K was created as a project and article for Make Magazine. This means the schematic, parts list, code and a photo/text walkthrough explaining the build are printed for anybody to make or modify as s/he wishes. The PM3K is intended both as an ode to a forgotten technology–in this case the Atari Video Music–and as an entree for folks interested in the wonderful world of microcontrollers, hardware and software prototyping.

In the last 30 years, the technologies that enabled the Atari Video Music have been lapped countless times on the circuit of home entertainment devices. The upside is that today those technologies are more accessible to hobbyists than ever before. The PM3K takes advantage of the fact that these technologies are smaller, cheaper and easier to implement than ever before as well. If that sounds like your cup of tea, I recommend checking out issue 14 of Make–not only is the PM3K in there, but there’s tons of other projects for the novice and expert alike to get his/her hands dirty with.

The Atari Video Music

So what is the Atari Video Music? The AVM was created In 1976 by Pong creator Bob Brown. It was released a year before the 2600, and it has the primitive/lovable graphics to prove it. The AVM was intended as a music visualizer that connected your stereo system to your TV set. In a nutshell, it made abstract, pixelated graphics that responded in real time to the music coming out of the stereo. When watching the unit in action today, one is (If I may quote my own snarky article) “taken back to another time, long before iTunes and Winamp visualizers–a time when vinyl, denim, Foghat, mood rings, limited color palettes and Radioshack’s business model all made sense.”

The AVM is a novel device, never having made it past 1976–sort of like a scratchy demo tape from a favorite band before they became famous. Despite its obscurity, it did have a couple sightings in pop culture–at least as an extra in the background. It can be spotted as a keyed layer in Devo’s video for “The Day My Baby Gave Me a Surprise”

Picture-6.jpg

and as a background prop in 1979 cult classic, “Over the Edge”.

Picture-10

I did some research and turned up a schematic for the AVM. This tantalizing low-res document was just clear enough to give me a sense of how the thing was made, but also indecipherable enough to have no idea what the actual part numbers were on anything.

avm-schematic.jpg

What I could glean was that there was a simple processor (perhaps the same Mos 6507 used in the 2600?) some comparators and some amplification stages. What this told me was that, in all likelihood, the way the AVM worked was by using the comparators as simple analog to digital converters, and converting the left and right sound channel voltages into ones and zeros that the processor could use to generate shapes and colors.

I looked at some youtube videos of the AVM in action, used tubesock to convert them to quicktimes, and went through them frame by frame.

avm-frames

What I came to conclude was that the AVM code wasn’t really too complex. There were some limited color palettes and limited shapes and a lot of randomization in picking them. The clearest relationship was between the volume of a given channel and the size of the shape, it looked to me like the rest–color, placement, actual shape were largely arbitrary. And I based my own code on this conclusion.

It was an interesting insight. It seems we humans are wired to draw conclusions between sound and image, even when there may not be much of a correlation. At first, I just assumed that the AVM must be doing some signal processing, pulling out frequencies and using them to drive hue and shape. But signal processing is just far too demanding a task for the simple processor in the AVM. So if you think about how film works–sequential, static images displayed one after the other to trick our senses into seeing motion–the AVM pulls off a similar trick, using color and shape changes to imply a more intelligent correlation between sound and image than may be there. Don’t get me wrong, far from seeing the AVM a cheat, I see it as a brilliant use of the technology available to the developers some 30 years ago.

Roots

While I didn’t have an AVM growing up, there was certainly plenty of mystery surrounding it’s cousin, the 2600. I was too young to know how something as complex as the 2600 worked, and to me the machine was a magical device. When I was 12, I took a screwdriver to the case, the joysticks and the cartridges in an attempt to get a better understanding of the thing. I even started placing masking tape over different pins on the game cartridges before inserting them to see how it affected the gameplay. But all that poking just increased the mystery and magic for me.

So the Pixelmusic 3000 was a return to my roots. But this time armed with a multimeter, a soldering iron, fake wood-grained contact paper and a bit more experience than my 12 year old self possessed. And the pleasure of the thing was, after so many years of mystery shrouding a childhood object, I now kinda-sorta get how the thing (the 2600) must have worked. And likewise I kinda-sorta got to make one (PM3K) myself. That’s a pretty cool feeling. It feels like watching the invisible walls between magic/reality, past/present, and consumer/producer come down pixel by multicolored pixel.

IMG_1595

6 Responses to “The Pixelmusic 3000”

  1. jim says:

    tarikh you rock! i love this.

  2. Hi there, thanks for this!
    Just wondering which components would need to be replaced for this to work with PAL televisions?

    Thanks.

  3. admin says:

    I think the hardware is the same for PAL, but you will need to change the software. It may be as easy as changing the “tv_mode” parameter on line 436 of the spin file.

    Another place to try for help is the propeller forum:

    http://forums.parallax.com/forums/default.aspx?f=25

    If you get it working, please let us know, we’d love to have a PAL version of the code to post.

  4. Hi Tarikh! Hope having your mom respond here doesn’t freak everyone out. I don’t understand much of the jargon above, but I do get how clever this is. Just let me get one thing clear: You took your Atari game apart at the age of 12??!! It’s especially clever of you that I never knew!! I’m pretty sure that would have freaked me out given how expensive it was and how little money we had at the time. But I’m proud of you for being so curious and clever both then and now. Thanks for sharing.
    Love,
    Mom

  5. C-Dawg says:

    Although I had no idea what you were talking about when I started reading about this thing (guess I missed that technology), I actually started to get it by the end– nice job explaining things TK! So what next?

  6. Nathan says:

    I built the breadboard version of this and am getting some video signal responding to the music, however… the music is coming through very weak, and the video is rendering a group of white bars on the screen that correspond by size and number to the music amplitude. Any ideas if I have bad code, wrong voltages, or something like that? I’ve been troubleshooting and haven’t found any fixes yet.

Leave a Reply