Controlling an array of 16 speakers

Hi all,

I’m working on sound design for a production in melbourne this august. My idea is to place a grid array of, say, 16 small speakers (4x4) concealed within the audience and to create a ‘field’ of sound that can be moved dynamically around the grid.

At this stage, the only way I can think of doing this is by using a 16-channel midi-controlled mixer to route sound (either from a single source, or from 16 individual sources via a computer soundcard) to each of the 16 speakers. I would make a 2-dimensional controller using arduino to interpolate the sound ‘position’ and set the volume of each channel on the mixer accordingly in realtime.

I just wanted to put the idea out on this forum to see if anyone had some any ideas about how this could be achieved, or any suggestions for a different equipment setup. I’m not particularly well acquainted with pro audio gear, so the more low-tech the solution, the better!



Well for one thing you'd need 8(?) Soundcards, which seems a little unfeasible, but whatever floats your boat.

As far as the Arduino half of it goes, That's a good way to do it, I'd hook up 2 linear potentiometers to the analog pins, then just send the values over serial, you COULD do the actually speaker processing on the Arduino itself, but since you're sending data to a computer anyways, just write your actual program to suit.

you COULD do the actually speaker processing on the Arduino itself.

that sounds a lot less painless.... any ideas how to go about doing that? i have 2 arduinos - i could use one for controller processing, the other to drive the speaker matrix...?

otherwise, i think i might be able to get my hands on a 16-channel soundcard - which would be a lot more practical than 8 soundcards. but really, my preference would be to have no computer at all so if anyone is able to suggest a way to do all the processing on arduino(s) i'd be uber grateful!

Well either way, the actual sound would have to be produced by something else that accepts Midi. For what you want to do, a computer would be easiest, not 100% sure, but I don’t think a “16 Speaker Midi controlled sound module” Exists.

As far as how to do it,

I’d probably define each speaker, then the code would look like,

xPot <50 >100 & yPot <50 >100
speaker1 = HIGH
midi.send(speaker1, 2, 3)

And so on, this would be pretty “monotone” where the sound would jump around, unless you define halves, but that gets really complex.

There’s probably a way to create a more efficient table of some sort, but that’s the best I see.

Hello, I made a 16 ways sound install last year. I used an old mac G4 with a digi001 card (8 analog aoutputs) plus an behringer adat box (8 output more), 2 x 8 channels headphone amp, 16 little loudspeakers and max/msp to change sound (using buffer~) and intensity (using slider~) on each output. pureData (free?) can do the same. So you can use arduino to input your information via serial (no midi involved). It worked well with 8 different sound sources (mono 16 bits 44.1 khz), With a simple sound source, that would be more easy? Jacques

You could consider usnig a joystick for the positioning. Make sure it's an analog joystick with 2 potentiometers and use them as X and Y as suggested above.