Talk:Proposal Normalize & Amplify Consolidation

Alternative dialog box for Change Volume
The following are alternative suggestions for possible dialog boxes for the combined Amplify/Normalize command proposed by Ed Musgrove.
 * Ed: Since Remove DC Offset has disappeared from the Change Volume dialog, maybe add some referral to the new menu item (wherever it ends up). This could also be removed for 3.0. Far out concept—since Remove DC Offset would be a non-GUI function (no dialog) we could have it both as a separate menu item and a button (disabled if we can tell via software if the audio has no offset) in Change Volume (to keep the Normalize familiarilty). Remember current levels works for both Amplify & Normalize.
 * Bill: Does one normally put a separator between radio buttons in a radio button group?
 * Ed: Not "normally" but one would not "normally" have "stuff" separating the entries. Even though Amplify & Normalize are coded to be mutually exclusive the naïve user might not realize that at first. The "Link" checkbox, because it disables quite obviously and is related to the final radio item is (IMVHO just barely) OK on a separate line but the naïve user might think it applied to both Amplify & Normalize.
 * Bill:I think having Amplify remember current levels is a bad idea. A previous setting could cause clipping with a new selection.
 * Gale: "OK" would be greyed out as now if "allow clipping" was unchecked.
 * Gale: Shouldn't Remove DC offset be a checkbox?  What happens if you don't remember current levels for Normalize? Maybe that checkbox should just be for Amplify?
 * Ed:The "Remove DC Offset" button would (when clicked) perform the task immediately while this dialog was still open then become disabled. It would only be enabled if the selection has offset. Allowing clipping for Normalize might imply "no warning" if value is positive (assuming we allow positive values and assuming we warn of the consequences).
 * Gale: Can Audacity detect offset at present? I thought not.
 * Peter: Just a thought: if Audacity can't detect it how can it correct for it?
 * Ed: +1
 * Gale: If we have "Remember levels" I still think it only makes sense for Amplify.
 * Ed: If only for one it would need to be "Remember Normalize level" or "Remember Amplify Level" (and if only Amp move it up to/under the Amp section); of course the optimal would be two separate checkboxes if any.

Feedback from Bill Wharrie

 * At the moment I do not support merging the effects. I think that is likely to create something that is even less intuitive, or loses functionality. Specifically:
 * "Switchable option to apply the same amplitude adjustment to all selected tracks (current Amplify behavior) or to apply amplitude adjustment to each selected track independently (current Normalize behavior) - thus making the behavior more explicit". To my mind this is less clear than the distinction between the two effects. What "amplitude adjustment" will be applied to "each selected track independently" - an amplification factor, or a target peak amplitude? If an amplification factor (which is what is entered in the text box), then there is no difference. You need an effect that specifically adjusts each track to a new maximum peak amplitude.

Feedback from Ed Musgrove

 * Remember this: after all these years I doubt that Audacity’s user base would appreciate a merger of these two.
 * Peter 12May11: I am inclined to agree; it may look like a regression to many users.

Feedback from Vaughan

 * Summary: I'm opposed to removing the ability to Normalize stereo channels independently.
 * Peter: agreed, but that is not suggested in the proposal


 * Seems to me best solution is to merge Amplify and Normalize, checkbox for stereo channels independent. And probably make Remove DC Offset a separate effect. I don't know, but it may be the case that doing Remove Offset separately from Normalize is a lot more time consuming than doing them in the same process. If nobody's looked at the code, it's easy enough to do some tests.
 * Gale: Yes already tested, there is a large time penalty in doing DC offset on its own.
 * Peter: The key reason for wanting to separate DC Offset removal from Normalize is that DC Offset should be used at a very early stage in the editing process, normally immediately the capture (recording or import) whereas Normalization is normally the last editing step prior to export of the finished audio. Any additional time penalty would be a secondary consideration compared to that.
 * Gale: There is still no guarantee users will find a separate remove DC offset effect unless we do it (or offer to) irrespective of any editing choices the user makes.


 * Crucial to me is to remove all occurrences of -0.0. The minus sign should not be a static text.
 * Gale: Already at bug 402
 * Peter: I agree - but also crucial to me is the checkbox in Normalize to optionally treat stereo channels independently or together as a pair.

Feedback from Steve Daulton
The more I think about it, the more I don't like the idea of combining Amplify and Normalize. I think I can make a strong case for why doing so is a bad idea:


 * Normalize and Amplify are not the same. There are different reasons for using them, and the results can be different. I believe in using the right tool for the job and although a shoe can be used as a hammer it's not the right tool, and a hammer can't be used as a shoe. Bundling the two effects together confuses the issue.


 * "Amplify" is a quick and simple effect. Although not everyone understands about clipping at 0 dB, or that "negative amplification" will make a track quieter, the general principle of "Amplify" is broadly understood and suitable for even the most technophobic novice. It is such a basic and essential effect that everyone will need to use at some point that I think it needs to be kept simple. Bundling it with "Normalize" immediately makes it a lot more complicated, and for many users will be too complicated.


 * Options for "Amplify" and "Normalize" are not common to both. For example:
 * 1) "Link Channels" applies only to "Normalize". For "Amplify" the same amplification is applied to all selected tracks and channels, so "Link Channels" makes no sense for the "Amplify" effect (the term is redundant).
 * 2) "New Peak Amplitude" and "Normalize maximum amplitude to:" mean different things. The former (Amplify effect) refers to the one peak in all tracks, whereas the latter applies to peaks in each/every track. (Try explaining that clearly in the manual).
 * 3) "Remove DC offset" (Normalize effect) currently works independently on each channel of a stereo track. The "Amplify" effect currently works identically on both channels of a stereo track. If "Remove DC offset" is kept in a combined "Amplify/Normalize" effect, then will Amplify apply the same amplification but independent DC offset correction, or will DC offset correction be different depending on whether Amplify or Normalize is selected?
 * 4) It does not really make sense for "Amplify" to remember the target level, as when it is applied to multiple tracks, only the one track with the highest peak level will achieve the target level. It probably does make sense for "Amplify" to have an option for remembering the amplification amount, but it does not make sense for "Normalize" to remember the amplification amount.

Gale: I've never wanted "Amplify" to remember the target level, only the amplification amount. Nor do I like the GUI examples here. My idea is as on the article page:

&bull; Amplify by: [   ] dB to peak of: [  ] dB     [  ] Remember last Amplify value

&bull; Normalize to: [   ] dB     [  ] Normalize stereo channels independently

I'm assuming DC offset won't be included and that ultimately the best plan may be to remove it the first time audio data is written after record or import to hide the time it takes. That's assuming removing it is so important we want to do it anyway.




 * Steve: There is a feature request for adding linear units to the amplification effect (for many people it's easier to visualise a peak level of 0.7 linear than -3.1 dB). There's also feature requests for different types of DC offset correction and different types of Normalize. If any of these feature requests are implemented, then it would probably be necessary to split Amplify, Normalize and DC offset correction to avoid having a screen-full of controls which for the majority of users that just want to make the track a bit louder would be way over the top.


 * The crucial issue for me is to enable Normalizing without altering the stereo balance of stereo tracks. As pointed out recently by a user on the forum, batch Normalizing stereo tracks in Chains is not currently possible. Although I have no objection to retaining Normalizing stereo channels independently as an optional feature, being unable to Normalize a stereo track as one track (linked channels) is IMO a design error with unintended consequences (a software bug) that needs to be fixed before the release of 2.0.
 * Gale: *If* merging Amplify and Normalize is a lot more work than providing a checkbox to normalize stereo channels independently, a merger could be deferred. Of course batch normalising stereo tracks is possible (just not treating a stereo track as a unit). We wrote a whole Wiki page Amplify and Normalize largely because people can't figure out which effect to use. We know people use Amplify when Normalize would be better for them because Normalize is down the menu and novices guess what "Amplify" could mean but have no idea what "Normalize" might mean. These are problems that a merged effect would solve.  A comparable merge that worked well was merge of FFT Filter and Equalization (and EQ is more complex than anything envisaged for a merged Amplify/Normalize).  The only argument that convinces me against a merger is *if* we want to add so many features to Amplify and Normalize that a merged effect really could become too complex. And even if we did add zillions of new features, you could have the Amplify and Normalize sections as separate slideouts if we wanted.
 * Peter:  "We wrote a whole Wiki page Amplify and Normalize largely because people can't figure out which effect to use." If we provide the check-box in the Normalize effect and set its default to work the stereo channels as a pair, as set out in the Normalize proposal, then for our users who work with just a single track stereo pair (streaming audio recording folk & those who are digitizing LPs etc.) then Amplify and Normalize will do the same job - i.e. amplitude adjustment of the stereo pair.  The only subtle difference will be that Amplify will change the amplitude by an amount and Normalize will change the amplitude to a max. level.  For folks who are working on multi-track projects the differences are far from subtle - but I believe that the best way to educate them is via a tutorial (offers anyone?).
 * Gale: <>. Sounds like a good reason to merge the two effects then. Another reason to merge is to provide space for new, much needed amplify effects - like a real cross fade and a text envelope/fade.
 * Peter:Some users are driven to the "Normalize" command by the documentation their hardware manufacturer provide. The ION manuals for example advises its users to Normalize at the end of the production process.  This can lead to folk "choosing" the incorrect effect for their needs.  My ION, when I had it, had really good electronics and was well balanced with no DC offset - it was only the light weight platter, arm and cheapie cartridge that let it down.
 * Gale: Another good reason to merge - users will see "Amplify / Normalize" but have the choice of using Amplify instead.