Tuesday, April 14, 2009

Before working on this vest, I have never worked on a piece of clothing that incorporates technology. Sewing a well fitted vest is already enough of a conceptual exercise for me, so working with all the circuitry needed for the vest presented quite the challenge. To tell the truth, I was a bit intimidated when I saw all the wires, boards, and numerous parts that made up the functional parts of this project. However, once I started planning the design of the vest, I was more excited than anything else.

The placement of parts was not as hard as I thought it would be, especially since we went from twenty individual vibrating pads to twelve coupled vibrating pads. I designed the vest based on one of my own patterns. I added additional inside pockets, eyelets for the wires to pass through the lining, and adjustable bands around the back. I was able to complete the outer vest and lining separately before I was handed all the tech parts. After most of the wires had been soldered to the boards, I was able to start sewing the parts down to the lining fabric. The lilypad, lipower, usb connection board, and all twelve vibe boards were sewn on by hand.

Constructing the strip carrying the vibe boards was the first priority. I decided to use an interfaced cotton for the outer shell and a headliner foam for the inside for cushiony support. I attached velcro to the back vest liner so that the strip could be easily removed. The lilypad was placed on the back below the left shoulder so that the wires would remain relatively short between the lilypad and the vibe boards. The battery and lipower fit well in one of the front pockets with wires running from the lipower out one of the eyelets in the pocket liner, around the waist of the jacket, and up to the lilypad.

Once everything was sewn down, I completed the vest like I would a normal piece of clothing. The sewing was a little more difficult since I had to be extra careful in order to avoid machine sewing or ironing wires and parts. When the project started to resemble the likes of a vest, only then did I see the light at the end of the tunnel. I am grateful that I was able to work with such a talented team of engineers on this garment. For me, one of the hardest challenges of the vest was keeping the design from being taken over by the technology. Now that the vest is near complete, I think my design sensibility prevailed while most of the parts were kept hidden. Although this competition was geared toward the deaf community, I think anyone could enjoy wearing this one-of-a-kind garment

-Stewie

Sunday, April 12, 2009

Team Thumping Threads

I mentioned in an earlier post that I couldn’t have asked for a better team, those words could not be more true. I’m constantly amazed by the effort put forth by everyone. By the time all is said and done we’ll have put in a number of sleepless nights, and we’ll probably pull out quite a bit of hair. If we’ve learned anything from this project, it’s that the simplest things rarely turn out to be simple at all. We’ve hit a number of monumental decision points. Most of these moments were brought about by completely unexpected setbacks. It’s during these times that I’m grateful for profound level of determination and commitment from the team. I consider myself to be both persistent and patient when it comes to problem solving, but there have been times when I’ve called “time of death” on a certain line of research only to be met with “we’ve come this far, we’re not giving up now…”

“We’ve got this, no worries…”

“We can figure this problem out...”

The amount of motivation on this team is beyond belief. I already consider this project to be an unparalleled success. Each team member has brought a unique skill set (and energy) to the table, and building a common language has been a rewarding learning experience. If there’s any chance that this ambitious design idea could be successfully implemented, this is the team that could pull it off.

-Rob

Thursday, April 9, 2009

Happy Mistakes

Getting the tech needs for this project was no easy task. Anyone who has worked on technical projects knows that if you expect something to work, it will not. Gotta love Murphys Law. The tech team encountered this on multiple levels throughout the project. One example of this was getting 2 LilyPads to talk to each other. This was necessary in order to meet our project specifications of using 12 motors. After setting up the LilyPads correctly, we could not get communication to last longer than 20 seconds. We started checking forums to see where we might have gone wrong and it turns out that this is a common issue and the problem is in the way the software implements the process. As a result of this shortcoming, we stumbled into a happy mistake. Instead of using 12 discrete frequency bands, we could use 12 motors on 6 frequency bands to create a more powerful sensation.

Most people who have worked on technical projects also know that you often stumble across happy mistakes. Team Thumping Threads embraces happy mistakes.

sincerely,

the tech team: rishi and matt

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