Export Multiple – normalize each track on export

This read-only archive contains discussions from the Adding Feature forum.
New feature request may be posted to the Adding Feature forum.
Technical support is available via the Help forum.
Locked
Edgar
Forum Crew
Posts: 2043
Joined: Thu Sep 03, 2009 9:13 pm
Operating System: Windows 10 / 11

Export Multiple – normalize each track on export

Post by Edgar » Fri Jan 11, 2013 8:12 am

Since Normalize is a C++ effect it can be told to function without its GUI dialog; it stores its settings in the CFG file:

Code: Select all

[Effects/Normalize]
RemoveDcOffset=1
Normalize=1
Level=-2
StereoIndependent=0
and uses these settings if the dialog is not presented.
em.png
em.png (45.95 KiB) Viewed 5393 times
I photoshopped this but the code is not hard; if I have some spare time this weekend I will knock it out.

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10 / 11

Re: Export Multiple – normalize each track on export

Post by Gale Andrews » Fri Jan 11, 2013 12:47 pm

I see it that we need to attach Export Multiple commands to a Chain, or Chains to Export Multiple. I am not sure which way round it should be.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

steve
Site Admin
Posts: 85703
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Export Multiple – normalize each track on export

Post by steve » Fri Jan 11, 2013 1:55 pm

Gale Andrews wrote:I see it that we need to attach Export Multiple commands to a Chain
Do you mean, so that the user can create a Chain (sequence) of commands such as :
High-pass filter -> Normalize -> Export Multiple

That has a conceptual problem in that Chains can be applied to either the current project (which would work) or to audio files (which would not work).
There is currently no (official) way to add labels in a Chain, and applying a Chain to files can only act on one file at a time, thus making Export Multiple impossible for batch processing (applying to files).

I don't think that we should be inviting users to do things that can't work, so the only way that I can see this working is if "Chains" functionality is split as separate "batch processing" and "Effect Macro" functions. "Batch Processing" taking over from "apply chain to files" and "Effect Macro" taking over from "apply chain to current project. "Most" Chains could then be available to both "batch" and to "macro", but some commands (such as Export Multiple) would be available only to "macro" and not "batch".
Edgar wrote:Export Multiple – normalize each track on export
Why only for Export Multiple? Why not build it into all Export commands?
It is a very common to want to normalize as a last step before exporting.
When Exporting a project that has multiple tracks as one file, it would be useful for Normalize to be applied after the tracks are mixed.
Learn more about Nyquist programming at audionyq.com

Edgar
Forum Crew
Posts: 2043
Joined: Thu Sep 03, 2009 9:13 pm
Operating System: Windows 10 / 11

Re: Export Multiple – normalize each track on export

Post by Edgar » Fri Jan 11, 2013 5:24 pm

steve wrote: Why only for Export Multiple? Why not build it into all Export commands?
It is a very common to want to normalize as a last step before exporting.
When Exporting a project that has multiple tracks as one file, it would be useful for Normalize to be applied after the tracks are mixed.
It is very easy for the user to normalize everything with a keystroke or two just before exporting it but if one has 15 or 30 minutes of LP recorded then broken into 10 or 15 label-separated tracks it is very tedious to select each labeled section individually and normalize them one at a time.

I had also not given any thought as to where in the GUI one would put a checkbox for "normalize on export" except in the case of the Export Multiple dialog. I got quite a ways on the code and currently status of the checkbox (Export Multiple only) is sticky which, given my usage is perfect. Since I do not do much recording with Audacity, and I have "Normalize on import" set to ON, I almost never need to re-normalize when exporting and import.

steve
Site Admin
Posts: 85703
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Export Multiple – normalize each track on export

Post by steve » Fri Jan 11, 2013 5:38 pm

Edgar wrote: but if one has 15 or 30 minutes of LP recorded then broken into 10 or 15 label-separated tracks it is very tedious to select each labeled section individually and normalize them one at a time.
Personally, I am unlikely to want to do that. If it is a well produced album, the relative loudness of each track will have been carefully balanced and I'd not want to mess with that - why would I want a purposefully "quiet" track to come out loud?
Edgar wrote:It is very easy for the user to normalize everything with a keystroke or two just before exporting it
but it is a common failure for people working with multi-track projects for the first time to create a mix that is badly distorted because the "mix" is much higher level than the original track.

The "correct" procedure is to mix and render to a single track, then normalize, then export, and if the original multi-track project is to be saved, Undo the mix and render before saving. It would be much quicker and easier to just select "Normalize to ...." in the export dialogue.
Learn more about Nyquist programming at audionyq.com

Edgar
Forum Crew
Posts: 2043
Joined: Thu Sep 03, 2009 9:13 pm
Operating System: Windows 10 / 11

Re: Export Multiple – normalize each track on export

Post by Edgar » Fri Jan 11, 2013 6:40 pm

steve wrote:
Edgar wrote:it is very tedious to select each labeled section individually and normalize them one at a time.
Personally, I am unlikely to want to do that.
Edgar wrote:It is very easy for the user to normalize everything with a keystroke or two just before exporting it
but it is a common failure …
The "correct" procedure …
It would be much quicker and easier to just select "Normalize to ...." in the export dialogue.
Given that it is not easy to change the Export dialog by adding this checkbox I'm going to stay away from that.

Ah, now I see. I keep forgetting that everyone else doesn't use Audacity exactly the same way I do <grin>! When I do a live (or studio) recording, and the Export Multiple is ultimately going to become a CD, that I definitely would not want to normalize individually on export. When I have a piece of vinyl that is 50 years old and I want to put all the tracks on my iPod and listen to them while mowing the lawn or driving the car I do want to make each track loud enough so that I can hear them – for that I want to normalize individually on export.

As it turns out adding this ability to Export Multiple was trivial. Add one variable to the header file, add one line of ShuttleGUI code to the GUI then add four lines of code to ExportMultiple::DoExport():
ExportMultiple.h, a new private variable

Code: Select all

 wxCheckBox    *mNormalize;
ExportMultiple.cpp, ShuttleGUI code in ExportMultiple::PopulateOrExchange()

Code: Select all

 mNormalize = S.Id(NormalizeID).AddCheckBox(_("Normalize each track before exporting"), wxT("true"));
ExportMultiple.cpp, the code that does the work in ExportMultiple::DoExport()

Code: Select all

if (mNormalize->GetValue()) {
      mProject->mViewInfo.sel0 = t0;
      mProject->mViewInfo.sel1 = t1;
      mProject->OnEffect(ALL_EFFECTS | CONFIGURED_EFFECT, EffectManager::Get().GetEffectByIdentifier(wxT("Normalize")));
   }
Note that this version does not use a TieCheckBox and always defaults to "checked"/ON; storing the user's last choice is also doable.

steve
Site Admin
Posts: 85703
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Export Multiple – normalize each track on export

Post by steve » Fri Jan 11, 2013 10:36 pm

I'm guessing that it is hard to add a checkbox to the "Export" dialogue. Is that right?
Learn more about Nyquist programming at audionyq.com

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10 / 11

Re: Export Multiple – normalize each track on export

Post by Gale Andrews » Sat Jan 12, 2013 5:04 pm

steve wrote:
Gale Andrews wrote:I see it that we need to attach Export Multiple commands to a Chain
Do you mean, so that the user can create a Chain (sequence) of commands such as :
High-pass filter -> Normalize -> Export Multiple
Yes, and of course this is for applying a chain to a project (not to files) until there is some way to run a chain on files with a label track (or some control track) present, or indeed unless the Export Multiple commands available for adding to a Chain let you do things like set labels at percentage points (or seconds) relative to the start and end of the track.
steve wrote:Export Multiple impossible for batch processing (applying to files).
I don't think so at all, it's just not possible now.

But there would be a question whether for applying to projects, it may be more useful to select a Chain to be applied to each exported file from within the Export Multiple dialogue. I would see more conceptual problems with that than applying Export Multiple as a command in a chain.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10 / 11

Re: Export Multiple – normalize each track on export

Post by Gale Andrews » Tue Feb 19, 2013 5:18 am

Gale Andrews wrote:
waxcylinder wrote:Does this need transferring to Wiki>PFR - or is someone going to write a proposal - or is it dead?
I am the only one in this topic interested in Export Multiple in Chains, so forget that.

Transfer the normalize on export multiple to PFR.

But my vote is to have an export preference for normalize, comparable to "When importing... Normalize all tracks", so it works on all exports (or it doesn't). There are potentially much more important features that could go into the Export Multiple dialogue, I think.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

Locked