Chris Bagwell | 24 Apr 2003 15:37

Re: remove 50 Hz noise

Torsten Mohr wrote:
>>>
>>>What parameters/options seem to give the best results
>>>for human speech overlayed with 50 Hz?
>>
>>I would use something like
>>
>>sox infile outfile -e highpass 100
> 
> 
> This makes an improvement, thanks for that hint.  At the moment
> i apply "highpass 200" three times in a row.  Not according to the
> man page, maybe in the latest version?
> 
> Is there an FFT filter like this available?
> - transform sample to FFT
> - set everything below a certain frequency to 0
> - transform the FFT back to a sample
> 
> 
> Best regards,
> Torsten.

A little more surgical effect is the "bandpass" effect.

sox infile outfile bandpass 50 50

The above removes only the audio at 50 Hz with a bandwidth of 50 Hz on 
each side.  And as you noticed, there is a slope to the audio removed 
and so each run will remove a little more... It may introduce noise 
though so be carefull running multiples.

Anyways, sox doesn't have any effects that use FFT.  There are some 
tools out there though that tell you what freqs are being used in your 
audio... You can use them to see if you have noise spikes at other freqs 
(usually at multiples of 50 Hz).  A bandpass filter will help you remove 
those other spikes without effecting the rest of the audio.

Chris

--

-- 
  Chris Bagwell <chris at cnpbagwell dot com>     |     Frisco, TX
           http://www.cnpbagwell.com/             |         USA

-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

Gmane