Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /homepages/33/d216193782/htdocs/sites/blog/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 77

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /homepages/33/d216193782/htdocs/sites/blog/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 87

Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/33/d216193782/htdocs/sites/blog/wp-includes/post-template.php on line 284
  • Contact Me
  • Archives
  • Categories
  • Media Controller Midterm – Documentation

    2009 - 11.30

    For the midterm in Physical Computing our group created a media controller that would allow a user to control the various everyday sounds of New York City.   We spent many meeting brainstorming about how the user will control these sounds.  We finally decide to use individuals pods to control the volume of different sounds discretely.  We broke up the project into the following task:

    1. Record the sound of New York City and edit them
    2. Construct and wire the pods
    3. Programming for both the Arduino and Processing application

    Subway RecordingsThe first thing we did was to go around New York City recording different sounds with a boom unidirectional microphone and a digital audio recorder.  We went from the village to Time Square recording construction sounds, ATM beeps, people walking, conversations, fire trucks, musicians at the subway stations, and water at the piers.  We then edited the sounds into seamless loops.  Having the loops be seamless will allow us to keep the sound files small and also have the sound replay seamlessly creating a rewarding experience for the user.

    Our next task was to find a suitable pod that would represent the urban feel of New York City.  We found these metal food containers that fit our idea of what they should look like.  All the circuits and wires fitted perfectly inside the pods.


    The last task to our project was creating the serial communication between the the Arduino board and Processing, as well as programming the logic for how the user with use the pods.  We used accelerometers for sensing the gestures of the user.  I found that it was hard to read the gestures of a person over the noise of the sensors and the environment.  The resolve of this issue was gestures that were abrupt and jerky.  We were initially thinking the gesture for controlling the volume of the sound would be like a conductor waving their wand.  We tried to do the same but the gesture were very hard to trigger the volume up and down of each sound.  I was able to refine the code to allow for a more gentler gesture for controlling the volume.  The result is a much easier and pleasant experience for the user.


    We used the Minim library in Processing to control the different sounds.  We have all the sounds playing at a low initial volume.  The user will then shake a pod to increase a sounds volume.  Then can then either turn the pod upside down or suddenly drop the pod in there hand to volume down.  We have one 3-axis accelerometer and one Super Bright white LED in each pod.  The pods are wired to a Arduino Mega board.  We are using a Arduino Mega because the Duemilanove did not have enough analog pins.  We initially  wanted to have 8 pods but due to a bug in the Mega firmware we could not use 8 pods.  Instead we used 4 pods for our presentation.  We wanted to use the LED’s in each pod to indicate the volume level of that sound.  We ran out of time to implement this feature.  Instead we have the LED’s blinking.

    I am satisfied with the outcome with this project.  I learned a lot about how to filter the noise out of the accelerometer sensors.  The final behavior for controlling the sounds is acceptable.  I would like to spend more time in refining the gestures for controlling the sounds if I were to continue working on this project.

    Comments are closed.