Wednesday, April 1, 2009

The Vibrotactile Sequencer

I've produced music with electronic tools for over ten years, and I've more recently gotten into building my own interfaces. I thought about the device we’re creating, and I realized it has the potential to completely change the way we connect with the music we make. While advances in technology have allowed for increasingly precise levels of control, ease of use has always been a top priority for software engineers. This becomes especially apparent in applications that generally call for a high level of creative freedom.

It was suggested during the midterm review that we experiment with sending discrete sound data to each individual motor. A hypothetical situation might involve using the amplitude of the kick drum waveform to control the lowest motor, low tom for the next highest, mid tom for the next, high tom for the next… and so on up the back with all the individual drum sounds.

I originally hadn’t given this much thought because our concept naturally spaces the drum sounds along the back. The kick drum has the most low frequency content and thus it will naturally be sent to the lowest of the vibrating motors. Over the years I’ve found that automated processes usually win out over brute force code that requires everything to be written out by hand. Why would the user want to worry about routing each individual drum sound when the filter bank could approximate this automatically?

Then I started tossing around the idea of building a sequencer that would be capable of building vibration patterns. Each motor could be referenced directly, and complex rhythmic material could be created between the six discrete signals (running out to 12 motors). The more I began to think about the additional level of control offered by this approach, the more I realized how powerful it could be.

While an array of filters is ideal for providing feedback about the overall frequency spectrum, it’s susceptible to a large amount of crosstalk between filters. A snare drum might potentially make its way into four of the six channels by virtue of its complex frequency spectrum. One tom sound may be only slightly distinguishable from another, and a polyrhythm between the two could quickly become confused with all the overlapping frequency content. In order to even begin representing a complex signal we’d a minimum of 128 or so discrete frequency bands, as opposed to our 6. When working with a small number of sound samples, the one-drum-per-channel route is the way to go.

When I sat down to build the sequencer in MAX/MSP, I threw on my headphones and loaded up my favorite playlist. I got to the point where I was ready to load in audio files and just before I was about to turn off my music I stopped myself. I realized that if I were looking to truly engage my senses while interacting with the sound, I should be able to see the auditory information in a number of heads up displays. I added an oscilloscope and spectrograph to each track of the sequencer, and a large scrolling spectrograph to display the main mix. I loaded sounds into the sequencer and started crafting a drum rhythm, all while listening to some ambient electronic music. I asked myself, “Do I feel connected with the rhythms I’m crafting?” When the answer wasn’t a resounding yes I’d tweak the settings of the displays; adding information at times, modifying the type of information at others. This sort of refining spurned me to add a few subtle features that make a big difference, such as a master tempo indicator light, and a scrolling time indicator.

The sequencer worked, but the overall design scheme was reminiscent of candy canes at Christmas time. Don’t get me wrong, there’s nothing wrong with candycanes or Christmas time… they’re just not right for this interface. I sat down with Chris and we gave the interface a complete makeover, reworking the whole design around the user experience. We’re going with an approach similar to that of apples Garage Band software… the user should be able to sit down and produce a piece of music with relatively little knowledge of music production software, and furthermore this whole process should be fun. To this end, we’ve been extremely successful.

-Rob

No comments:

Post a Comment