Making Drumpants
In order to make a pair of DrumPants, you need:
- A MIDI Trigger Converter, such as the Roland TMC-6, to convert audio to MIDI
- A General MIDI instrument and amplifier and speakers (I gutted my cheap Yamaha PSR-200 keyboard).
- Piezo transducers as contact mic triggers, wired to 1/4 plugs for the Roland.
- Pants (I used some HUGE Dickies shorts to facilitate easy-access drumming.)
Thanks to the Florence French scholarship that funded this project.
Taking Apart the Keyboard
You'll need a MIDI instrument to play the drum sounds. The easiest way is to take a cheap MIDI-capable keyboard and gut it, then place all the guts in a smaller box so you can carry it around with you in a backpack.
Converting to MIDI
My prototype design used a MidiTron and some custom circuitry to convert audio signals from the piezo contact mics to MIDI signals. However, I got lazy and bought a nice little piece of equipment to do it for me, the Roland TMC-6.
The nice thing about the Roland is that it accepts many different kind of triggers (the $20 Roland kind AND the cheap $2 homemade kind), and gives you many options for setting the threshold, crosstalk cancel, etc... To change those things with my original design would mean swapping out capacitors, etc. and was too much of a pain to deal with.
The stupid thing about the Roland is that it only comes with a power adapter, with no option for battery power (a must for portable DrumPants). However, I wired a standard 9v battery to the Roland and it's been running great for days! (Just make sure you get the polarity right!)
P.S.: Alesis just released a MIDI trigger converter that trumps the Roland in about every respect, and it's $100 cheaper! Too bad I didn't have time to wait for it to come out.
Bringin' it Home
Once the triggers are connected, put everything in boxes as separate modules. Then connect the pants to the Roland, the Roland to the MIDI synth (Yamaha), turn everything on and start whalin'!
Visualization Software
For less-mobile performances, you could skip the portable Yamaha and hook the Roland directly up to a computer. Then you can use Max/Jitter to play drum samples and trigger visualizations on a huge screen. You could also connect a MIDI drum synth in between the pants and the computer, if you don't want to deal with sampling in Max (I didn't. Yay Procussion!).
I programmed a quick Jitter patch that creates randomly colored spheres in random sizes at random places on the screen and twirls them around. Due to the lack of hardware in my laptop and the general lack of OpenGL speed in Jitter I programmed the spheres to explode and disappear in a white cloud of smoke like ninjas every time I hit the crash cymbal. This way the spheres won't build up and slow your framerate.
Note that in OSX 10.3, the glcolor command doesn't work and you must supply a glmaterial and corresponding lighting to color the spheres. In OSX 10.4, the opposite is true and you must use the glcolor command or all you get is grey. Weird.
Download the Max/Jitter Visualization patch (7KB Max Binary for OSX 10.4)
The Future of DrumPants
Ideally, a cyborg needs a type of virtual proprioception of its artificial parts. With any cybernetic interface, a question of feedback comes in: how does the user know where to hit? A visual response when the user triggers a drum, like a perimeter of colored LEDs outlining the hit area, would offer spatial as well as temporal feedback, bringing the virtual drums further into reality.
It would also be fun to employ a set of drumsticks for more precise drumming, but unless you're going to surgically attach them to your hands, you won't be a true cyborg.
As for the software, I plan to make a sequence trigger-system, so you could activate a melody line by hitting a certain sensor, or perhaps a bass line could be articulated through sequential kick drum hits. My housemate suggested connecting them to a loop system, so I can be a one-man band!
Also, the visualizations should be improved. I was going to add effects to the basic spheres, but as it turns out rendering OpenGL to a Jitter matrix is extremely slow, making anything but the basics pretty much impossible. Perhaps a more spatial visualization that virtualizes locations of specific drum sounds would be more interesting, or going the other way with a completely abstract connection between drum hit and visual effect would be in order (like a movie playing that was subtly warped by each cymbal crash or something).
In collaboration with artists Marc and Phoenix, we are going to make a system for playing Nintendo with the DrumPants and other instruments. Soon you will be able to play Mario on the drums! How awesome!
