I started with one snooper to see if I could read the incoming data… I hooked up the speaker out wires, scratched the surface of the mic, and heard the response through the a speaker from an answering machine.

I used the oscilloscope to check the signal as well.

The values were jumping all over the place, so I added a smoothing function to the code and a 10k resistor, and then the values smoothed out a bit, and jumped nicely when a sound was made. Room noise may still be a problem.
When I tested all four of the snoopers, one stopped working, and the other three had two completely different volume input levels. Then one of the three I had left stopped working as well, I think I soldered too close to the microphone head. The problem turned out to be a bad battery, so I still had three snoopers to work with, even with the one casualty.
The plan was to place the snoopers in a triangle two feet from each other, hit the claves in the center, then use the incoming data to determine the exact position of the noise.

I had a friend stand in the middle of the triangle and strike the claves once, count to 5, strike again, etc. I used Tom Igoe’s Datalogger Multi code to view the incoming data, and all three of the readings from the snoopers looked the same, even with the smoothing value function I had added to the Arduino code. The snoopers were unable to pick up the clave noise, and had too much noise in general to be effective, and an accurate distance to signal ratio is necessary to triangulate. The three different colors in the diagram each represent a unique snooper signal, but they did not read unique data.

The appropriate process for triangulation of sound would be:
1. Find the average of the readings made by the clave sound
2. In the event that the snoopers are reading adequate data, you can use the distance formula to triangulate the sound emitted and subsequently find its location:

3. Diagram of triangulation scenario:

(R0_x, R0_y) = coordinates of snooper 1
(R1_x, R1_y) = coordinates of snooper 2
(R2_x, R2_y) = coordinates of snooper 3
D0 = distance of sound source to snooper 1
D1 = distance of sound source to snooper 2
D2 = distance of sound source to snooper 3
S = location of clave sound
4. Use distance formula to create 3 equations:
KEY: ^2 = to the 2nd power
P = S (average of clave reading )
A: (Px – R0_x)^2 + (Py – R0_y)^2 = D0^2
B: (Px – R1_x)^2 + (Py – R1_y)^2 = D1^2
C: (Px – R2_x)^2 + (Py – R2_y)^2 = D2^2
5. Then reduce to two equations where a, b, c, d, e are constants:
A – B: a*Px + b*Py = e
B – C: c*Px + d*Py = f
6. Use Cramer’s Rule to solve the two equations:

7. Px and Py will give you the location of the clave sound, and triangulation of sound is accomplished.
Arduino Code
Processing Code
Distance Formula Calculator
Triangulation Equation adapted from this Bluetooth Triangulation report (pdf)
Successful sound triangulation reports:
3D Acoustic Source Localization
Sound Triangulation (pdf)