Slashdot Mirror


Software Noise Cancellation?

DangerTenor asks: "As I flew around the world, lusting after my coworker's $300 BOSE Quiet Comfort Noise-cancelling headphones, I looked down at my laptop computer and noticed the built-in microphone. Has anyone written or considered writing software to run noise-cancellation based on the built-in mic?"

4 of 38 comments (clear)

  1. Reasons this may not work by quantax · · Score: 4, Insightful

    Here is how noise-dampening works:

    A quick overview of sound; all sounds are comprised of varying frequency, and amplitude pressure waves. A sound dampener 'listens' to a sound, and emits it 180 degrees out of phase. This means the crests and troughs of the 2 waves are overlapped, negating one another.

    The main issue to be overcome is direction and such that shifts the pitch of sounds coming from a computer. Unless you are using a very high quality, wide pickup mic (which are rather expensive), you are probably not going to be able to get enough sound precision to be able to get the damper working effectively. Also, positioning the mic would take a while to get the best location for maximal damping effect for overall sound. This is still work checking out though cause it may yield greater results than I think it will. However, most computer users do not have high quality mics in the first place (and a $20 mic wont cut it). The more mics used, the more effective this would be due to wider sound coverage.

    --
    "What can a thoughtful man hope for mankind on Earth, given the experience of the past million years? Nothing." -Bokonon
  2. There IS a way... by Ayanami+Rei · · Score: 2, Insightful

    except you'd need a really nice microphone, thus nullifying the effort saved on not buying expensive headphones. But it is possible, unlike what some other naysayers claim. I assume you want to cancel generic PC noise, not everything outside EXCEPT what you want to hear (that is almost impossible to begin without over-ear gadgetry or a fixed-head requirement... get big sweaty headphones instead).

    What some other people here forget is that by-and-large, the noise created by a PC's fans are stationary signals. A second of training to the ambient noise in the room via an omnidirectional mic will allow you to build a frequency profile. Then, you filter the data against this profile to compensate for the ambience. Of course, you keep updating the profile, as noise levels in the room are constantly changing. One problem is that you have to deal with processing the sound in the frequency domain to compensate, so you have to transfer to and from the time domain in chunks. This all has to be accopmlished in realtime (it's not light on the CPU) and it will introduce a short delay, but the shorter that delay, the less effective it will be.

    I think a better solution would be to place the crappy desktop mic (if you aren't using it for telephony) into the case of the PC, where it will work better. Then you could work on reducing the apparent machine noise (including 60Hz hum!)

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  3. Won't work by Cuthalion · · Score: 2, Insightful

    Okay, the reason it won't work isn't that the microphone is shitty, which it probably is. It's not that the computer isn't fast enough (which it probably is).

    The problem is that the microphone is not near your ear.

    In order for noise cancelling speakers to work, they need to maintain a constant and known spatial relationship with your ears relative to the sound source. The only practical way to do this is to locate them at the ear (that's how noise cancelling headphones work).

    Thus unless the laptop's microphone is at the loci of both your ears, you're not going to do any better than just add to the racket.

    --
    Trees can't go dancing
    So do them a big favor
    Pretend dancing stinks!
  4. Re:Yeah, to some degree.... by Anonymous Coward · · Score: 1, Insightful

    Spending the night with a girl or shutting down your computer...yeah, you made the right choice.