Whisper - wearable synth wristband

Friday, June 20th, 2008

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)


I just finished building, or rather stitching together my first complete wearable device, the Whisper audio wristband. I have researched and experimented with soft electronics, interactivity, sensor technologies, and conductive fibers for some time now, but this is the first standalone device that I have created that incorporates all of these concepts. Whisper was conceived as a simple wearable audio device that would be lightweight, comfortable, and provide an engaging and simple interface that was capable of producing interesting noises. I had recently been working on AVR code for sound synthesis for my Whispering Islands installation, and saw this as a good opportunity to try and create an interactive and wearable unit. The synthesis is done using an AVR ATTiny45 chip programmed to run a simple FM routine using a 256-point sine wave table. Carrier frequency is controlled by the brown button-knob, and the FM modulator frequency and amount are controlled by the pressure sensitive fabric pads. The tiny speaker will resonate with certain settings, creating some occasional loud squawks. Otherwise, the device creates some quiet, but subtly wonderful sounds.

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

stereo mics

Monday, January 28th, 2008

I just recently started doing some field recordings again, after spending a long time in pure synthesis land. I needed a good pair of mics for doing stereo recordings, so I grabbed a couple of good quality Panasonic electret capsules and soldered them to a length of cable from a pair of broken headphones. To protect the wiring (and make them look a little more stealthy) I mounted the capsules inside 1″ pieces of a ballpoint pen barrel. A little hot glue and some tape, and I had some really good sounding stereo mics for doing field recording on the sly with my MiniDisc. stereo mics

proximity

Friday, June 15th, 2007

“proximity” is a piece created by Alison Sant and Rick Johnson where Alison walks around the city with a vest embedded with proximity sensors and cameras. The cameras are turned on whenever someone enters a specified personal distance. The resulting tape is mostly black screens, interspersed with some short clips of people walking past. I was introduced to Alison and Rick by my good friend Stijn, who was going to help them out, but was off in Belgium for the summer. I created a new brain for this piece, which consists of an Atmel ATTiny26, a couple of Sharp IR rangers, and a relay. The nice thing about working on this project was that it has forced me to review a bit of electronics, and Rick and Alison are very nice people as well!

Joystick Hacking

Monday, March 12th, 2007

Today I posted an article over at Cycling74.com about using joysticks with MaxMSP. Toward the end of the article, I discuss ways to alter the electronics of a USB joystick for custom controllers.
I had been meaning to write this piece for a long time, and I was assigned the task of writing an article for the website, so I figured this would be a good solution.

spazkron control

Saturday, March 3rd, 2007

The spazkron control is a gestural, wearable performance instrument built around a hacked USB game controller and 2 piezo contact microphones, as well as a custom sound synthesis patch built in MaxMSP.

The most conspicuous aspect of the device is the pair of long wooden dowels that extend from the abdomen of the performer. These are attached to patches that contain the analog joystick elements from the game controller. The sticks function as long joysticks that protrude from the body. The 4 axes provide analog values that are mapped to various functions in the audio synthesis software.

The contact mics are embedded into felt wristbands that are worn by the performer. Sound is triggered by striking or scraping these contact mics against the sticks. The Max patch performs envelope following on the incoming signals. The resulting envelopes are used as parameters for various sound generation functions, in addition to volume control. This offers the performer a great deal of expressivity and subtlety.

performance/demo at SFAI 2006

In building this controller, I was interested in creating something that required a certain amount of physical engagement to make it function. I am primarily interested in performing complex, spazzy noise stuff, so I needed a controller that expressed that sort of physical movement. Because of the nature of the device and its relationship to the body, the performer must twitch, contort, and flail in order to really engage the full complexity of the system. I was specifically not interested in a controller that was polite, reserved, and cool. I wanted my device to force clumsiness and absurdity upon the situation, which is something that is often missing from experimental electronic music.

Jeff Kaiser has a brief blurb about a recent performance here

MIDget board

Saturday, March 3rd, 2007

MIDget is a simple, inexpensive sensor interface based on the AVR ATTiny26. In its current incarnation, 8 of the 11 available ADC channels are used. This means that you can connect up to eight sensors, knobs, or whatever to the board. The MIDget sends the 10-bit ADC value as 2 separate MIDI CC messages (1 for LSB, and 1 for MSB). This allows you to bypass the 7-bit resolution limitation inherent to MIDI CC messages for projects that require greater sensitivity. These 2-byte messages can be put back together inside of MaxMSP.

Since the ATTiny26 lacks a proper UART (just has USI), a software implementation based on the Atmel AVR307 application note was used. Since this code was written for the IAR Compiler, I had to port it to work on AVR-GCC. Once this was completed, it was fairly easy to get MIDI messages sending from the chip.

Getting the ADC code to work was a little more tricky. I was originally using the Procyon “a2d” functions, but for some reason these were not working for me. So, I spent a bit more time and worked out my own ADC functions that turned out to be much smaller and efficient code than Procyon. It’s nice to actually understand how that stuff works instead of just taking advantage of a pre-made function library.

I’m still working a couple of bugs out of the circuit, but in the end the circuit itself should cost less than $10us to build. Download Source Code(gcc).