Noise Reduction unavailable?

From this page https://manual.audacityteam.org/man/scripting_reference.html

I read:-
Untitled.png
Please and thank you: Is this because the online manual has not yet been updated?
I have read quite a few topic threads where the subject line includes both “noise” and “reduction”, and everyone seems to be using it quite happily.
(I am working my way through the ~=360 commands on the page referenced).
Thanks
Chris

I’m going to guess it’s because the 1st step, “Get Noise Profile”, can’t be scripted in a practical way.

Noise Reduction IS available (despite what the manual says), but as DVDdoug wrote, it is not well suited to macros due to its peculiar way of working.

There are some tips on the forum for using Noise Reduction. Basically, the first time it is run in a session it will grab the noise sample. On subsequent runs it will apply Noise Reduction, but the Noise Reduction settings are not available to macros, so it just uses the last used settings.

Thank you DVDdoug and Steve.
I was giving this some thought this morning in another area, and will post a new Topic on “Cover Functions
Cheers, Chris

Hi Doug; I am still gnawing away at the forum posts.


I suspect that you were referring to the suggestion (=https://forum.audacityteam.org/t/noise-reduction-automation-suggestions/58276/1 09, 2020, “Noise Reduction Automation Suggestions” ) that the current “profile” command with its Inirtialization part and its process part could be split into two commands.

Other threads had me wondering where Audacity stored the sample “noise”. (More about that later; perhaps it doesn’t need to store the audio, just the Fourier brealdown of the noise).
In the CFG file I find

[Effects/NoiseReduction]
Sensitivity=6
Gain=12
AttackTime=0.02
ReleaseTime=0.1
FreqSmoothing=3
OldSensitivity=0
ReductionChoice=0
WindowTypes=2
WindowSize=8
StepsPerWindow=1
Method=1

Is this in effect ( :smiley: )Audacity’s instructions to itself about how to remove noise? If so then I have misunderstood an earlier post that said (I think) that the noise profile is lost when Audacity is shut down.

I am in the process of trying to document a simple description of “Noise Reduction”, with examples. An introduction to what can be achieved with varying levels of effort.

Thanks, Chris

It’s stored in RAM. Only the Noise Reduction effect can access it (for applying Noise Reduction).

With respect:-

Sensitivity=6
Gain=12
FreqSmoothing=3

These CFG settings seem to be related to the Noise Reduction command.
Is this a potential avenue to obviating the two-phase aspect of the Noise removal command?

I am thinking along the lines of INI files; an application that writes INI has no reason to do so unless it has the ability to read INI (otherwise, why write INI?).

I am keeping in mind that “every track is different”, and that the unwanted sound on my recorded tracks will be different from the unrecorded sound on your tracks.

That said, if Audacity could retrieve stored settings from CFG, that would provide a means for a user to fine-tune removal of unwanted sounds. The fine-tuning of settings would still need to be done, but it would take place in the context of “Last Known Good Settings”

Thanks Doug; I still want to learn something every day. :smiley:
Chris

Yes they are. That data should really be in pluginsettings.cfg, but the Noise Reduction effect is archaic and still uses audacity.cfg instead.

The full list of settings for Noise Reduction:

Sensitivity=6
Gain=12
AttackTime=0.02
ReleaseTime=0.1
FreqSmoothing=3
OldSensitivity=0
ReductionChoice=0
WindowTypes=2
WindowSize=8
StepsPerWindow=1
Method=1

Note that the noise profile (an array of complex numbers) is not written to audacity.cfg (or anywhere else).

Thank you, Steve.
The “array of complex numbers” is, I suppose, in a multi-dimensional array (of 32-but floating-point values, not that it matters in this topic) which could be written to disk, and read back from disk?

In that sense the CFG parameters are there to help deliver the transient array of values that represent the profile?

I still accept that every track is different, but in some situations (I live alone, record in a quiet room, on a quiet street, with the same hardware setup every time) if I wanted to work on Noise Reduction on 270 audio files recorded in those conditions over a period of 17 days,
it could be done.
In theory.
With debatable results.
Is that correct?

I am not proposing that this be done, but do rather want to get as full an understanding of the non-stored “profile” business as I can. I hear so many conflicting views elsewhere.

Thank you for indulging me
Chris

I am going to ™ the phrase “Can Of Worms”.

Still mulling over the ideas presented throughout this forum, it seems to me that besides the parameters available in Step2 of the Noise Reduction pane, the length of the selection for Step1 might have some bearing on the effect/quality of Step2.

As a boundary condition I selected the entire track for Step1 before running Step2, and to my great surprise, the results sounded OK.


Above is one of my benchmark test files: Me reading the menu items from the Audacity application (File, Edit, Select, View and so on).
I was thinking of starting with a 1/2 second, then 1-second, 2-second, 4-second chunk from the leading, or the trailing, five-second silence left vacant on the track as a noise-level benchmark for this recording, and expected that selecting the entire track as a noise profile would empty the track. I had a vague idea that there might be, for an individual track, a sweet spot for length-of-selection; too little and the sample is too small, too big and the sample can never locate noise.

I am not at all sure that I want to know how this all works, now :smiley:

Why benchmark tracks, since “Noise” is in the beholder’s ears? Because some sort of randomized blind test ought to be made available for anyone who decides that “your macro doesn’t work”, which statement impugns the character of Audacity, IMHO.
Cheers
Chris

Chris,

Couldn’t you just generate a “Noise Track” for this situation and load it as the first track of each project. Then the first thing you do when you open a project is get the noise profile from that track? And then maybe delete it if it ends up being in the way?

Mike

Hi Mike.
If you go back and look at the image in the post you will see what looks like such a 5-second noise profile before and after recitation. Of course, the image doesn’t show that there is a noise profile, but I will take this opportunity to assure you that it is. Creating the noise profiles, per project, per track, or per clip is not a problem.
It is even less of a problem when the client explicitly tells its staff “No more than 0.5 to 1 second of silence at the beginning of the recording! Make sure you add this to the beginning of your recording:” and “There should be 5 seconds silence at the end of the recording.”

There is, of course, a difference between “silence” and “letting the recording run on for five seconds when I have reached the end of the text”, but having proof-listened sixteen of the current tracks and read eight project threads in detail, I am of the opinion that most recorders take the easy route of starting recording and wait before and after their spoken part. Readers it seems generate their own “noise profile” for each recording. It gets better: they create TWO noise profiles for each recording, and could (by virtue of differently-named macros) experiment with either noise profile until their ears were happy.

The questions, sadly, not bolded by me in my post, are these :-
the length of the selection for Step1 might have some bearing on the effect/quality of Step2.”
and
" there might be, for an individual track, a sweet spot for length-of-selection; too little and the sample is too small, too big and the sample can never locate noise."
And yes, I did not pose them es explicit questions; you are quite right.

Two more questions for you: When you write “Couldn’t you just generate a “Noise Track””, what length would YOU make the noise track to make the command Noise Reduction as effective as possible? And “Why that length?”

Cheers
Chris

I think that it follows from this thought that Noise reduction(Step1) doesn’t care at all about the source of the profile.

One could have a stable of macros, each of which loaded a specific track to use as a noise-profile “StudioMorning”, for example.
As far as I can see, the NoiseProfileStep1 can be “fooled” into using any selected portion for Step1.
Indeed, the macro “StudioMorning” could effect NoiseProfile(Step1) by loading the clip, creating the in-memory profile, then closing the clip gracefully, as in “For the next few minutes I will deal room noise typical for the morning”.
I am using StudioMorning as an example only, since it probably makes a difference as to whether I recorded a track in the morning, the noontime, or the afternoon.

The noise profile might be related to “time of day” when I record or “name of person using the studio”.
Cheers
Chris