Please help with de-sser.

Share your Audacity/Nyquist plug-ins here, or test drive the latest plug-ins submitted by Audacity users.

After testing a plug-in from this forum, please post feedback for the plug-in author.
steve
Site Admin
Posts: 47271
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu
Contact:

Re: Please help with de-sser.

Post by steve » Sun Mar 25, 2018 11:25 pm

Trebor wrote:A simple de-essing strategy is to band-pass the sibilant frequencies, invert their waveform, then mix them back with the original audio.
Assuming the original & band-passed waveforms remain in-phase, then when inverted they will be in anti-phase and will attenuate any excessive sibilance.

No envelope-followers necessary.
but that will attenuate those frequencies throughout - essentially identical to simply filtering out those frequencies. A de-esser should attenuate the high "S" frequencies when those frequencies are excessive, but otherwise leave them alone, and that's why it needs to be a "dynamic" effect.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Trebor
Posts: 4505
Joined: Sat Dec 27, 2008 5:22 pm
Operating System: Windows Vista

Re: Please help with de-sser.

Post by Trebor » Sun Mar 25, 2018 11:50 pm

steve wrote:but that will attenuate those frequencies throughout - essentially identical to simply filtering out those frequencies.
Don't mix-in the inverted "s" frequencies at their original volume, just mix-in at a fraction of the original volume, so it will preferentially attenuate the loudest "s" frequencies.
steve wrote: A de-esser should attenuate the high "S" frequencies when those frequencies are excessive, but otherwise leave them alone ...
Could gate the inverted signal, so there is no de-essing whatsoever below a volume threshold, (nor when the signal is of short duration).

steve
Site Admin
Posts: 47271
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu
Contact:

Re: Please help with de-sser.

Post by steve » Mon Mar 26, 2018 12:34 am

Trebor wrote:Could gate the inverted signal,
and there's the envelope follower.
Rather than a gate, a downward expander could be used (like a gate with a soft knee), which would avoid sudden and probably noticeable "switching" of the filter. That's essentially what a de-esser is.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

steve
Site Admin
Posts: 47271
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu
Contact:

Re: Please help with de-sser.

Post by steve » Mon Mar 26, 2018 1:23 pm

steve wrote: The way I would approach this would be to create an amplitude follower using "snd-avg" (http://www.audacity-forum.de/download/e ... l#index494) This is a little bit tricky because you need the envelope to precisely match the timing of peaks in the audio and "snd-avg" is always looking ahead to the next block of samples. To get synchronization it will be necessary to offset the envelope by the length of "blocksize".

Then I would clip the envelope so that only those parts above the threshold remain, and scale the envelope to a range equivalent to the amount of attenuation required.

The envelope can then be used as a control signal for "eq-band" (http://www.audacity-forum.de/download/e ... l#index351).
Here's a plug-in that I've put together based on the above description.
I've only done basic testing, and don't have a good selection of sibilant speech recordings to test with, but from limited tests it seems to work reasonably, though a bit fiddly to set up. Previewing the "Residual" (the "S's") helps, as does checking the frequency response in Plot Spectrum.

I've commented just about everything so that you can see what it's doing and how, so hopefully it will be a useful starting point for your own plug-in.
de-esser.ny
(2.87 KiB) Downloaded 29 times
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Felipe Zanabria
Posts: 14
Joined: Fri Mar 16, 2018 1:38 am
Operating System: Windows 7

Re: Please help with de-sser.

Post by Felipe Zanabria » Mon Mar 26, 2018 3:46 pm

I do not understand much the snd-avg function but this plug-in sounds very good. The only strange behavior occurs when you select to listen to the residue, where it clicks, as if it were dc-ofset.
The attenuation of frequencies is much more defined as well.
Another problem, if the selection of the center frequency is low, a lot of audio is taken out of the sivilancias.
Below I leave an mp3 without applying the effect and after applying.
It is a radio ad that communicates the sale of a car.
It is normal that they do not understand what I say because I speak Spanish from Argentina. :)
Test.mp3
(480.04 KiB) Downloaded 22 times

Trebor
Posts: 4505
Joined: Sat Dec 27, 2008 5:22 pm
Operating System: Windows Vista

Re: Please help with de-sser.

Post by Trebor » Mon Mar 26, 2018 5:01 pm

steve wrote: de-esser.ny (2.87 KiB)
By-George I think you've got it ...
settings used.png
settings used.png (11.33 KiB) Viewed 403 times

Nit picking here ...
the attack and release should be different : ~10ms for attack ~100ms for release.

Felipe Zanabria
Posts: 14
Joined: Fri Mar 16, 2018 1:38 am
Operating System: Windows 7

Re: Please help with de-sser.

Post by Felipe Zanabria » Mon Mar 26, 2018 6:08 pm

Your recording sounds very good.
I also think the same of attack and liberation.
With my voice I achieved a good result by setting the cutoff frequency at 4000 Hz, the bandwidth at 1,100, the attenuation at -10 dB and the attack and release time at 35 ms (0.035 seconds).

steve
Site Admin
Posts: 47271
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu
Contact:

Re: Please help with de-sser.

Post by steve » Mon Mar 26, 2018 6:11 pm

Felipe Zanabria wrote:The only strange behavior occurs when you select to listen to the residue, where it clicks, as if it were dc-ofset
That is likely to happen if the selection begins above the threshold. Generally you should try to start and end effects in a silent, or near silent part of the audio. If I do that, I don't notice a click.

SND-AVG is described here: http://www.audacity-forum.de/download/e ... l#index494
Trebor wrote:Nit picking here ...
the attack and release should be different : ~10ms for attack ~100ms for release.
That could be done, but it adds another layer of complication to the effect - in particular, it makes synchronising the envelope with transients in the audio even trickier.
The way you would do it is to use a shorter step size for snd-avg, so that there is a faster moving envelope, then chase the envelope with a "follower" such as SND-FOLLOW. Where attack/release times are quite short, this additional complication rarely gives much in the way of perceptual improvement, but it is definitely the way to go where slow attack/release times are required (such as "transparent" compression for classical music).
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Post Reply