Does this exist: software for noise cancellation

There are basically two methods for noise suppression

  1. Noise suppression using Wiener-filters or other estimation-and-subtraction schemes. In order to make these sound good, a lot of optimization and brainpower is needed, though. For your application, this is probably not a good solution, since PCs are not built for real-time audio processing, and the algorithms involved are far from trivial.
  2. Playback of latency-corrected, phase-inverted background noise together with the usable signal. This works rather well for headphones, although it does usually introduce some smearing in the basses. However, this, too, does not work offline as it needs the actual background noise signal from the surroundings. And it is not very usable for PCs since they introduce too much audio latency. You could try this with some minimal realtime-Linux-kernel, though.

Based on my experiences with audio processing and various noise cancellation techniques, I would recommend some good sound-insulated headphones. Typically, these will result in better sound without the necessity of any signal processing tricks that won't work too well anyway.


Not possible for physical/hardware reasons.

Noise canceling headphones work by recording sound and playing a phase inverted sound to cancel it. With a laptop the mic first off sucks, and nicely in front of you this means sound coming from behind you will reach your ears first before it even hits the mic. Then it has to go through the computer onto the slow soundcard (likely a ping of .1 seconds or more) to the speakers where it'll play. This lag time will be too great to deal with.

So it comes down to mainly this:
You and the mic hear different things (in headphones they are in your ears).
Lag time from standard laptop sound cards is big, you often can't even get a guitar amp working well for this reason over your computer (near 0 in the headphones).

This would, no matter how optimized result in a horrible experience.


See this article : Noise Cancelling in Software?.

It's interesting, but has no solution.