Automatic removal of mouth smacks

Using Nyquist scripts in Audacity.
Post and download new plug-ins.
Forum rules
If you require help using Audacity, please post on the forum board relevant to your operating system:
Windows
Mac OS X
GNU/Linux and Unix-like
Paul L
Posts: 1784
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Re: Automatic removal of mouth smacks

Post by Paul L » Fri Oct 25, 2013 7:56 pm

waxcylinder, I made some improvement of progress bar behavior between my first and second versions but I know there is more I could do. If there are few or no clicks to detect at any one of the test frequencies, progress will still look erratic during the first half.

I do not fully understand how the progress bar estimates remaining time and I have opened another conversation about that in the Nyquist board.

Paul L
Posts: 1784
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Re: Automatic removal of mouth smacks

Post by Paul L » Fri Oct 25, 2013 8:56 pm

I have not read the whole thread from years ago about Trevor's idea of slope, clip, then integrate as a procedure for removing spikes.

My first thought is that if the slopes of the two sides of the spike are not equal in absolute value, then a dc offset is introduced, until the next spike where the offset may change. The offsets might vary in a random walk rather than accumulating. Or maybe they will accumulate if clicks tend to have sharper attack than decay, which they might, depending on the physical causes. This effect might be visible in spectrogram log f view -- how does the bottom bar change?

That might explain the "pillow thumping" effect which might be mitigated with some highpass during rests, but maybe the needed cutoff would be high enough to damage low notes.

This is all armchair guessing, not experiment. Enough that I doubt the sucess.

Robert J. H.
Posts: 3633
Joined: Thu May 31, 2012 8:33 am
Operating System: Windows 10

Re: Automatic removal of mouth smacks

Post by Robert J. H. » Fri Oct 25, 2013 9:33 pm

Paul L wrote:I have not read the whole thread from years ago about Trevor's idea of slope, clip, then integrate as a procedure for removing spikes.

My first thought is that if the slopes of the two sides of the spike are not equal in absolute value, then a dc offset is introduced, until the next spike where the offset may change. The offsets might vary in a random walk rather than accumulating. Or maybe they will accumulate if clicks tend to have sharper attack than decay, which they might, depending on the physical causes. This effect might be visible in spectrogram log f view -- how does the bottom bar change?

That might explain the "pillow thumping" effect which might be mitigated with some highpass during rests, but maybe the needed cutoff would be high enough to damage low notes.

This is all armchair guessing, not experiment. Enough that I doubt the sucess.
It's not from years ago but from October, 21st, 2013.
The DC Offset is already mentioned in the thread. There must be a DC-blocker after limiter and integrator.
This is essentially another differentiator followed by a leaky integrator.

Paul L
Posts: 1784
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Re: Automatic removal of mouth smacks

Post by Paul L » Fri Oct 25, 2013 11:19 pm

Sorry, I must have misread member start dates for posting dates.

Paul L
Posts: 1784
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Re: Automatic removal of mouth smacks

Post by Paul L » Sat Oct 26, 2013 12:48 am

Some questions about Steve's suggestions...

Would eq-band be a good choice to implement filtering of selected regions? It has hz, gain, and width parameters which can all be variable. Would it be enough to vary gain only?

In the old deesser code you shared with me elsewhere, you used a combination of high and low pass rather than eq-band. Why?

Your examples above used a raised sinusoid for the frequency envelope but a piecewise linear for crossfading. Is there any special reason one should be smooth and the other not?

Robert J. H.
Posts: 3633
Joined: Thu May 31, 2012 8:33 am
Operating System: Windows 10

Re: Automatic removal of mouth smacks

Post by Robert J. H. » Sat Oct 26, 2013 1:01 am

Eq-band is a nice function, but I remember vaguely that the variable version doesn't produce the same result as the fixed one (with identical constants).
Areson and Reson are also good candidates for that purpose.

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

Re: Automatic removal of mouth smacks

Post by steve » Sat Oct 26, 2013 1:00 pm

Paul L wrote:Would eq-band be a good choice to implement filtering of selected regions?
I have used eq-band for similar effects with good success, but like Robert I vaguely recall there being some unexpected behaviour that make it a bit tricky to use. Sorry I don't remember the details of that - I'll post if it comes back to me ;)
Paul L wrote:Your examples above used a raised sinusoid for the frequency envelope but a piecewise linear for crossfading. Is there any special reason one should be smooth and the other not?
For very short crossfades, linear fades produce the lowest distortion, which is why they are used here.
The raised sine wave is just one option for the frequency envelope. It has the advantage that it minimises the rate of change for a given period. You may find that other methods work better - experiment.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Paul L
Posts: 1784
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Re: Automatic removal of mouth smacks

Post by Paul L » Sat Oct 26, 2013 1:19 pm

I am experimenting with eq-band now.

I am filtering white noise and using spectrum analysis to see what the response is like. I thought it was supposed to have a broad, flat floor in the middle, but instead, with two octave width, I see a broad notchy shape. (More gradual than a "notch filter.")

I can see from (grindef 'eq-band) that the parameters must be all constants or all sounds, and it either calls snd-biquad when they are constants, or another low-level function.

I don't see appreciable differences yet between the results of constant parameters passed as numbers or as sounds.

Robert J. H.
Posts: 3633
Joined: Thu May 31, 2012 8:33 am
Operating System: Windows 10

Re: Automatic removal of mouth smacks

Post by Robert J. H. » Sat Oct 26, 2013 3:23 pm

Paul L wrote:I am experimenting with eq-band now.

I am filtering white noise and using spectrum analysis to see what the response is like. I thought it was supposed to have a broad, flat floor in the middle, but instead, with two octave width, I see a broad notchy shape. (More gradual than a "notch filter.")

I can see from (grindef 'eq-band) that the parameters must be all constants or all sounds, and it either calls snd-biquad when they are constants, or another low-level function.

I don't see appreciable differences yet between the results of constant parameters passed as numbers or as sounds.
How that?
Try it on a chirp (440 to 880 Hz):

Code: Select all

(setf dur (get-duration 1))
(setf sr 8820)
(eq-band s 
   (snd-const 660 0 sr dur) 
   (snd-const -30 0 sr dur)
   (snd-const 0.5 0 sr dur))
;(eq-band s 660 -30 0.5)
Experiment with the sr parameter, You'll get at best a single nasty click at the beginning.

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

Re: Automatic removal of mouth smacks

Post by steve » Sat Oct 26, 2013 4:29 pm

Robert J. H. wrote:Experiment with the sr parameter, You'll get at best a single nasty click at the beginning.
Ah yes, it's coming back to me now. :P
For very short selections (up to about 1000 samples) a sample rate the same as the sound should work without nasty clicks.
For longer selections, *control-srate* should work but with one nasty click at the start if the start is non-zero.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Post Reply