Future Goals for E.C.H.O.

Ideally, E.C.H.O. would be displayed publicly in an art space as an interactive soundscape. Physically, we would like it to be more like a box, rather than a mess of jumbled pieces. It relies heavily on being connected to a computer, but we would like to remove this necessity by using a raspberry pi or something equally small, inexpensive and customizable.

E.C.H.O. all connected--it's a  mess.

E.C.H.O. all connected–it’s a mess.

The physical pieces pose the largest challenge. We need still need to rewire the system from DC to AC in order for it to work properly. It would also be nice to add a visual component–whether it be a projected twitter stream or lights that correspond with each hashtag trigger.

Interactive Soundscape

As we’ve noticed throughout our experiment and in class, the user interface of a system can highly affect engagement. Using E.C.H.O. as an interactive soundscape could allow us to explore many questions about audience interaction:

  • Would audiences try to be the “loudest”?
  • What would inspire people to work together to create something more musical, rather than something entirely cacophonous?
  • How would this physical display differ from the Twitter sphere itself? Would the translation of data into sound affect user interaction, or have we been too programmed to use social media in a certain way? Would audiences have trouble breaking this mold?
  • Would a “gamification” occur? Is the ability to control a publicly shared experience enough to incentivize interaction?

We utilized polarized hashtags as an attempt to comment on discussion quality on twitter, but you can use different hashtags and sounds to make different assumptions. Presentation is vital to the interpretation of this piece because it can be so abstract. Depending on the time and space in which it is presented could heavily influence the hashtags, sounds and incorporation of audience participation.

Making Noise, Lots and Lots of Noise

Since a major goal of this project is to highlight social dissonance through a sound medium, cacophony plays a huge role in our execution. We needed to create 4 audio sources: 2 droning, repetitive noises and 2 more jarring, recognizable tones. In order to execute this, our original intention was to create these noises using only tape players and our own field recordings. However, after Robert broke a few tape players he decided to put equipment he already had to good use. As hacker culture suggests, there can be a lot of value in reusing items–especially for uses not inherit in the object’s original purpose.


For our two droning noises, we used a chaosilator and a nintendo DS with a KORG DS-10 game. Both of these are very “toy-like” and create unexpected, random noises very easily.




Nintendo DS with KORG DS-10 Game


For the more jarring sounds, we wanted to use something that had words and was potentially recognizable. Robert used a BOSS Dr. Sample SP 202 to make a loop of a clip from Martin Luther King Jr.’s “I have a Dream” speech. The other is a loop from John Lennon’s “Imagine”.

Both of these clips hold a lot of cultural value alone. When they are altered, it creates an eerie perversion of these cultural refrences. What were once sounds of American freedom have now become so heavily used, commercialized and and referenced in general culture. These loops distort that reference further and exploit the longtime perversion of these important symbols.

Things are working!

Things are working!

Finding More Elegant Solutions for the ECHO Python Script

Goal of Python Code:

  • To scan twitter for various hashtags, send a signal to an Arduino which then signals an assigned audio input once someone tweets with a hashtag

The twitter API utilizes JSON but we chose to write our code in Python, so we needed a “translator” so we could interface with Twitter easily. Tweepy allows this translation, so all you need to do is download, authenticate and import the library.

Problems and Solutions:

  • One of the earliest problems we ran into was integrating Tweepy into our code because we needed to renew our authentication and we were using an outdated instruction manual for our version of Tweepy.

The basic_auth.py on the Tweepy github page was different than the one that downloads with the library, so it tooks us a while to realize this and then update our methods.

  • Simplifying the code so that it reads all of twitter and only recognizes hashtags, rather than “printing” all of the data associated with each tweet.

When we were first experimenting, our code basically threw up all of the data associated with each hashtag: the user info, tweet itself, and time stamp. If this was something we would distribute to the public, this might be something that needs to be changed, but we decided it wasn’t exactly a “problem”, but more of a design suggestion for the future.

Python Twitter Script Throwup

Python Twitter Script Throw Up

  • Finding a solution to enable the code to scan for multiple hashtags at once and then send signals to a specific serial port on the Arduino, rather than any hashtag triggering any serial port.
    • Example: #yolo needs to trigger serial port 2, while #lybia needs to trigger serial port 4, etc

In order to run several processes at once, Belinda’s original idea was to incorporate “subprocesses”. There were a few options for subprocess libraries that allowed us to “spawn new processes, connect to their input/output/error pipes, and obtain their return codes. Even though this would have been a solution, Andy informed us that creating a list, or array, would be a more elegant solution.

This was our final solution for our python script:

Python Script for ECHO

Python Script for ECHO