Programming is often about solving problems, sometimes problems that you didn’t know that you actually had to deal with. This past week the Media Installations course that I’m taking spent some time discussion issues of synchronicity between computers for installations, especially in a situation where the latency of wired or wireless connections creates a problem. When 88 computers all need to be “listening” in order to know when to start playback, how can you solve that problem?
Part of the discussion in the class centered around using the built-in microphones on modern laptops as a possible solution. Here the idea was that if every computer had it’s microphone turned on, the detection of a sound (say a clap) would act as a trigger for all the machines. Unless you are dealing with distances where the speed of sound becomes a hurdle for accuracy, this seemed like a great solution. So I built a patch to do just that.
This max patch uses the internal microphone to listen to the environment and send out a trigger messages (a “bang” in max-speak) when a set sonic threshold is crossed. As an added bonus, this patch also turns off the systems involved with detection once it’s set in motion. Generally, it’s seemed to me that a fine way to keep things from going wrong is to streamline your program so that it’s running as efficiently as possible.