Page 1 of 3

one-click noise removal

Posted: Sat Dec 15, 2012 7:42 am
by Edgar
Something I have found incredibly timesaving in my personal workflow of cleaning up noisy recordings is a one click Noise Removal solution. It works by taking the current selection as the noise sample, selecting all the video then applying Noise Removal.

Re: one-click noise removal

Posted: Sat Dec 15, 2012 9:10 am
by Gale Andrews
I don't understand what you mean, Ed. Are you proposing some code you've written? Or requesting such a thing, if so with what parameters would it work?


Gale

Re: one-click noise removal

Posted: Sat Dec 15, 2012 4:49 pm
by Edgar
Gale Andrews wrote:I don't understand what you mean, Ed. Are you proposing some code you've written? Or requesting such a thing, if so with what parameters would it work?
I am not offering any code. My proposal is adding another button to the current dialog; when the user clicks the "One-click" button the behind-the-scenes result is as if the user had set the variables in the effect as desired (or was willing to accept the defaults), clicked the "Get Noise Profile" button, selected all the audio, started the Noise removal" effect again and clicked the "OK" button.
nr.png
nr.png (42.51 KiB) Viewed 4135 times
I am not suggesting that "One-click" is necessarily the right wording for the button; in production code I would also try to center the two buttons but I am not a ShuttleGUI expert!

Re: one-click noise removal

Posted: Sun Dec 16, 2012 4:24 am
by steve
Edgar wrote:My proposal is adding another button to the current dialog; when the user clicks the "One-click" button the behind-the-scenes result is as if the user had set the variables in the effect as desired (or was willing to accept the defaults), clicked the "Get Noise Profile" button, selected all the audio, started the Noise removal" effect again and clicked the "OK" button.
Where would the noise profile come from? Are you thinking of a generic noise profile, or are you thinking that the user selects the noise and activating the "one click" effect uses the selection for the noise profile, then automatically extends the selection to the entire track (or audio clip?) and applies "remove noise"?

Re: one-click noise removal

Posted: Sun Dec 16, 2012 7:31 am
by Edgar
steve wrote: Where would the noise profile come from? Are you thinking of a generic noise profile, or are you thinking that the user selects the noise and activating the "one click" effect uses the selection for the noise profile, then automatically extends the selection to the entire track (or audio clip?) and applies "remove noise"?
"are you thinking that the user selects the noise and activating the "one click" effect"...
Exactly; it really works slickly – select a bit of noise, use a keyboard shortcut to fire off Noise Removal, click "one click" and Bob's your uncle. The "one click" first gets the noise profile from the selected audio then, off-screen, selects all the audio and runs the actual code which processes out the noise.

Re: one-click noise removal

Posted: Sun Dec 16, 2012 2:06 pm
by steve
Edgar wrote:The "one click" first gets the noise profile from the selected audio then, off-screen, selects all the audio and runs the actual code which processes out the noise.
I can see a clear benefit when working with a project that has only one audio clip in one track, but without further explanation it is ambiguous what will happen if there is more than one track or more than one audio clip in the track .

Would it work like the "select all when not selected" Preference? That is; the entire project would be selected for noise removal.
Would it operate only on the current track?
Would it operate only on the current audio clip?

Re: one-click noise removal

Posted: Sun Dec 16, 2012 6:37 pm
by waxcylinder
Edgar wrote:"are you thinking that the user selects the noise and activating the "one click" effect"...
Exactly; it really works slickly – select a bit of noise, use a keyboard shortcut to fire off Noise Removal, click "one click" and Bob's your uncle. The "one click" first gets the noise profile from the selected audio then, off-screen, selects all the audio and runs the actual code which processes out the noise.
It's somewhat counter-intuitive cf all the other effects where the effect always works on the selection only.

Peter.

Re: one-click noise removal

Posted: Mon Dec 17, 2012 2:56 am
by Edgar
waxcylinder wrote: It's somewhat counter-intuitive cf all the other effects where the effect always works on the selection only
"where the effect always works on the selection only" -- That is controlled by a (somewhat ambiguous IMHO) setting in Prefs--Tracks > (Behaviors) > [ ] Select all audio in project, if none selected.

I now see where everyone is coming from with the multi-track arguments though--I never use Audacity to edit multi-track projects; I only saw the benefit not the confusion. I withdraw the suggestion as too limited for general use (but will keep it in my personal version as it really is quite useful if one is doing bulk LP conversion or the like).

Re: one-click noise removal

Posted: Mon Dec 17, 2012 10:58 am
by waxcylinder
Edgar wrote:
waxcylinder wrote: It's somewhat counter-intuitive cf all the other effects where the effect always works on the selection only
"where the effect always works on the selection only" -- That is controlled by a (somewhat ambiguous IMHO) setting in Prefs--Tracks > (Behaviors) > [ ] Select all audio in project, if none selected.
The worst thing about this is that that is the default Audacity behaviour - a really dumb default setting imho as it causes users (me included) to do stuff to the whole audio inadvertently (like deleting it accidentally - thank heavens for Undo) :)

Peter.

Re: one-click noise removal

Posted: Mon Dec 17, 2012 1:34 pm
by Robert J. H.
I've tried to write a "true" one-click Nyquist plug-in, inspired by this proposal.
http://forum.audacityteam.org/viewtopic ... 34#p200647
It has the advantage that it requires no user input and works just on the selection.
It is not meant very seriously, it's just a concept.
A proper solution needs to be implemented in C++, based on a state-of-the-art algorithm. Maybe one day we will come across a common licensed code snippet.
Perhaps such an effect will only cover a certain field, such as the improvement of speech for transcription. It's in any case not an idea that should be dropped into the trash bin.