Musical Vision
While I was talking with my friends, I got a striking question, “I know it is not a realistic question, but what if you ever have to choose to become either blind or deaf, what would you choose to be?” After a long thought, I answered “I hope I would never get to choose from either, but if I ever have to choose, then I think I would rather be deaf than blind. Because I am a very visual person that sense of seeing is so important to me.” And later I got a shock at my friend’s answer. She said, “I would rather be blind than deaf because I can solely focus on who the person really is by his/her saying than by the appearance of the impression.” Her answer brought me the thought of how I usually put the visual aspect in prior to any other values. And we further discussed how applications we are using daily basis are also well designed for blinds with a good sound interface without any difficulties of their user experience. Moreover, It was surprising to know the fact that In 2015, a total of 1.02 million people were blind, and approximately 3.22 million people in the United States had vision impairment, by 2050, the numbers of these conditions are projected to double to approximately 2.01 million people who are blind. Then I was thinking in a relation to the vision and the hearing, how blind and visually impaired people could enjoy playing the musical instruments. And I came up with the idea of musical instruments for the blind or visually impaired. I thought of improving the sense of touch with textures on the instruments. By learning through interaction of each texture with notes accordingly, the user can easily learn to use musical instruments.
The first application is using different types of natural ingredients for each keynote. The ingredients of banana, mandarin, Asian pear, mushroom, persimmon, and tomato.
Process

#include <CapacitiveSensor.h>
#define buzzer 11
// Set the Send Pin & Receive Pin.
CapacitiveSensor cs_12_3 = CapacitiveSensor(12,3);
CapacitiveSensor cs_12_4 = CapacitiveSensor(12,4);
CapacitiveSensor cs_12_5 = CapacitiveSensor(12,5);
CapacitiveSensor cs_12_6 = CapacitiveSensor(12,6);
CapacitiveSensor cs_12_7 = CapacitiveSensor(12,7);
CapacitiveSensor cs_12_8 = CapacitiveSensor(12,8);
CapacitiveSensor cs_12_9 = CapacitiveSensor(12,9);
CapacitiveSensor cs_12_10 = CapacitiveSensor(12,10);
void setup()
{
// turn off autocalibrate on channel 1 - just as an example
cs_12_3.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_12_4.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_12_5.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_12_6.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_12_7.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_12_8.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_12_9.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_12_10.set_CS_AutocaL_Millis(0xFFFFFFFF);
}
void loop()
{
// Set the sensitivity of the sensors.
long touch1 = cs_12_3.capacitiveSensor(1000);
long touch2 = cs_12_4.capacitiveSensor(1000);
long touch3 = cs_12_5.capacitiveSensor(1000);
long touch4 = cs_12_6.capacitiveSensor(1000);
long touch5 = cs_12_7.capacitiveSensor(1000);
long touch6 = cs_12_8.capacitiveSensor(1000);
long touch7 = cs_12_9.capacitiveSensor(1000);
long touch8 = cs_12_10.capacitiveSensor(1000);
// When we touched the sensor, the buzzer will produce a tone.
if (touch1 > 1000){
tone(buzzer,400);
}
if (touch2 > 1000){
tone(buzzer,270);
}
if (touch3 > 1000){
tone(buzzer,650);
}
if (touch4 > 1000) {
tone(buzzer,900);
}
if (touch5 > 1000){
tone(buzzer,1100);
}
if (touch6 > 1000){
tone(buzzer,1300);
}
if (touch7 > 1000){
tone(buzzer,1670);
}
if (touch8 > 1000){
tone(buzzer,2000);
}
// When we didn't touch it, no tone is produced.
if (touch1<=1000 & touch2<=1000 & touch3<=1000 & touch4<=1000 & touch5<=1000 & touch6<=1000 & touch7<=1000 & touch8<=1000)
noTone(buzzer);
delay(10);
}
The second application is using jacquard fabrics with different textures. On the Arduino piano, I added textured fabrics on piano keyboards. Utilizing jacquard fabrics gives a better hand-feel of the instruments for the users to provide a better experience.
Process



//NOTES 'c' , 'd', 'e', 'f', 'g', 'a', 'b', 'C'
int tones[] = { 523, 587, 659, 698, 784, 880, 988, 1050};
void setup() {
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(13, OUTPUT);
}
void loop() {
if (digitalRead(2) == 0) {
tone(13, tones[7]);
} else if (digitalRead(3) == 0) {
tone(13, tones[6]);
} else if (digitalRead(4) == 0) {
tone(13, tones[5]);
} else if (digitalRead(5) == 0) {
tone(13, tones[4]);
} else if (digitalRead(6) == 0) {
tone(13, tones[3]);
} else if (digitalRead(7) == 0) {
tone(13, tones[2]);
} else if (digitalRead(8) == 0) {
tone(13, tones[1]);
} else if (digitalRead(9) == 0) {
tone(13, tones[0]);
} else {
noTone(13);
}
}