Re: Little OT : Software for Active Noise Cancelling or Reduction
On Thu, 6 Aug 2009 06:08:50 -0400
Mark Neidorff <firstname.lastname@example.org> wrote:
> On Wednesday 05 August 2009 04:42 pm, John Hasler wrote:
> > M writes:
> > > i was considering to buy headphones with Active Noise Cancelling /
> > > Reduction.
> > >
> > > But before spend money, i'd like to know if there's a software that
> > > could do the same job (for free).
> > No. Not feasible.
> > --
> > John Hasler
> Is it technically not feasable, meaning that a room is too large to do noise
> cancelling in, or not feasable from the linux software prespective?
Pretty much technically not feasable and from a scientific point of view, not even mathematical
Think of it this way, if you want to cancel a sound wave you and another sound
wave traveling in the same direction but inverted. Think of sea waves, you need
to invert the wave. If they travel at different directions they will cancel at
some points and add at others and may not even exist together at some places.
You would also get different effects at different wave lengths due to the
differing relative error.
This mean that you need to cancel the wave exactly at the source or on a
complete sphere around the source (with an accurate rendition on that sphere
which would mean nano speakers). The second problem is that you also need exact
measurements to create the cancellation wave, also on the entire sphere, and to
take account the delay between measuring and reacting (even assuming zero time
This is only partially feasible at the headphone level where the listener and
speaker are close together with a know orientation relative to the microphone,
minimizing the relative error, this also explains why you get noise reduction
and not noise cancellation and different effective with different noises
(depending on the uniformity, pitch and direction). A good algorithm also needs
to take into account where the speaker, microphone and listener are all
relatively located and take an assumption on the direction the noise is coming
It may be feasible to improvise noise cancellation headphones though, by
sticking a microphone on the headphones and feed the input back inverted with
the correct delay and volume. At this level it would only take some
electronics, no processor at all.
I don't have the time though to create a simulation at the moment to see if you
need some processor based optimization of not. It does sound like a fun test