Automatic removal of mouth smacks

for removal of FM hiss, to use a notch filter?

You can get rid of almost all FM hiss by dropping stereo. Does your receiver do that? Mono FM is remarkably hiss and interference free. I had a very old Dynaco receiver that would drop stereo with a switch. It’s amazing what 20dB less noise will do for you. I did all my radio talk show recordings like that for years. The basic mono FM channel is 20Hz-15KHz and I think the proof noise floor is something like -55dB. Stereo was the problem and widely condemned when it was introduced.


Yes it does have a mono setting (and I did realize that that removed the hiss) - but I was kind of hoping to retain the two stereo channels so I can retain stereo images - those BBC engineers are rather good in the live sessions :wink:


Noise Removal is probably best for reducing FM hiss, but I’d not attempt to eliminate the hiss altogether, just reduce is a bit and preserve as much sound quality as possible. With a good FM antenna I’d expect you to end up with something sounding a lot more pleasing than 128 kbps dab radio, even if dab is hiss free.

I was being foolish, I overlooked the phase of 90 without which it didn’t make sense.

So steve is smoothing in time and frequency both.

Do you think that will be much improved over either smoothing alone?

How is the rolloff of lp compared with lowpass2, etc. ?

I might attempt something more complicated that adapts the cutoff to the click, uses highpass for low-frequency clicks in sibilants, blends more of the original sound so as not to silence the bad frequencies but only make their amplitude similar to the surrounding sound, etc.

The HP and LP filters are only 6 dB/octave, hence repeating them a few times. The reason for not using (for example) LOWPASS4 is that for HP and LP the corner frequency may be a sound whereas for the others it can only be a number.

Smoothing only the frequency works well except for the start and end of the selection, which will both suffer a glitch. The short crossfade at the start and end of the selection will look after that, though there is a very slight “wobble” in the frequency response during the cross-fade due to phase differences between the filtered and unfiltered audio.

Worth noting that even when the filter frequency is at half the sample rate, there will be a slight attenuation of very high frequencies. I doubt that will be a problem with speech, but for a musical application, compensation could be applied with a high-shelf filter close to the Nyquist frequency.

Certainly - was just passing on some ideas.

You may need to be careful when mixing filtered and unfiltered audio. The difference in phase can cause radical changes to the frequency response. As an example. try this code snippet and look at the frequency response:

(setf white (mult 0.6 (noise)))

  (mult 0.5 (highpass4 white 1000))
  (mult 0.5 white))

Yes, phase problems.

You did not answer the other implied question: what good would it be to do time smoothing, but not frequency smoothing? In other words, just lowpass at a constant frequency.

How high to most people hear? I am not too concerned about what happens near the Nyquist frequency, because as I explained elsewhere, the ultimate retail version of my productions truncates frequency data above 10kHz in even the best quality version.

There was an implied answer to your implied question :wink:
“though there is a very slight “wobble” in the frequency response during the cross-fade due to phase differences between the filtered and unfiltered audio.”
You’ll need to experiment to see if that effect is significant in your application.

I like that so much that I wrote in down in the (2.0.6) manual on the Noise removal page:


And apologies to Paul for hi-jacking his thread for a bit - but that insight from Steve was interesting and useful :slight_smile:

Not at all, waxy, I’m glad for the better understanding of noise removal.

UPDATE 10/23: see my next post.

A couple days’ work at coding and debugging, and I have something that shows some promise already. I think this is good at detection, but variable at fixing the problems, sometimes very good, sometimes worsening the result with strange artifacts, but more often it is neutral to good.

Use it either to label clicks, or fix them, or show differences between fixed and original. Use the last on a duplicate track and compare the solo to the mixed sound.

The beauty of it is that sometimes I can remove a click in spectrogram view without a careful zooming in on the waveform. However the interval about the click that gets fixed is still dependent on the selection boundaries, because I skip over the sound in blocks and don’t yet refine the determination of intervals to fix.

Maybe it isn’t polished enough yet for the plugins board.

DeClicker.ny (10.8 KB)

Here’s an update. I reorganized things so that the progress indicator bar is more meaningful, and I fixed a bug in the cutoff for high-pass biquad filters.

I think my next task will be to improve the precision of click boundaries.

This tool has a “block size” parameter, which is supposed to be the minimum separation of centers of clicks. You don’t want that less than the period of the fundamental of the voice, or else false clicks might be detected in every cycle, especially in “vocal fry.”

For now, labelled clicks are always exactly that wide and with boundaries at multiples of one half block size. As I mentioned before, the centering of the real click in the label boundaries (or even the detection of the click), and hence the quality of the crossfaded fix, depend a bit too much on accidents of the selection boundaries. While I don’t think refinement to the sample time is worth the computation, I should figure out how to vary the step size to values less than half the block size.
DeClicker.ny (11.1 KB)

I see a couple downloads. Any comments? Another iteration is in the works.

Audacity’s own Repair is a manual defect remover, which treats some of the things I want to remove, but it doesn’t automate over minutes of sound.

How much of what I want to do might be done by Click Removal?

Experiments with Click Removal at various levels of sensitivity suggest that it is not suited for my needs.

I zoom in on places where the waveform changes, and in waveform (Not DB) view, it is evident that certain small peaks just get chopped off with a linear interpolation of samples. This is not frequency filtering.

What does Repair do? I’m not sure what mathematically but it isn’t so simple. But it is not suited for blanket treatment of a track.

Enough to convince me that what I am developing is not duplicating a wheel, at least none packaged with Audacity.

I am not developing this for purposes of cleanup of captures from radio or tape or vinyl, but perhaps it will be suited for that too. Maybe one of you will try it. waxcylinder?

Yes I can give it a spin - I’m shortly to de-commission my turntable (as I’ve finished all my and my wife’s vinyl transfers). But before I do that I’ll make a couple of captures from a couple of my 45s - and they have had a very hard life.

Have you tried Brian Davies’ ClickRepair, he gives a 21-day free trial so you can experiment a bit for free. I would recommend setting the “Reversed” processing:
I’d be interested in hearing if this s/w does the trick on your “mouth smacks”.


Just been playing around with that for a few minutes with that, and these settings work for me …
settings which work for me 131025.png
before-after  ''Paul L'' DeClicker.gif
[ this plugin did crash Audacity a couple of times when I tried using extreme settings ]

@Paul: Ok I tried tour DeClicker (you made it hard for me to spot it the Effects list as it’s not called DeClicker there :slight_smile: )

I tried it with your default settings and with Trebor’s settings - it made some dent in the clicks on an old 45 but nowhere near enough - and certainly nothing like as good as Brian Davies’ ClickRepair.

The progress dialog is wildly inaccurate in terms of its elapsed and remaining times - plus the progress bar gallops to the 50% mark sits there for a long time (with the timer counts static) and then suddenly gallops to the end.

To me its looks a fearsomely complex GUI with non-obvious parameters to set - and I speak here as one of the documenters of Audacity :sunglasses:

Let me know if you produce an update you would like me to try.


Trebor, are you also removing LP noise? Try increasing crossfade percentage to avoid artifacts.

waxcylinder, maybe raising the floor of frequencies to check would reduce the time and make progress more meaningful.

I don’t pretend that this is a finished project. There will be more updates. FIxing LP captures may be beside my purposes but it is nice to know if it is useful.

One problem I am aware of is that it detects intervals containing clicks, but all repair intervals are the same width and not always well centered on the click. More crossfading might give a less satisfactory fix if the centering is bad, though it reduces artifacts.

Try increasing iterations for more aggressive fixes, and try “biquad” (I will rename those dropdown options) for more robust fixing despite badly centered labels.

Have you tried the labelling feature? It can find clicks without doing anything to them. It indicates in the label the range of frequencies that are clicky.

Not LP, the click example I posted was a voice recording posted on this forum , ( it could be lip-smacking or a stuck mic-diaphragm freeing itself with a click). Using your plugin on the settings I posted reduced those type of clicks almost completely. I’ll give it some more trial and error to see if I can improve on those settings.

[ I had an idea to de-click via processing the differentiated waveform : It does make the clicks more obvious ]

Tell me too whether the tool worsens the sound more than it improves it.