C# Adaptive Sound Cancellation [closed]
Asked Answered
T

1

6

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 )

Titillate answered 10/1, 2013 at 21:9 Comment(5)
Having everyone get a pair of headphones would probably be easier. :)Rennin
Yes it would, we were talking about putting in a bunch of purchase requisitions for noice cancelling headphones as a joke, but it would never go through. :-)Titillate
It's not well know, but random white noise can work almost as well for the problem of human distraction as noise cancellation does.Icono
This is a DSP application to get the required sub-millisecond response. They are not programmed in C#, can't afford GC for one.Revealment
Just to echo @Icono - White noise will blur all other sounds, because it fills in the frequencies so that the other sounds "get lost in the noise" and don't get recognized as meaningful noises by your brain. And it's easy to try out - just find a source online and play it through your speakers.Pare
I
9

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).

Icono answered 10/1, 2013 at 21:23 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.