FFT filter to remove cd scratch

I have a .wav file which came off of a cd with a scratch, so there is a periodic "clicking" of about 6 Hz. I was playing around with trying to squash the clicking by taking FFT and filtering the range around this frequency, but with no success. I tried smoothing the low end of the FFT spectrum, but it didn't change anything. Then I tried zeroing this part of the spectrum up to higher and higher indices, but it still wouldn't kill the click. Eventually it started to attenuate the entire signal, but the click was still there, and perhaps even more prominent than before (relative to the rest of the signal). Why is this the case?

My first speculation is that the click is somehow not quite steady enough to be localized in a single region of the spectrum. Can anyone confirm this hypothesis or else explain the true source of the issue? Also, is there a better means of eliminating the click?

• It may help if you mention the type of filter you are applying (notch? FIR, IIR?), and the attenuation band. Also it's hard to say without looking at the signal, a spectrogram would probably show dominant frequencies with time... for example with Audacity. (btw SE requires 50 points to add this as comment, so I add as answer)
– 3150
Jun 22 '14 at 9:17
• One problem is that your clicks are not sinewaves, so filtering at 6Hz will only alter the fundamental not all the (integer) harmonics that are also likely to be present. There used to be a good wavelet example on denoising an old Caruso recording, but I can't find a good link right now. Wavelet denoising techniques tend to be better in this application than frequency domain approaches.
– Peter K.
Jun 22 '14 at 10:28

This approach with notch filter with not work. All clicks are impulse-like sounds and we know that an impulse has frequency content at almost every frequency. What you are trying to do, by applying the $$6 \ \texttt{Hz}$$ notch filter is to remove sinusoid with that particular frequency in your signal, isn't it? So do you hear that your clicks are such low-frequency sounds? Definitely not! Those clicks are spreading into whole of your spectrum (like very short burst of noise), and filtering out $$6 \ \texttt{Hz}$$ won't help!.

You also didn't shared any more informations about nature of your clicks and a signal (spectrogram, waveform or even recording would be great), because it might be the case that your signal is also impulse-like (i.e. recording of a shooting range), which will make the recognition and cleaning task bit more complicated. Also are your clicks the same over time? This could be also the case for digital systems, and simple correlation calculation should do the job. Additionally if you can sacrifice some of your recording quality and click's are very short, then you can use the median filtering. You can also use some time-frequency methods (based on wavelets, spectrogram calculation, LPC's) or statistical approach, such as AR modelling, etc.

Here is some reading for you - I hope it will guide you and you will find appropriate method for your kind of signals.

Audio Click Removal using LPC

Godsil S., Rayner P. - Digital Audio Restoration - lot's of references

AR modelling based approach - book chapter

Detection of clicks using sinusoidal modelling for the confirmation of the clicks

Automatic detection and removal of impulsive noise in audio signals