// the {de}Translation scarf

http://www.youtube.com/watch?v=cSybKs6vQ-Y&feature=g-upl

The scarf transforms the sounds from your environment into abstracted noise in your ear. The noises can be selected to reflect different emotions, allowing the user to choose how they hear the world around them.

The scarf can also amplify the noises of a person and broadcast them to the public, with varying emotional abstractions. The wearer can project intimidating noises, optimistic, somber, etc.

By wearing the scarf you maintain a connection to your environment, but the connection is abstracted. Conversation, for example, loses its meaning and is converted to emotive noises. The ambient sounds of the city become a reprogrammable soundscape of emotional abstractions.

The scarf can also be used to project the sounds from the wearers personal space, transformed by emotional inflictions. For example if you are walking home alone at night, you may want to project intimidating noises. If you are in love perhaps you would want to project warm happy noises.

The project is embodied as a scarf with a microphone on one end, two speakers in the hood, and an external speaker on the other end. This allows the user to choose how the scarf mediates their interaction with others.

Different experiences can be created by wearing the scarf in different ways. For example wearing the microphone end near your face amplifies the sound of your own breathing. Letting it hang down at your legs amplifies the sound of your gate as you walk.

The circuitry consists of an arduino, two speakers placed in the hood of the scarf, a third and louder external speaker, a mic and amplifier to sense sound, a switch to turn the external speaker on and off, and a dial to place different emotive filters on the sound.

// CODE

 

/*

The {de}Translation Scarf
Jackson McConnell
Creation and Computation
OCAD University

Created on [October 4th 2012]
(Modified on October 10th 2012)

Based on:
Arduino Cookbook by Michael Margolis example 9.1: Playing Tones
Arduino Cookbook by Michael Margolis example 6.7: Detecting Sound

Wiring:
The sketch recieves input from a mic into analog pin A0, and outputs
to three speakers from digital pin 9. Analog input from a potentiometer
at analog pint A1 is used to allow the user to dial through different
types of sound output.

*/
const int ledPin = 13;
const int middleValue = 512;
const int numberOfSamples = 50;
const int speakerPin = 9;
const int pitchPin = 0;
int sample;
long signal;
long averageReading;
int toneSwitch;

long runningAverage=0;
const int averagedOver= 16;

const int threshold=250; //noise threshold before the scarf will start to make noise

void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop(){

//first the sketch needs to calculate the average running amplitude
//of the sounds sensed through the mic, or else all we get is usless data.

long sumOfSquares = 0;
for(int i=0; i<numberOfSamples; i++){
sample = analogRead(0);
signal = (sample – middleValue);
signal *= signal;
sumOfSquares += signal;
}
averageReading = sumOfSquares/numberOfSamples;
runningAverage=(((averagedOver-1)*runningAverage)+averageReading)/averagedOver;

toneSwitch = analogRead(A1); //defines the values read from potentiometer

if((runningAverage>threshold) && (toneSwitch<341)){
digitalWrite(ledPin, HIGH);
int frequency = map(runningAverage, 0, 1000, 200, 400);
int duration = 200;
tone(speakerPin, frequency, duration);
}else if((runningAverage>threshold) && (toneSwitch<=682) && (toneSwitch>=341)){
digitalWrite(ledPin, HIGH);
int sensor0Reading = analogRead(pitchPin);
int frequency = map(sensor0Reading, 0, 1023, 100, 5000);
int duration = 200;
tone(speakerPin, frequency, duration);
}else if((runningAverage>threshold) && (toneSwitch>682)){
digitalWrite(ledPin, HIGH);
int frequency = map(runningAverage, 0, 1000, 0, 200);
int duration = 200;
tone(speakerPin, frequency, duration);
}else {
digitalWrite(ledPin, LOW);
}
Serial.println(toneSwitch);
}

 

// SKETCHES

 

// PROCESS VIDEOS

https://vimeo.com/51237130  //watch here

 

 

 

 

 

 

Comments are closed.