Updated De-Clicker and new De-esser for speech


I’m in awe!

DE-CLICKER Defies the old adages:

(1) “If it sounds too good to be true, it probably is.” Not so!

(2) “There’s no FREE lunch.” Not so!

You ROCK!! You’re a STAR!!



#lifesaver #extratimeonmyhands #byebyefrustration

Paul-L’s de-esser avoids the need for expensive dentistry :slight_smile:
4kHz whistle through gap in front teeth cured by Paul-L's de-esser.gif

This feat would not have been possible with any other de-esser I know of.

Exactly what I designed it for!

I’m still +1 for that if linked stereo is added.

But, Paul gets to write a user-level description of each control on the Wiki. :smiley:


+1 I second that :laughing:

And a great pice of work this, Paul :sunglasses:


The acid test for a de-esser : “Herbert” from the vulgar cartoon “Family Guy”

To remove a whistle each band has to be about 100Hz wide , or less, within the whistle frequency range.
At that high-resolution, processing on my (five year old computer) take several times the duration of the track,
standard de-essing which only requires bands say 1kHz wide is a lot quicker: less than duration.

Bands have equal width in log f space, not linear, so describing them in octave or step terms is more appropriate than Hz. Higher bands will span more Hz than lower.

Thanks for the examples. I have not yet heard the Family Guy. What settings were used for the 4 kHz whistle example?

It is quite possible that my methods for steep sided band passes are ridiculous and I need to research the math better to learn a more efficient computation.

The range was 3.8 to 4.8kHz , (i.e. 1000Hz), with 10 bands , which is where I got the “100Hz” from, (1000/10).
Paul-L's de-esser settings to remove 4kHz whistle.gif

That shows you have taste : " Family Guy" is like the Simpson’s cartoon, only much more vulgar.

(ln(4800 / 3800) / 10 ) / ln 2 = 0.0337 octaves per band, or 0 steps and 40.44 cents.

Those are REALLY narrow bands! Isn’t that excessive for good results? My default settings, which I find satisfactory for blanket treatment of tracks, are 10 bands between 2500 and 8000 which works out to 2 steps 1.37 cents, call it two.

This math isn’t very exotic – graphic equalizer sliders are logarithmic too, after all – and Audacity’s graphic equalizer has 4 steps per band, so I only halved that width for my defaults.

Narrower bands are more expensive to calculate than wider ones, and lower frequency bands are more expensive than higher.

Were you tuning settings just to fix this one bad whistle, rather than a blanket treatment of a track? Come 2.0.7, I’d say, don’t do that, do your spot fixes in spectrogram easily with this OTHER new development of mine… http://forum.audacityteam.org/viewtopic.php?f=20&t=81302

[quote=“Paul L”]
I have not yet heard the Family Guy

That shows you have taste : " Family Guy" is like the Simpson’s cartoon, only much more vulgar.

Just watched. Oh man, that’s gross. I couldn’t do that whistle on every s if I tried.

But how do results compare with “standard de-essing?”

10 bands over a region of 1kHz was just for that bad 4kHz whistle.
10 bands over 10kHz range from 3 to 13kHz is more normal for de-essing.

Re: Spectral Editing:
Whistles aren’t always at a constant frequency , so sometimes a notch-filter won’t remove it all …
the ''4kHz'' whistle isn't constant , it's 3800-4500Hz.gif
whereas your de-esser will remove a whistle of varying frequency.

Photoshop-[or GIMP]-style editing of the spectrogram would be a dream come true : dodging / burning / erasing / contrast-control etc using brush strokes.

We can dream about the dodge and burn, but selecting simple rectangles and doing something with them is a good advance to begin with.

Ten from 3 kHz to 13 kHz makes wider bands (2.5 steps) than with my defaults. I think those setting treat that whistle well enough, but I may not have the keenest ears.

I just treat from 2.5 to 8 kHz. Certainly not above 11.5 kHz which is a cutoff for even the highest quality of audiobooks downloadable from Audible, as I have learned from some experiment.

But my spectral editing can do other than a notch filter. It can do a parametric equalizer. The de-esser relies on the same eq-band function of Nyquist.

Re: DeClicker … it’s also a DeCrackler if you push it to the max …

Now the bad news …
processing to DeCrackle takes about 10x the playback time on my 5 year-old dual core computer,
(your mileage may vary).

It seems then that this too should be verified by Steve then documented by Paul and put out to Audacity Wiki. Or does it need more development?


Which extreme settings were you using now?

My intention was to write something that removes naturally occurring but distracting mouth noises from narration. It was not my intention to fix the noises of damaged old media. Fixing spikes in a signal may actually be a different problem from fixing small natural sounds of short duration. But, if you think it works, you’re welcome!

As it happens I was just lately looking around for good books about Audacity for instructing other people, I don’t know if you have recommendations, and I found one just about fixing up old 78 rpm’s, which is free if you have Kindle Unlimited. I think there are some interesting ideas here.


DeCrackle looks like the DeClick problem but on a smaller time-scale, so a DeClicker will also DeCrackle, but inevitably involves a lot more computational effort because the occurrence is more frequent.

The lower limits of the “repair interval” and “precision” maybe need to be lowered for DeCrackling because of the shorter time scale compared with DeClicking.

The DeCrackle sounds smoother than paid-for software like Brian Davies “click repair”, see attachment ,
( but to be fair the processing-time is easily 20x longer than Brian Davies ).

Did you reduce the minimum separation permitted between clicks? It is undesirable to put it much lower than the default, I find, for editing my own male voice. It would muffle too much. As it is, it muffles the vocal fry a bit, that ends of sentences sometimes trail into.

Here’s a crunchy one from 1923 …

De-Crackle settings (compromise, processing is 4x playback time).png
The settings are a compromise : trading off DeCrackle against processing time.
The settings shown give a processing time of about 4x playback time on my computer.

You pushed the repair interval down to 0. I thought I needed nonzero repair intervals for crossfading of each fix so that I do not introduce clicks by making edge artifiacts at each interval.

If you did not reduce repair interval, you might not need so many passes to compensate for the clicks created by earlier passes.

So you might find a more efficient set of settings for this purpose.