ICM/PComp: Speaker Matrix Exhibition

 

Exhibition Mockup

Check out the full experience here.  The sketch uses the mouse position starting from the bottom of the screen.   The code is located here as well.

The idea for this projected start with my work in my Physical Computing class.  I began experimenting with hold  headphones that I had in my apartment which no longer worked.  Initially, I was playing with the idea of creating an interactive speaker matrix textile using e-waste.  After experimenting with the components and Arduino, I narrowed the scope of my project down to its current status. 

I have create a mock-up of a larger installation which uses speakers that have been thrown away and repurchases them into a fun experience.  When the attendee enters the space, they are greeted with the sound of a slowed down version of the Jackson 5’s “I Want You Back.”   As they move closed to the image on the wall, the speed of the song playback increases.   Once close enough, the song plays at normal speed and it becomes a dance party. 

I really wanted to create something that was purely fun and this surely has been to make.  I think about what this would look like in an actual space and how the interactions would change when there are multiple people.  When the party is going and someone enters, triggering the playback to go very slow again, will that person run up and join the party or will they feel awkward and leave the space. 

On the physical side, the speakers will be playing a MIDI version of the song’s baseline which has been coded into Arduino.  Currently, I am only using Arduino without a synthesizer so I am only able to play one speaker at a time.  I have the Arduino coded to alternate the sound between speakers in relation with the attendees location in the room. 

For room detection, I am currently working with ML5 to track the shoulder points.  The distance between these pints will increase as the person gets closer to the camera which will set the playback rate.

Challenges:

The major challenges I’ve had relate to the fact that I have a lot going on currently in the code.  With a particle system, ML5 and sound running, the sketch gets slowed down.  I am still working to figure out how to clean up my code in order to smooth it all out.   Originally, I had the particle colors picked from the image but chose to comment that out as it was tremendously slow. 

The other challenge I am currently having is on the Arduino side.  I am using code from Ton Igoe to code the music.  I am having issues getting the code to alternate between speakers but should have that figured out soon. 

 

Code and My Future Work:

I’ve really enjoyed learning to code, especially when concepts click in my head!  Also, debugging my work is both frustrating and satisfying.  In regards to my work in the future, I do plan to incorporate coding into my work mainly through physical components.  I am also interested in data visualization so I do plan to explore that as well. 

 

PComp/ICM Week 14: Speaker Matrix (Final Project) Part 1.

Below is a brief introduction to my final Physical Computing and Intro to Computation Media final project.  There will be a full post coming in the next few days with detailed process documentation. 

Part 1.

This particular project started out relatively far from where it ended.  It started with using old sex toys to create a version of Operation followed by the first iteration of the speaker matrix.  Initially, I was hoping to create an interactive textile using the speakers from old and unused headphones, mainly Apple Earpods (corded).  I loved the idea of an interaction close to the body for the wearer and one for the audience, equally close to the wearer as well.  The textile would either have the speaker facing inward to inform the wearer of  how close someone thing or someone is to their body through use of the sound vibrations.   I realized that the vibrations were to subtle to accomplish this as it stands.  The other option of having the speakers face outward offered a different, yet close, interaction for those around.  The speaker were quite low and would require the some close encounters.  After experimenting with the speakers and continuing to think about the textile, I decided to go in a completely different direction. 

Speaker Matrix MockUp

I wanted to create something that brought joy to myself and others.  Above is an approximation of what I saw in my mind.   Here we have a wall full of salvaged speakers inside a white gallery space.  Upon encountering this room, one would hear the sound of a slow and barely recognizable song.  If the guest chose to continue into the room further, the playback speed would increase so that they might start to pick up on the name of the song.  My hope is that their intrigue into what was really happening would bring them to a few feet in front of the wall, initiating the piece’s dance party!

The dance party will feature club lighting, a disco ball and maybe some fun videos.  With this piece, I wanted to bring someone out of their current state and into joy.  Who doesn’t love a fun dance party?

There is opportunity for other interesting interactions between guests, besides dancing.  If someone enters the room while another guest is in the dance party area, would the piece revert to the bright white room and slowed down some?  How would that, supposed intruder feel and act?  Would they run to the front and join them or flee to another room?  

For this iteration, I have created a small scale mock-up to test the code and experiment with the components and have provided the following video. 

For a full view of the image and to play with controlling the playback rate yourself, here is a full-screen version.  The full p5.js code can be found here.  The Arduino code can be found here

In part 2 I will go through my process, inspiration and challenges as well as provide more technical details and resources.

12/15/2020 UPDATE:
I have successfully added PoseNet detection to the final code.  Now you are able to control the playback rate of the song, trigger the dance part and move the speaker output between speakers with your body.  The code will calculate the distance between your shoulder points to tell how far you are from the screen.   The code can be found here.