[bug] Noise reduction effect - cannot create macro

In Audacity, the new macros are pretty handy.
However I cannot change the settings for the noise reduction effect, or specify a path to a file for the noise profile.
It would be handy to be able to change the settings for this effect.

The Noise Reduction effect is the last of the “old style” effects, and also it is a “two pass” effect. Neither of these characteristics are good for Macros.

Are you wanting the Macro for processing a batch of files? If so, then another problem you will have is that you will be stuck with one noise profile for the entire batch.

Noise Reduction can be used in a Macro, but it has limitations. See this page (second example) for more information: https://alphamanual.audacityteam.org/man/Macros_Examples

Reviving this, as I would really appreciate a fix!

Basically I want to be able to get a noise profile from within a macro, then also change the settings and apply. This is fine in 2 passes.
However the effect settings cannot be changed, neither can a noise profile be generated currently…

For batch processing, or as part of a sequence of commands for the current project?

Id like to be able to use it from a macro. For example:
I have a macro that will select a track, then pass 1 would get the noise profile from the selected segment of track.
Then the next track is selected, and pass 2 would apply set the noise reduction effect settings and apply.

So I imagine this should be a case of exposing the plugin settings to the macro editor.
I would look into it myself if I knew my way around the source.

The design of the Noise Reduction effect is not well suited for using in a Macro. The main problem is that there’s no separate (code) control for getting the noise profile.

If the effect has not been run in the current Audacity session, then it won’t have a noise profile, so running the effect from a macro command will capture the profile.

Once the Noise Reduction effect has a noise profile, there is no way from scripting commands to create a new noise profile. Running the effect will “apply” the effect. The only way to get a new profile, is to either do that manually, or restart Audacity.

Okay, that clears up the problem!
Do you happen to know if there are any plans to change the way this works at all?
Either splitting the noise profile and noise filter to separate plugins. Or allowing the macro to pick if its getting the noise profile, or applying the filter.


There are two cousin problems. Audacity Macros can’t make decisions (that I know of). There is no “IF you have a Profile THEN do this, IF NOT, do that.” There is no branching. Everything is straight beginning to end.

But there is a real world problem and the reason Noise Reduction works like it does. What’s noise? It’s not “Everything I Don’t Want.” There’s no way for simple software to know that. There are ways to guess at it. That’s how cellphones do it. Any constant tones are probably noise and get rid of them.

Do you want your show to sound like a cellphone? That’s the downside.

Automatic Noise Reduction also tends to kill music. Any musical note presenting for more than a fraction of a second gets sucked out of the show.


This effect is overdue for an overhaul, but there are no current plans to do so as there are many other priorities, and not enough developers (volunteers welcome).