Project Portfolio

Dan Maynes Aminzade

Research

Actuated Workbench
Audience Interaction
Hover
You're in Control
Edible User Interfaces
Fuzzmail
KC-135
OSCAR

Schools

Stanford
MIT
Carnegie Mellon

Industry

MERL
Microsoft
Adobe
Disney Imagineering

Fun

Unsafe Search
Music Visualization
Mobot
PantsCam
Taboo Database
Pointillism
Painting
WebAmp

Zany

Tacos
SETI Joke
Pepsi Database
Love Calculator

Hacks

AdBall
RCA Lyra
Stone Cold

Humor

SURG Proposals
Female Pop Singers
Satan Baby
Wesley Willis

Music Visualization

Dancing Robots

Wouldn't it be wicked cool to have a cute little robot on your desk dancing to Fatboy Slim?

Winamp provides a nice API for writing music visualization plug-ins.  I wrote a plug-in that sends signals to the parallel port that correspond to the waveform data in the song being played.  By setting the pins of the parallel port on and off, I can control the robot and attempt to make him respond appropriately to changes in the music.


Aww... isn't he adorable?
The wires coming out of the back of his
neck are a little creepy though.

My first dancing robot prototype was a metal and rubber incarnation of the Kinetix dancing baby.  I took the baby's rubber arms off, inserted circular plastic joints, and soldered them onto some 99-cent DC motors from Radio Shack.  The motors were hooked up to a protoboard on which I built a circuit that turned them on and off in response to the signals from the parallel port.
Unfortunately, the baby's thick arms were a little too heavy for the wimpy motors I was using.  Instead of a dancing baby, all I got was a baby that twitched uncontrollably to the music, as if Winamp were giving  him an epileptic seizure.

I decided to try a smaller dancing figure instead, so I outfitted this Buzz Lightyear action figure with the same motors.  He dances in rhythm very well for songs with strong drumbeats, but not as well for quiet songs.


Right about now, the funk soul brother...

I'm going to try to build a better version of the robot that uses servo motors to move the robot's limbs in a more controlled fashion, but I'm a little concerned that this will make the cost of the robot too high (right now, the entire thing can be built with 5 dollars worth of electronic components).

Spline Shapes

MonzyVis is another visualization plug-in for Winamp.  It creates generalized cylinders from spline data that pulsate and shift color in rhythm to music.  The plug-in also allows you to flow through a 3D "tunnel of music".  The shape of the tunnel and the camera path are specified by a spline designated by the user.  As you fly through the tunnel, the colors on the walls of the tunnel shift in response to the intensity of the music at varying frequencies.  The result is a colorful tunnel fly-through that matches the music.  The plug-in can load splines from a built-in collection or from a user-specified file containing spline data.


Whoa... psychedelic.

You can download the plug-in here.  You can also download a sample animation in both AVI and MPEG (lower quality) formats.

BubbleVis

The Information Percolator is an aesthetically pleasing ambient display display device developed by Scott Hudson, a professor in the Human-Computer Interaction Institute.  The Percolator consists of a series of water-filled tubes with aquarium bubblers at the bottom of each tube.  The bubblers are driven by a microcontroller connected to a networked laptop.  This laptop acts as a server, enabling anyone to send commands to the percolator using the Java RMI.  For more details on the information percolator, you can read professor Hudson's UIST paper.


The Information Percolator.

It seemed to me that music visualization would be a natural application of the information percolator.  After discussing the setup of the Information Percolator with Scott Hudson, I wrote a Winamp plug-in that uses JNI to make calls to the percolator in response to music.  The 32 tubes correspond to 32 frequency bands, and each tube bubbles with an intensity proportional to the amplitude of its corresponding frequency band.