Voices move like bottles floating in the ocean. Car horns are exploding fireworks on fourth of July or popping popcorn. The sounds spark from different directions. Low pulsing electric currents underlay the environment. Cars become the next layer, red noise that defines space.
The sound creates tensions and releases. Squeaking breaks build tension, pneumatic breaks release pressure. Vertical space is bounded by the rumble of trains below and the clacking of tracks above.
Since being a VJ at coachella for the past couple years, I’ve become interested in finding new ways of controlling image media. I found this instructable that I’ve been wanting to mess around with a while back. It computes the hard drive disks speed and direction using a microcontroller and sends it as serial data to a computer. The computer translates this data into MIDI or OSC which can control audio and video in a variety of applications such as Max/MSP, Modul8, or VDMX.
The instructable uses a PIC microcontroller, but since Arduino is my current microcontroller of choice, it became a matter of porting the idea. Fortunately, Matt Gilbert had done most of the work for me.
I ended up creating my own version of the circuit, more similar to the one on the instructable rather than using his. I tried Matt’s circuit based on the diagram he provided, but for some reason wasn’t able to get it working. His code works pretty great though and is well commented.
Because I wanted to be able to use multiple controllers at once, I decided to use the LM324 Op Amp to amplify the signal coming from the hard drive. I hooked up the hard drive signals to an oscilliscope to see what I was getting. With the help of Eric Rosenthal I was able to get some good readings.
With some tinkering, I was able to figure out a circuit that gave me a pretty decent response to the movement of the hard drive.
I started working with Marko Manriquez to design a prototype for our controller. Marko found some nice slabs of plexi, so we decided to use those. He was able to take the hard drives disks completely out of their case and reassemble them. We added some LED to indicated the moment of the two disks and wrote a simple processing sketch to visualize the data being sent by the Arduino. I hope to have better schematics and Max patch sometime soon that makes use of our controller. Until then, enjoy this video!
Wrote a processing sketch to emulate plinko, the game popularized by “Let’s Make a Deal!”. You can see the sketch here. Every time a new ball hits a peg it is diverted one way or the other based on a random number that is generated (if 0 go left, if 1 go right). Once a ball reaches the bottom of the pegs they are killed, which then increase the size of the bar in the position they ended up. After the cycle continues for a while you can see the bars begin to generate a normal curve.
This week we focused again in understanding how to handshake between the two Arduinos, effectively giving us the signal strength between the transmitter and receiver. In a last act of desperation, we called Digi directly to troubleshoot issues we were having range testing with the XCTU software. We realized from talking with him that we had to connect the digital in to digital out on one of the XBees (we’ll call it XBee A) which completed the loop. Using the other XBee (B), a packet is sent from XCTU to XBee A. XBee A then directly relays that packet from the digital input to the digital output and sends it back to XBee B.
The XCTU software has a built in range testing function. Contained in this signal is the RSSI value, which is a dBm unit that ranges between -40 (strongest) and -100 (weakest) that is measured with this function. This data is not logged to a file, but rather is refreshed on the screen approximately every second as a number and colored graphical bar. We are also told how many packets have failed and been successful, as well as the percentage.
Using this data we were able to begin to create a map of the floor. Broadcasting from one static location, we moved around the floor with the other transceiver and recorded data from specific points around the floor. After this first test, which was broadcasted from the center of the floor, we then repeated the test by changing the broadcast location to the lobby. This test was taken at midnight after everyone had left the floor.
Our next steps would be to find a better way to log these data values. We would also like to explore more about how the orientation of the XBees has an affect on the symbol. We also should do the same test during the day while there are lots of people on the floor.
Instead of improving on my original concept, I decided to take a new direction that compliments one of the other interests in my work. For the data logging project I sample audio noise in Manhattan and Brooklyn. I am interested in the noise of the city an how it affects us over time and location.
The original idea was to take six samples total(3 Brooklyn, 3 Manhattan) each 10 minutes long. I am choosing major thoroughfares in each of the two boroughs which I have mapped here.
Execution
I had planned on taking the three Manhattan samples Tuesday and then Brooklyn on Wednesday so they could both be around noon on a week day. Tuesday I went out and was able to get samples from Union Square and Times Square. I positioned myself in a place about 20ft from the street and in major flow of foot traffic in all locations.
On Tuesday I went out to Broadway and Flushing and just as the recording was ending, the battery on the recorder failed. I realized the M-Audio records were very poor records and would be better off just using my iPhone with a mic.
Analysis
Now I was left with one sample from Brooklyn and two from Manhattan, so I brought these into Processing and wrote a csv with the amplitude data. Because the sound levels were so low(even though they were maxed on the recorder) I had to boost the gain, which created noise on top of noise. The data samples were taken 10 times per second. I then took this data and created a graph shown below.
Brooklyn = blue
Manhattan = red
Next steps
This data needs to be filtered. I could probably take the averages of certain time periods and create some sort of curve that would better represent the data. Still, you can see the peaks of noise which gives you somewhat of an idea about noise pollution in these areas.