Arduino-Powered Surround Sound Synthesizer

The Makerspace Eight Speaker Super Surround Sound System(MESSSSS) has been supplying music to the Makerspace for quite a while now, but I identified a problem even before the system was fully installed.  Stereo recordings played back on two speakers are great if you’re in the “sweet spot.” If not, traditional approaches to 5.1 audio improve things, but all rely on there being a single “front of the room.” Unfortunately, it’s not clear which side of the 3000 square foot Makerspace shop is the front, and with four pairs of speakers in the room, even stereo imaging is difficult.

Fortunately, I’ve just completed the Makerspace Eight Speaker Super Surround Sound System’s Enveloping Surround Sound Synthesizer (MESSSSSESSS).  The MESSSSSESSS takes stereo recordings and distributes sound to the eight speakers in an entirely fair and user configurable way, thereby eliminating the need for a “front of the room.” Now listeners can be arbitrary distributed throughout a room, and can even be oriented in random directions, while still receiving an enveloping surround sound experience!

The MESSSSSESSS user interface is somewhat simpler than most surround sound processers, as it consists of only four switches and one knob.  Somewhat inspired by StrobeTV, the simplest mode references questionable quadraphonic recordings, in that the music travels sequentially from speaker to speaker, chasing around the room either clockwise or counterclockwise at a rate selected by the knob. With the flip of a switch, sound emanates from the eight speakers in a random order. Things get considerably less deterministic after flipping the Chaos Switch, adjusting the Chaos Knob, and entering Turbo Mode:  Its best to visit Milwaukee Makerspace to experience the madness for yourself.  I’m legally obligated to recommend first time listeners be seated for the experience.

The MESSSSSESSS is powered entirely by an Arduino Uno’s ATmega328 that was programmed with an Arduino and then plugged into a socket in a small, custom board that I designed and etched at the Makerspace.  The ATmega328 outputs can energize relays that either do or don’t pass the audio signal to the four stereo output jacks.  Care was taken to use diodes to clamp any voltage spikes that may be created as the relays switch, thus preventing damage to the ATmega328 outputs.

As shown by the minimal part count above, using the ATmega328 “off the Arduino” is quite easy:  Just connect pins 1 (The square one), 7 and 20 to 5 volts, and connect pins 8 and 22 to ground.  Then, add a 22uF cap and small bypass cap between power and ground, and a ceramic resonator to pins 19 and 20.  You can even use an old cellphone charger as the power supply.  Boom.  That’s it.  The real benefits of making your own boards are having a well integrated system, and cost, as the Atmel chip is $4.50 while a whole Arduino is $30.  Also visible in the photo are a programming header and the two ribbon cables that route all the signals to and from the board.

Sonic Vista – An Art Installation

For a few months now, I’ve been acting as an acoustical consultant to Bruce Odland and Sam Auinger on their project “Sonic Vista,” that opened on October 2nd for a 5 year long installation.  Bruce and Sam have been making publicly installed sound art pieces in North America and Europe for over twenty years.  I first heard their work at MassMOCA  in 2006, and met Bruce while he was putting the finishing (soldering) touches on “Harmony in the Age of Noise” at Tufts University in 2008.  Sonic Vista is installed in Frankfurt, Germany on a train & pedestrian bridge connecting two sections of Frankfurt’s greenway, located here.

Sonic Vista is a real-time sound art installation.  It gathers all the airborne noise from the industrial cityscape, filters it acoustically, and plays the resulting harmonious sound back through two giant, brightly colored spherical speakers placed directly over the heads of listeners as they walk along the pedestrian bridge.  Walking along the bridge literally becomes a consciousness raising event as one enters the sonic environment of the piece.  Noise from the cityscape (backhoes, earth movers and jackhammers from the nearby bank construction site, trains, dogs, humans, jets, boats, busses, and other city roar) is captured by two 4” diameter, 18 foot long (B0) and 12 foot long (F#1) tubes, each containing one microphone.  The sound reaching the microphones is naturally filtered by the harmonic overtone series of acoustic modes supported by the long tubes.  These microphone signals travel directly to the speakers, and are not processed with any electronic effects (such as reverb or chorus).  To hear Sonic Vista, follow this link to SoundCloud.  The exact position of the microphone in each tube affects the harmonic balance it detects, as shown by the following plot:

I aided in the design of the 1 meter diameter spherical speakers, first in solving the directivity problem: How can the speakers be designed so that listeners walking along the pedestrian bridge hear a uniform sound pressure level as they walk?  The problem with overhead speakers is that they typically send most of their sound straight downward – so it is much louder directly under them than it is off to the side.  The problem is made more challenging by the wide bandwidth — the lowest note is 60 Hz, and the highest notes are near 3000 Hz.

I’ll skip all the math and acoustics theory, and just state the solution: a 12 inch diameter woofer needs to be positioned behind a 4 inch diameter hole that all the sound must exit through.  This greatly improves the radiation pattern for the highest notes.  The heights and horizontal spacing of the two speakers also play an important role in setting how loud the sound will be when one is in between the two speakers.  Interestingly, I was able to balance these factors and the system as built achieved a pressure that was uniform within a few dB as listeners walk along the bridge underneath the speakers.  The plot below shows the loudness as a function of position along the bridge at the highest and lowest pitches, along with the 35+ dB soundfield variation that would have resulted without this hole to fix the radiation pattern.  The speakers are located at 50m and 64.7m, the two loudest locations along the bridge.

The second problem arose due to the solution of the first:  That the speaker radiates through a 4” diameter, 4″ long port created an undesirable resonance that I correctly predicted through the use of a computational acoustics model.  This resonance was actually eliminated by simply equalizing the speakers electrically.

This front cavity does lead to the loss of almost half of the sound output, but it’s a high sensitivity, 300 Watt maximum input driver, so it is still more than capable of being loud enough.  This is a small price to pay for the tremendous improvement in radiation pattern and listener experience.  To hear Sonic Vista, follow this link to SoundCloud.

Rubens Tube Update!

The Rubens tube I made a while back puts on a fairly impressive show when its speaker is driven with music or a noise box, as was done during the Milwaukee Makerspace Grand Opening.  The story is somewhat different when it is used to display the acoustic standing wave pattern inside the tube.  When a single tone (sine wave) at a resonance frequency of the system is played though the speaker, the heights of the flames map out the sinusoidal shape along the length of the tube. There are two very important variables whose values determine how well this will work.  These are the acoustic pressure in the tube, which is set by the speaker and its input voltage, and the propane gas pressure, which is set by a regulator or the valve on the propane bottle.  Even a professionally made Rubens tube has a relatively small range of these two pressure settings that create a nice sine wave distribution of flame heights.

After running my Rubens tube for a short while, I realized I’d made a few design choices that make the already small range of good operating parameters even smaller.  First, I didn’t actually use a gas regulator, I only used the valve on the propane nozzle.  Note that the propane flow rate is highly affected by the temperature of the nozzle, so the propane tank must be kept in a water-filled bucket to prevent the outlet valve from freezing up.  Just like a gas pressure regulator can be used, so could an acoustic pressure regulator (i.e. a compressor).  This could help prevent the flames from extinguishing during particularly dynamic musical passages.  Alternately, some type of pilot light system could be devised so that the flames automatically relight – perhaps glowing red nichrome wire could be added in a moderately safe way.  I also spaced the fifty 0.043” diameter holes apart by only 0.9 inches.  Having this many holes reduces the amplitude of the resonances, making them more difficult to ‘find’ by simply listening to the amplitude when adjusting the frequency input to the speaker.   Better performance would be achieved by having fewer holes spaced further apart.  Lastly, I’ve used a pipe whose inner diameter is only 2.5 inches.  A larger diameter pipe would further increase the amplitude of the resonances.

I put an electret microphone inside the Rubens tube at the end opposite the speaker, and measured the pressure inside while electrically driving the speaker with pink noise.  I did this with both air and propane inside the tube.  The following graph shows the low amplitude of the tube’s resonances with propane inside — between 4 and 7 dB.

The other interesting bit of data one can find from this graph is the speed of sound in propane.  Knowing the sound speed, one can calculate either the length of pipe needed to have a particular fundamental resonance frequency (n=1) or if a particular speaker has a resonance frequency low enough to excite the fundamental resonance of a particular length Rubens tube.  The resonance frequencies of a tube having uniform cross sectional area and two rigidly closed ends are given by: Fn = nC/(2*L), where n is the nth mode, C is the sound speed, and L is the length of tube.  The Rubens tube doesn’t have two closed ends, it has a paper cone speaker at one end.  It also doesn’t have uniform area – it has a small open volume in front of the speaker.  Both of these will change the “effective” length of the tube.  Don’t worry though, we can use the measured resonance frequencies with air in the tube to calculate the effective length: Leff = nC/(2*Fn).  Knowing C=343 m/s in air, we can use the measured resonances of the first three modes  (144 Hz, 262 Hz and 380 Hz) to find that the (averaged) effective length is 1.28m.  Using this effective length and the lowest three resonance frequencies (108 Hz, 205 Hz, and 300 Hz) with propane in the tube, Fn = nC/(2*Leff) predicts the sound speed to be ~265 m/s.

Makerspace members or any other folks near Milwaukee should feel free to stop by (on Tuesdays or Thursdays evenings) and fire up the Rubens tube.  Just use a small amplifier so you don’t put more than 30 Watts into the 4” speaker!  For some scholarly information about Rubens tubes, check  out the series of articles in the journal “The Physics Teacher:”  M. Iona (14), p325 from 1976; T. Rossing (15), P260 from 1977; R Bauman (15) p448 from 1977; and G. Flicken (17) p306 from 1979.

June Music Group Night

June’s Music Group meeting tonight was Kevin, Matt G and myself scheming, listening to cool stuff, having some whiskey and playing around with max/msp tutorials.

The MESSSSS (Makersace Eight Speaker Super Surround Sound System) that we debuted at Bay View Gallery Night Friday went over pretty well, but could use some work.  We ran it off of 3 stereo receivers and 4 android phones coordinated by the PBST (Push the Buttons at the Same Time) protocol and want something a bit more controlled.  Also, the levels on our pieces were very different so we had super subtle things followed by ear-splitting shrieks.  While i’m personally into that kind of thing, it didn’t make for a terribly cohesive whole.  

We left the meeting with 3 main actions:

  1. rebuild a spare PC I have with an 8 channel audio card to be the new brains of MESSSSS.
  2. Start on an android app to control playback from multiple devices at once.
  3. Kevin and I are going to spend some serious time learning max/msp. I have done a couple of things with it but they are ugly and hacky and i only made them work by pushing things together really hard.

If we can get the new MESSSSS brains up and running, we are going to refocus the music club meetings on performance and recording.