Page 2 of 3

Re: one-click noise removal

Posted: Wed Dec 19, 2012 10:06 am
by Gale Andrews
waxcylinder wrote:
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) :)
Have you forgotten why that setting is default? The users every day who said "The effects are all greyed out" because they did not select any audio. We get enough of those now, just from those who don't press the Stop button before trying to use effects.

The implementation of "Select All on none" is too coarse though. See http://wiki.audacityteam.org/wiki/Relea ... o.22_items (just after "Preferences") for what it might do instead.


Gale

Re: one-click noise removal

Posted: Wed Dec 19, 2012 10:11 am
by Gale Andrews
Edgar wrote: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).
I don't think we should necessarily throw the idea of one-click noise removal out, but perhaps it should be recast in terms of "keeping Noise Removal open and modeless after grabbing the profile, while you select the audio from which to remove noise"?


Gale

Re: one-click noise removal

Posted: Wed Dec 19, 2012 4:01 pm
by steve
Gale Andrews wrote:keeping Noise Removal open and modeless after grabbing the profile, while you select the audio from which to remove noise"?
I think that would be a very good idea.

There was also someone at one time. working on a "Noise Coring" plug-in that had the potential of working as a one click, one pass effect for removing hiss.

Re: one-click noise removal

Posted: Wed Dec 19, 2012 5:16 pm
by Robert J. H.
How should a noise removal work, that stays open?
It may be a fine idea as such but how should I modify the selection without a mouse?
Another idea would be to include the underlying noise profile in the selection and add a point in the mode menu:
  • "Automatic profile from Boundaries"
It needs at least 300 ms for a noise profile. I assume that the profile is almost always either taken from the start or end of a track.
If this mode is selected, , the program will search for about 1 sec at the start that is relatively quiet. Should this fail, the end will be examined and in the worst case a warning given out, that the profile must be selected manually.

Besides, did anyone check out my plug-in from above?

Re: one-click noise removal

Posted: Wed Dec 19, 2012 7:21 pm
by Edgar
Gale Andrews wrote: perhaps it should be recast in terms of "keeping Noise Removal open and modeless after grabbing the profile
+.75
Keep it modal; add 2 buttons: "Apply to all" & "Apply to all and clear profile" and logic/code such that when the dialog is opened:

Code: Select all

check if there is an existing Noise Profile
     if so: check if there is some audio selected
          if so: 
               on OK: remove profile from selection; exit dialog
                     [note – this relies on the user's control settings either being 
                     saved with the Noise Profile (my choice) or the current behavior of
                     using the last settings which were in effect when the dialogue was closed]
               on "apply to all": select all audio in all tracks; remove profile from selection; exit dialog
                    (retain Noise Profile) <see note above>
              on "Apply to all and clear profile": select all audio in all tracks; remove profile from selection; exit dialog
                    (delete Noise Profile) <see note above>
          if not: exit dialog; but also bring up a warning message:
               "you must select some audio from which to remove your Noise Profile"
    if not:check if there is some audio selected (make a noise profile)
          if so: validate the selection as "noise"--length?, volume?
               if valid: make the selection a Noise Profile; exit dialogue; [optional info message:]
                    "you must now select some audio then re-execute the effect to remove your chosen Noise Profile"
                if not valid: exit dialogue; but also bring up a warning message:
                     "the selection is not a valid Noise profile… Yada yada yada"
          if not: [should not get here– the menu item should be ghosted]

Re: one-click noise removal

Posted: Wed Dec 19, 2012 7:22 pm
by steve
Robert J. H. wrote:It may be a fine idea as such but how should I modify the selection without a mouse?
Assuming that you are able to switch back to the main Audacity window (I don't know how you do that on Windows but I guess it would be the same as switching between "Plot Spectrum" and the main window), then shift+J and shift+k to select the entire track.
Robert J. H. wrote:I assume that the profile is almost always either taken from the start or end of a track.
Usually not the very start or the very end as there are frequently additional clicks and bumps there which you don't want as part of the profile.
Robert J. H. wrote:Besides, did anyone check out my plug-in from above?
Yes. It's an interesting idea, though as you say the noise removal algorithm would need a lot more development to become practical (and that's not easy in Nyquist).
I realise that it's only a demo. but it does some unpleasant things if absolute silence is encountered (infinite and "NAN" value samples may be produced).

Re: one-click noise removal

Posted: Wed Dec 19, 2012 8:39 pm
by Robert J. H.
I can't switch from a dialog (e.g. plot spectrum) to the main window (at least not in a convenient way).
That's no solution if you want to keep it accessible.
----
The analysis of the start and end of the sound would of course exclude clicks and bumps. Since it works with a (gradually increasing) threshold, it will aim for a sound that is:
  • Within the first (last) seconds of the track and not digital/dithered silence.
  • above a certain threshold.
  • not periodic i.e. some kind of noise.
  • about 1 s long
The saved RMS values should be an additional indicater, where quiet passages are supposed to be found.
Before displaying the GUI, the program could play the new found noise region and thus give the user the opportunity to decide if this passage should be used as a profile.

Re: one-click noise removal

Posted: Thu Dec 20, 2012 4:19 am
by Edgar
Robert J. H. wrote: Before displaying the GUI, the program could play the new found noise region and thus give the user the opportunity to decide if this passage should be used as a profile.
My personal custom version amplifies the selection to 1.0 before playing it then undos the amplification.

Re: one-click noise removal

Posted: Thu Dec 20, 2012 6:21 am
by Robert J. H.
Exactly, this behaviour is also implemented in some dithering/resampling tools.
Maybe 1.0 is a little much (since noise can really be ugly and it is sometimes embarrassing to listen to neighbours "Bettgeflüster", caught by your hyper sensitive microphone... :D).

Re: one-click noise removal

Posted: Thu Dec 20, 2012 8:27 am
by Gale Andrews
Robert J. H. wrote:I can't switch from a dialog (e.g. plot spectrum) to the main window (at least not in a convenient way).That's no solution if you want to keep it accessible.
The Windows shortcut to do that should be ALT + F6 and that used to work for me on Windows XP to switch between Plot Spectrum and the main Audacity window. For some reason it doesn't currently work for me on Windows 7 except in Microsoft programs.

But a modeless Noise Removal window could also work something like the modeless Analyze > Contrast which has TimeText controls. Unfortunately this is no longer as accessible as it used to be when it was modal. Before it became modeless you could choose buttons to use the values chosen in the TimeText controls, or to measure the selection in the waveform. In current form, the TimeText controls have no meaning in terms of inputting values, but just display the waveform selection length when you press "Measure selection". If the TimeText controls acted on and responded to the waveform selection as happens in Selection Toolbar, it would be much more useful.


Gale