Boris Smus

interaction engineering

Ubiquitous drums

Look at the riders of any city bus. Many of them are plugged into their music players, tapping away to the beat. I propose to augment our natural love of rhythm into a ubiquitous wearable drum system. The target user of this system isn’t only the typical rhythm loving bus rider, but also an amateur drummer. Drum kits are heavy and unwieldy, making them difficult to transport to a jam session. The proposed system can also act as a stand-in for a full drum-kit for quick, impromptu jamming.

I took a pair of jeans and imbued them with two force-sensitive resistors, one on each knee. The left pocket houses a sparkfun box containing an arduino and a breadboard. Wires run through the pant legs to connect the pads to the box. Wiring the pants was surprisingly easy, since as I discovered, electric tape easily adheres to denim.

The two FSRs are hooked into pull-down switches which connect to analog ports of the Arduino. Every time a pad is hit, Arduino sends the pad ID and the force of the impact through the serial port. A python program running on my machine listens on the serial port and synthesizes sounds corresponding to the data using pyserial and pygame respectively.

import pygame, sys, serial

# initialize the pygame mixer
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=256)

# map positions to sounds
samples = {
    'lknee': pygame.mixer.Sound('media/hihat-open.aif'),    
    #...
}

# initialize serial port
s = serial.Serial('/dev/tty.usbserial-A6008ea9', 9600)

while 1:
    # read from the serial port
    line = s.readline().strip()
    # ...
    sample = samples[pad_id]
    sample.play()

if __name__ == '__main__':
    pass

This first prototype of Drum Pants is intentionally crude. Aside from increasing this system’s production value, there are a number of limitations that should be addressed. The current prototype requires a computer to synthesize sounds, which greatly hinders portability. By retrofitting the Arduino with a wifi shield, the system could communicate with any wifi-capable synthesizer, such as an Android phone.

Another issue with this system is that it’s built entirely into a pair of pants. This makes putting drum pads into other items of clothing impossible. To address this problem, the pads could wirelessly communicate to the Arduino device. In this case, the pads would be self-contained transmitters that could be placed anywhere. This opens up a wide variety of applications, such as placing the pad onto a pair of shoes to simulate a kick or hi-hat pedal. Do you like this idea? Please give me feedback below!

Update: Do you want to build your own drum pants? Check out this instructable!

Update 2: Accepted as a CHI 2010 WIP. Many thanks to Mark Gross!