Question

At my work the entire engineering department just got moved into a new seating arrangement that allows sound to travel a bit more than any of us care to enjoy. I wanted to try to come up with a way to solve this in a cool engineering fashion. Is it possible to create adaptive sound cancelation using:

  1. Microphone Input
  2. Frequency Calculation
  3. Speaker Playback

If so, what libraries would I want to look at? I am assuming something with FFT(Fast Fourier Transform) Microphone input, and frequency playback. Could anyone point me to good libraries that have these capabilities? ( If this is even possible )

Was it helpful?

Solution

This would be difficult/impractical/impossible for two primary reasons:

  1. Speed: Sound cancellation must capture, calculate the cancellation and generate the cancellation very fast, probably with no more than a 1 millisecond delay. That's going to be hard to do with managed code.

  2. Phase Positioning: The proper cancellation phase for any sound/noise is entirely dependent on the precise distance relationship between the microphone, the speakers and your ears. The first two stay fixed, but your ears tend to go wherever you head goes, which your code has no way of knowing about. (this is one big reason why noise cancellation works so well with headphones, but not for anything else).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top