Sunday, September 30, 2007

Concept Presentation

Meredith and I plan to create an acoustic, gravity-driven, two-person musical interface centered around different types of balls falling into a resonant bowl.

Containers holding several different types of balls - i.e. marbles, wooden balls, metal balls, rubber balls, etc. - will be mounted in a circle around the top of a pole. The containers will be closed by default but will be able to open to let one or more balls out when a string is pulled.

On the ground next to the pole, there will be a resonant bowl - preferably clear - to catch the balls as they're released from their starting containers. To play the instrument, one person would turn the handles to change the position of the containers to align them with the bowl, and one person would pull the strings to allow balls to fall into the bowl.

The sound would be produced by the different balls, made of different materials, falling into the bowl. As the bowl fills up, the sound should change. While pitch and timbre depend on these somewhat unpredictable factors, the users -- whether one or two people at a time -- are in charge of the rhythm.

Once all of the balls had fallen into the bowl, the balls would be poured into some sort of mechanism that would sort them into their various types to be returned to the individual containers.

We see the sorting process as part of the performance. We also predict that the instrument will be messy. The faster and more furiously you play, the messier it should become.

ipod + arduino = love

Last spring, I was able to control my ipod using key presses via Processing (see that post). This fall, I wanted to move away from the laptop and use external switches/sensors and an Arduino microcontroller to facilitate the building of a multi-switch music station. The code required some tweaks to work with Arduino, but it's very similar to the previously posted code. Note that you need to set the serial baud rate to 19200; if you use 9600, nothing will happen.

//code that controls basic (play/pause, next, previous, volume up, and volume down) functions of ipod
//rosie daniel

int hits = 0;

int buttonStates[]={0,0,LOW,LOW,LOW,LOW,LOW};
int buttonPrevious[]={0,0,LOW,LOW,LOW,LOW,LOW};
int buttonRelease[] = {0xFF, 0x55, 0x03, 0x02, 0x00, 0x00,0xFB};

int commands[]={0,0,0x01,0x08,0x10,0x02,0x04};

int checkSum(int len, int mode, int command1, int command2, int parameter) {
int checksum = 0x100 - ((len + mode + command1 + command2+ parameter) & 0xFF);
return checksum;
}

void setup() {
Serial.begin(19200);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
}

void loop() {

for (int c=2; c<7; c++)
{
buttonStates[c] = digitalRead(c);


buttonStates[c] = digitalRead(c);

if (buttonStates[c] != buttonPrevious[c] ) {
delay(5); //helps avoid a 'double' press - check a second time to see if the button is still pressed after a delay
buttonStates[c] = digitalRead(c);
if (buttonStates[c] == HIGH) {
sendCommand(commands[c]);
//Serial.print(hits);
hits++;
}
buttonPrevious[c] = buttonStates[c];
}

}

}

void sendCommand(int cmd) {
int cs = checkSum(0x03, 0x02, 0x00, cmd, 0);
Serial.println(cs,HEX);



int bytes[] = {0xFF, 0x55, 0x03, 0x02, 0x00, cmd, cs};
for (int i = 0; i < 8; i++) {
Serial.print(bytes[i], BYTE);

}

for (int i = 0; i < 8; i++) {
Serial.print(buttonRelease[i],BYTE);
}

}

Tuesday, September 25, 2007

Inspirational Performance

I couldn't find any footage of my inspirational performance, probably because it was a folk rock concert at a high school in Rahway, NJ last May, and not more than a couple of hundred people attended. After years of being a fan, I finally got to see Dar Williams perform in person, and it was amazing. Possibly the best part of the concert was toward the end when she was singing "The Babysitter's Here." In the middle of the song, she completely messed up the words, and in response, she just stopped playing and started laughing at herself. Eventually she started the song again and didn't have any problems the second time through, but from then on she wasn't just this folk-rock goddess Dar Williams, she was a human being, capable of messing up and laughing at her mistakes. I really appreciated the vulnerability she showed the audience in the way she handled it. So, as I said, I couldn't find any footage of this particular performance or even of another performance in which she messes up, so I'm settling for an unrelated video of her performing just for the benefit of showing people who're unfamiliar with her an example of her music.

Wednesday, September 19, 2007

NIME Inspiration

I've been looking (and listening) online for some NIME music that I find inspiring when I think about making my own instrument. I've found that I'm really not into a lot of the "techy" sounding music - I like guitars and pianos and such. On the LEMUR site, I found this recording, EmergencyBot.mp3, that I like better than anything else I've heard. I guess something I'm really going to struggle with is that I like the way traditional instruments sound, so I'm going to have a hard time creating something that I like better without a sense of purpose. Maybe I will end up doing something that I consider "assitive" as well if that's an option.

Saturday, September 15, 2007

Hannah's ipod project

This semester, I'm going to continue my ipod project with a new twist: I'll be working on the project as an internship with the Adaptive Design Association. I'm going to be making a new version of a muti-switch music station originally designed by Alex Trusedell in the 80's. Her version used three cassette players to give musical feedback to users for successful completion of tasks (usually activating various switches that improve fine motor skills). While cassette players were functional, there were several problems with them: they were heavy and bulky; they could play a limited amount of music, depending on the length of the cassette tapes; and they required that someone eject and flip the tape whenever it came to the end of one side. Although tape players can now automatically flip the tape without a manual ejection, they still add a tremendous amount of weight and bulk to the station. The version I'm going to be working on will replace the old cassette players with an ipod, which will reduce the size and make the station much more portable, as well as increase the size of the music library available and add more music control functions.

Ideally, the new music station will be reproduced and customized for a variety of children and needs, but to begin, I'm going to focus on creating a music station especially for Hannah (see Hannah's story). In the next week, I hope to meet with Hannah's occupational therapist and possibly her parents to discuss her individual needs and get a better idea of what kind of switches/sensors I'll want to include in the station. I'm also hoping to visit Hannah's class and meet Hannah herself.

On the ipod technical front, I've started to translate my Processing code to Arduino so that an Aruduino microcontroller can replace a laptop in the system. Over the next week, I plan to have that code completed as an Arduino library (which I'll release on this site), at which point I'll begin using physical switches to activate the functions as opposed to keypresses.

Friday, September 07, 2007

Music Observations

Friday: I'm supposed to be logging my use and observations about others' uses of music this week for NIME. So far, I've listened to my ipod each day - sometimes I let it shuffle, and other times I load a particular song or playlist that I'm in the mood for. For the past couple of days, I've listened to music when walking or riding the subway as well as while I'm at work and need to try to sustain the will to live because it's so painstakingly boring.

Saturday: noticed the orchestral background music in the documentary In the Shadow of the Moon; low pitched instruments, especially cellos evoke emotion in me

Monday: listened to upbeat music to work-out to; I like to sync my pace with the music.

Tuesday: listened to a calming song on the way to meet someone new; then played a song for a friend that I resonate with a lot right now (in terms of the lyrics)