Note: please see the pdf version for illustrations.
Look at the riders of any city bus. Many of them are plugged into their music players. Some of them are actively involved in the music. People drum on their chest and knees, tap their feet on the floor and nod their head to the beat. The goal of the proposed system is to augment our natural love of rhythm into a full drum-kit. The target user of the 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.
The system is composed of three parts: a series of specialized drum pads, a central Arduino-based processor, and an audio synthesizer.
A drum pad needs to be sensitive to hand-drumming strikes. It’s critical to determine how strong the impact was on the drum head, since the synthesized sound will reflect this information. A piezoelectric sensor can be used to measure the intensity of the impact. Ideally, the pad should be universal enough to serve non-hand drum contexts, like to simulate a kick drum. If this is not possible, a special type of drum pad can be developed for placement on a shoe for example.
A drum pad is a self contained unit. There are a variety of ways to attach the pad to the impact surface. The pad could be stitched onto the knee part of pant legs, glued onto the chest area of a t-shirt, sewn into gloves for clapping, or strapped onto a pair of shoes to simulate a pair of drum pedals.
A drum pad needs to be able to transmit the strength of each drum impulse to the processor in real time. The communication needs to be immediate, since any delay in drum feedback would be a departure from the immediate feedback expected by drummers. Ideally, this communication should occur wirelessly, like through a simple radio protocol. To transmit radio, an RF transmitter chip is required. If wireless is not feasible, the project can be scaled back to use wired drum pads which could be stitched into a pair of pants.
Every time the processor gets a drum impulse signal, it needs to synthesize sound. It’s reasonably easy to create MIDI output without an external board1. However, most people already own headphones with standard 1/4” audio jacks. To use such a jack, it’s necessary to synthesize digital audio, which is significantly more difficult and would require the arduino to synthesize with a dedicated synthesizer chip, such as VMUSIC2, which also provides a 1/4” audio jack. It remains to be determined whether or not this approach would seamlessly mix multiple drum samples played at the same time. In the worst case, the synthesis step can be offloaded to a computer by serial communication.
Best Case Implementation
The drum pad could be implemented based on the Nike+ system for tracking a runner’s speed. This system is composed of a foot pod, placed into the runner’s shoe, and a receiver which can be plugged into an iPod. The transmitter is built out of a nRF2402 radio transmitter and a piezoelectric cell for detecting the strength of the impulse. The receiver contains a nRF2401 chip for communicating with the transmitter. The communication protocol is quite simple. While the foot pod is activated, it transmits a “hello world I am ” message to the receiver in very short bursts. The foot pod is conveniently powered by a tiny lithium battery.
The Nike+ system fits well into the proposed system by taking multiple foot pods and convert each of them into a drum pad. By interfacing with a Nike+ USB to serial adapter3, it should become possible for the Arduino to get readings from the Nike+ receiver.
Worst Case Implementation
There are some potential limitations of the above system. It remains to be seen whether or not the impulse from a hand strike is strong enough to activate the foot pod’s piezoelectric sensor. Also, the Nike+ system is designed for linking one transmitter to one receiver. To adapt it to the proposed system, one receiver should be able to read from multiple transmitters. Whether or not this is easy has yet to be proven. Another issue with piezoelectric based drum systems is that there is “crosstalk” between the piezoelectric sensors. In other words, when one piezo sensor is struck, it gets most of the impact, but other piezo sensors also react4. Force sensitive pad sensors do not suffer from this problem, but it would take an unknown amount of engineering to build it into a Nike+ system as proposed above.
The above implementation relies heavily on Nike+ being a suitable implementation platform. If it’s not, there is ample room to scale back to a simpler design. At the very least, force sensitive resistors can be sewn into the knee area, and wired directly to a lilypad arduino board, also embedded into the same pair of pants.