SADI 2007 - StoryTelling - Week38 Reproducing Sound
Idea
Learn about the use of sound in different expressive ways. The goal of the day will be to create a prototype telling a story out of small space. Movements and sounds can be combined in the creation of contemporary music boxes.
Sound can be modified in frequency and volume. We use PWM to produce sound directly from microprocessors. More modern devices offer the possibility of reproducing sound files using external storage devices.
Agenda for the day
time |
title |
description |
|
10.00 |
We will learn where to find materials for our own projects. We will meet at Yongsan Station at 10AM and go to the market. Each team will buy a small kit that we will mount during the day. | |
|
12.00 |
Lunch Break |
Filling up the stomach with food and going back to SADI |
|
14.00 |
Recap |
Presentation of results from last week, each group will present some high-res pictures and a movie of the working (quick and dirty) prototype. |
|
14.30 |
Presentation of today's topic by D. Cuartielles, some examples in the use of sound from other projects | |
|
15.00 |
Creating interactive surfaces out of almost anything | |
|
16.00 |
Build an amplifier and play sounds from Arduino | |
|
17.00 |
Play MP3 files stored in a USB-flash disk | |
|
18.00 |
Dinner Break |
Moon Walk |
|
19.00 |
second session of Sadi Open Laboratory, arrival of guest/s | |
|
19.30 |
Talk: Sound Projects |
D. Cuartielles will introduce a series of projects making use of sound as a way of transmitting stories. The examples are taken from different sources from the commercial field to the more experimental. |
|
20.00 |
Project Work |
We continue until we are done or the sun comes out |
Shopping
We will meet directly at Yongsan Electronics market at 10.00 AM. The easiest is to gather on top of the main entrance's staircase, see picture below:
We will wait there for about 20 minutes, and the will move to the following building:

Today's topic
We are in the exploration of the use of sound. There are different devices that can be used in the creation of interactive objects producing sound. We will study the tools needed for sound reproduction, ways for integrating sound in the prototypes and reproduction of MP3 quality sound from external devices.
On the interaction side of the work, we will learn the magic behind touch sensors and will learn how to create simple interactive touch surfaces.
Examples to come
Code example touch sensors
The brand QPROX manufactures different types of sensor that go from single touch to full keyboards. It is possible to hide the technology behind any type of non-conductive materials like wood, plastics, cardboard, or glass. Here we will use a QT118 single touch sensor as the activator
int inputPin = 13;
int ledPin = 8;
int val;
void setup(){
Serial.begin(9600);
pinMode(inputPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop(){
val = digitalRead(inputPin);
if(val == HIGH){
digitalWrite(ledPin, HIGH);
}else{
digitalWrite(ledPin, LOW);
}
}
|
Code example for a melody player
It is possible to make very simple melody players with fairly good sound quality directly from a microprocessor. In this example we are going to build up our own small amplifier and attack it with the sound coming out from a digital pin in the Arduino board.
code to come |
Code example to play from MP3 players
There exist a whole range of MP3 players that can be controlled from the serial port in a microcontroller. In this example we will use a new type of player that can play files stored in a USB-flash disk.
//MP3 control
int skipPin = 12;
int playPausePin = 13;
int val = 1;
int isPlaying = 0;
void setup(){
Serial.begin(9600);
pinMode(skipPin, INPUT);
pinMode(playPausePin, INPUT);
}
void loop(){
val = digitalRead(playPausePin);
if(val == LOW){
if(isPlaying == 0){
Serial.print("V3A"); //play all files
Serial.print(13,BYTE);
isPlaying = 1;
delay(1000);
}else{
Serial.print("VST"); //stops playback
Serial.print(13,BYTE);
isPlaying = 0;
delay(1000);
}
}
val = digitalRead(skipPin);
if(val == LOW){
if(isPlaying == 1){
Serial.print("VSF"); //Skip forward one track
Serial.print(13,BYTE);
isPlaying = 1;
delay(1000);
}
}
}
|
