At the beginning, I wanted to design an MIDI glove that could adapt people’s natural way for playing music.
I often tap my fingers on my leg following the beat/rhythm when I enjoy music on the subway. It’s not only my personal habit, it’s a common behavior. I want to design some instrument can adapt to this behavior. Besides, the fingers are agile enough for playing complicated music. That’s why I choose a glove for adapting people’s natural way for playing music.
Music is relaxing for me. I just want to sit in such a place, somewhere like a garden, or a place full of nature, for enjoying some chill music, wasting my whole day without feeling guilty.
That’s why I came up with the concept of MUSIC GARDEN.
This piece is for my major studio.
But when I finished and played, I found although it was easier to generate sounds than keyboard, it was hard to create music, as creating needed inspiration and coincidence (I believe). I could hardly break the music patten I have done, as I’ve gotten used to the sequence of tapping fingers. I just wondered whether I could design some instruments which was not only easy to use, but also could provide inspirations. So I designed another instrument.
As the natural way for playing music was not that helpful, I wanted to use an ironic way to design the new instrument. What is the life resource of a garden or plant? That’s light. So I want to use this“natural” way for playing.
When I play with this, I can create some unexpected music which is more satisfying.
I have chosen Future Instrument as my Collab next semester. I will think about the instruments in this direction, which is not only for usability and accessibility, but also for helping break the habit of creating, and for more playful enjoyments.
Some documentation of design process.
Code for MusicGarden,
int note = 0;
int hitavg = 0;
int dtcolor = 0;
int led = 12;
char pinAssignments[] ={‘A0’, ‘A1’, ‘A2’, ‘A3’, ‘A4’, ‘A5’};
byte PadNote[] = {58, 57, 55, 53, 50};
void setup()
{
Serial.begin(57600); // Default speed of the Serial to MIDI Converter serial port
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
pinMode(A5, INPUT);
}
void loop(){
for(int pin=0; pin < 5; pin++){
hitavg = analogRead(pin);
// Serial.println(hitavg);
dtcolor = analogRead(A5);
Serial.println(dtcolor);
//sense the color
if(dtcolor < 300){
if(hitavg > 300){
MIDI_TX(144,PadNote[pin] -5,127); // NOTE ON
delay(100);
MIDI_TX(128,PadNote[pin]-5 ,127); // NOTE OFF
delay(100);
}
}
if(dtcolor > 300){
if(hitavg > 300){
MIDI_TX(144,PadNote[pin], 127); // NOTE ON
delay(100);
MIDI_TX(128,PadNote[pin], 127); // NOTE OFF
delay(100);
}
}
}
}
void MIDI_TX(unsigned char MESSAGE, unsigned char PITCH, unsigned char VELOCITY)
{
Serial.write(MESSAGE);
Serial.write(PITCH);
Serial.write(VELOCITY);
}