Getting a Macro to deploy noise reduction with a different set of parameters (Decibels, sensitivity and frequency smoothing) than the program's values for the same parameters

Okay, so I hope that explains it. I stick to 10db of Noise reduction, sensitivity at 6 and frequency bands at 6. I’m trying to create a macro that deploys noise reduction with 8,4 and 6. I specified these values to the macro, but noticed these values are global - they change the program’s parameters, and changing the program parameters back to 10,6,6 changes the macro’s parameters to the same value.

Is there a way to keep these separate?

Running the latest version i think.

It’s good to know that before you post. Our comments may change with the version.

Traditionally, Noise Reduction has resisted automation or Macros. Noise Reduction is best applied in two steps: Select a good noise sample and make a Profile, then select the whole work and apply the desired correction. Last I checked, you can’t do that in a Macro.

A work-around was designed which didn’t need the Profile step, but it was a compromise in the quality of reduction. I still don’t know a good way to apply it in a Macro.

Also, last I checked, the Profile was “sticky” and would hang around as long as you didn’t close Audacity. So in that case, you only had to Profile once, and then apply, apply, apply. Also, it’s a given that you were in segments of the same show.

You may be running into the compromise process for the non-Profile Noise Reduction.



I think it may be a bug that the settings in your Macro get changed when you later used the Noise Reduction directly and change the parameters there. I will need to do some further testing with other effects before I write this up as an issue.

I don’t think its’ a bug that if you run a Macro with Noise Reduction with your parameters that those are then the parameters next-used when you run the effect directly - but once again I need to check the behavior with other effects.

I’m fairly busy today but I may get some time to work on this in the next couple of days.


Here’s a reading from the manual.
I think I’m going to post for a little more theory of operation. This seems to be counter-productive to me on first pass.


When using Noise Reduction in Macros the Noise Profile is captured as below.

  • If a Noise Profile exists, that Noise Profile will be used. It is often best to capture a suitable Noise Profile before running a Macro.
  • If a Noise Profile does not exist:
    • If the Macro is applied to the current project, the current selection is used to create the Noise Profile. Therefore, other effect commands in the Macro will also only apply to that selection. If an export command is added, the entire file will be exported.
    • If the Macro is applied to files, the first file (all of it) is used to create the Noise Profile. It may be useful to prepare a file containing a suitable Noise Profile and name it so that it is alphabetically the first file of those to be run in the Macro.

Here’s my companion post.



well now I’ve done some testing it looks like both parts of what you report are indeed a bug.

From testing about half the other effects it looks like two things are supposed to happen:

  1. An effect in a Macro should NOT have its parameters changed by the next direct use of the same effect with different parameters. What is set in the Macro should stay in the Macro.
    This is kind of important as one of the uses that the Manual recommends for a Macro is to set a particular effect with your favorite parameters - and possible set a shortcut to that macro.

  2. An effects settings when used in a Macro shot NOT propagate to the next direct uses of that effect (it should last-used from the last time it was used directly)

Noise Reduction, as you pointed out fails on both counts - so I will be logging an issue on GitHub for that. Many thanks for the report, very much appreciated BMsH :sunglasses:

As I said earlier I have only worked through about half of the other shipped effects so far but I have found a couple that are OK with point 1) but fail on point 2) - these are Bass and Treble and Wahwah

I will be logging those separately later, once I’ve managed to test the rest of the effects


Logged as: Noise Reductions parameters set in a Macro are corrupted by its direct use and corrupt parameters for next direct use · Issue #5181 · audacity/audacity · GitHub
Noise Reductions parameters set in a Macro are corrupted by its direct use and corrupt parameters for next direct use #5181


Thank you. I’m not a coder, and new here. I guess you’re a Dev? Thanks for reporting it :slight_smile:

Thanks. I’m running 3.3.3.

For now, for noise reduction, I’ve told the macro to 1) select the first 5 seconds of my track which i deliberately leave silent, and 2) make a noise profile from it. (Are you saying this isn’t possible?

For step 2), i just choose noise reduction, then click “edit” and press get noise profile.

After that I ask it to 3) Move focus to the first track
4) Select track from start to finish
5)Apply noise reduction.

But this would work only if step 2) works.

Actually no, I’m an ex-member of the Audacity Team who did QA, user support and documentation.

I still volunteer to help out.


1 Like


See also this other related issue I logged:

Some effects when used in Macros propagate their last-used settings to the next direct use of the effect #5183