Reply by Ikaro October 7, 20082008-10-07
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