See that black rectangular blob in the middle of the picture above? That’s an operational amplifier, or op-amp. It’s a very common device that has a whole bunch of uses in the analog domain. Here I have it configured as a simple non-inverting amplifier, with a basic envelope follower circuit on its positive input. The envelope follower strips out the frequency from the microphone signal and outputs a voltage that is proportional to the amplitude of the original signal. This is almost enough to solve our problem, but the output signal is too weak for the AVR to read correctly. That’s where the op-amp comes in. It amplifies the signal before it goes into the AVR, overcoming noise issues. Fifty cents well spent! Now, instead of rapidly reading and analyzing the waveform, all the AVR needs to do is sample the output from the op-amp once in a very leisurely 11 milliseconds or so.
I was a little afraid of going back to 1970s era analog circuitry to solve this problem, but I’m glad I did. It works amazingly well. Now we get convincing, smooth servo response. And we don’t have to glue a pile of mechanical sensors to the dancer’s faces every two hours!
Here’s the circuit, drawn in SHARPIE CAD: