If the noise is constant, and you are able to estimate its
properties, why not use a Wiener Filter?
> It seems fairly constant in the background and is more noticeable in quiet
> sections. �At least it sounds constant enough that subtracting it out might
> be a good strategy. �The issue is getting a good replica for that purpose.
Reply by Manolis C. Tsakiris●October 7, 20082008-10-07
Hi Fred,
if you knew the exact frequency of your noise, you would remove it via an
adaptive notch filter in which the input signal would be the noise and the
reference signal would be the audio signal with noise. Then the adaptive
filter would remove the noise from your audio signal.
Since you estimate that the noise is in the low frequencies, why don't you
lowpass filter the audio signal, see what low frequencies you have and use
the most strong of them as an input signal to the adaptive notch filter?
I have not tried it, but it could work under some conditions. Try it and
please report your results.
Manolis
Reply by Fred Marshall●October 6, 20082008-10-06
Jerry Avins wrote:
>
> I'm not up to advising you, but I'll offer a thought you might pursue.
> You might average several selected periods of noise from a quiet
> section, much as astronomers average (sum) several exposures of star
> images, discarding those most disturbed by atmospherics. Flutter in
> the recording may be hard to deal with, but wow can probably be
> mitigated with time/pitch corrections. All more easily said than
> done, but better you to do it than me. :-)
>
> Jerry
Jerry,
Thanks. Well, in the absence of adaptive noise cancelling code, I decided
to do something very simple along the lines you suggest.. I think.
Because the segments I'm interested in are low SNR to begin with (that's why
I want to subtract out the noise), I decided to start by doing a circular
"shift-subtract". To the extent that the noise is periodic, and to the
extent that its amplitude doesn't change much, I should be able to find
shift values where the noise is reduced. This would be the same as passing
the signal through a 2-coefficient FIR filter of [1 -1] if I knew the delay
between the taps.
When I find the minima in the shift-subtract data then I will know the
period of the noise. Preliminary results look pretty good - that is, there
are some rather distinct minima it appears.
Then, with the period of the noise, I may be able to select a segment of the
signal of that length that is purely noise and use that segment as a period
of a longer noise replica. Then I might subtract *that* "noise" from the
signal - properly aligned in time.
If the first method works at all, I have no idea what to expect from all
those zeros in the transfer function is going to do to the output! Just
like Lloyd's Mirror. I'm trying to extract speech so it will possibly sound
a bit "echoey".
In the case of the adaptive filter, the adapting FIR filter should pass the
spectral lines in the noise and adjust their phases - while supressing any
broadband noise (and perhaps voice signal). The output of the filter is
added (i.e. subtracted) from the input signal with appropriate amplitude to
cancel the noise. The trick is to delay either the input to the FIR
adapting filter so that the broadband noise isn't correlated at the summing
point and is shut off in the filter. So, in this case there's the delay of
the FIR filter plus the added delay at its input - and some hope that the
voice signal will be supressed by the filter. That makes it nearly the same
as subtracting a quiet passage of "noise only" and should eliminate the
zeros in the transfer function re: the voice part.
Fred
Reply by Jerry Avins●October 6, 20082008-10-06
Fred Marshall wrote:
> I'm trying to filter out some nasty noise from an audio recording. It
> appears to be periodic from the sound of it - rather like a buzz saw.. Maybe
> 60Hz and 120Hz components from the look of it.
>
> It seems fairly constant in the background and is more noticeable in quiet
> sections. At least it sounds constant enough that subtracting it out might
> be a good strategy. The issue is getting a good replica for that purpose.
>
> So, I thought that an adaptive noise canceller with a big delay in one side
> or a looped source of a quiet section of suitable length as a noise
> reference might be a good idea.
>
> Whatever, I don't have a program to do it and I don't have the time to code
> it up from scratch - as I'd be dealing with mistakes, etc. etc.
>
> Suggestions would be appreciated.
I'm not up to advising you, but I'll offer a thought you might pursue.
You might average several selected periods of noise from a quiet
section, much as astronomers average (sum) several exposures of star
images, discarding those most disturbed by atmospherics. Flutter in the
recording may be hard to deal with, but wow can probably be mitigated
with time/pitch corrections. All more easily said than done, but better
you to do it than me. :-)
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
** Posted from http://www.teranews.com **
Reply by Fred Marshall●October 5, 20082008-10-05
I'm trying to filter out some nasty noise from an audio recording. It
appears to be periodic from the sound of it - rather like a buzz saw.. Maybe
60Hz and 120Hz components from the look of it.
It seems fairly constant in the background and is more noticeable in quiet
sections. At least it sounds constant enough that subtracting it out might
be a good strategy. The issue is getting a good replica for that purpose.
So, I thought that an adaptive noise canceller with a big delay in one side
or a looped source of a quiet section of suitable length as a noise
reference might be a good idea.
Whatever, I don't have a program to do it and I don't have the time to code
it up from scratch - as I'd be dealing with mistakes, etc. etc.
Suggestions would be appreciated.
Fred