User talk:PeterSampson/Proposal: Consolidation of Amplify, Normalize

From Audacity Wiki
< User talk:PeterSampson
Revision as of 12:18, 19 May 2011 by PeterSampson (talk | contribs) (created draft page from the previous V4 page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Nomenclature for "Link Stereo Channels"

Peter: I have started this section to enable us to discuss, and to come to a consensus, on the actual text for wgat we are now referring to as "Link Stereo Channels". Gale does not like this current suggestion, Ed has suggested a couple of alternatives in a recent email thread (transferred here)"Link Stereo Channels":

  • Ed:Maybe instead of "Link stereo channels" could be "Normalize stereo channels linked" or "Normalize stereo channels as one track"; maybe even a "details" button linking to the manual page covering the implications of linking stereo before normalizing.
  • Gale: If we accept it's more usual for Normalize to treat a stereo track as a unit, make the *option* (the "unusual" action) to "Treat stereo channels independently" or similar as I've suggested on the v4 Proposal. Ed's idea is OK (if long) - Another could be "Retain balance between stereo channels".
  • Peter: <<"Treat stereo channels independently">> This, or similar, is a great step in the right direction Gale. We've all been thinking of "linking" just because they are not linked currently. Viewing it from the other way around with the channels normally treated as a unified-pair was smart thinking. And it lets us get away from that "link" word that you dislike so much in this context (and I do understand your reasoning here, given our other use of "Link" elsewhere in Audacity).
  • Ed:I also like this reversal of nomenclature. Maybe "Normalize stereo channels independently" which makes it clear the CB only affects the Normalize part of the combo (if we do a combo).
    • Peter: +1 I like Ed's wording, it makes it pretty clear what's going on (and thanks for the mock-up Ed).
    • Steve: +1 for the wording: "Normalize stereo channels independently".

Alternative dialog box for Change Volume

The following is an alternative suggestion for a dialog box for the combined Amplify/Normalize command proposed by Ed Musgrove. ChangeVolumeRemember.PNGComboDialog3.png

  • 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.

Notes on V4 of this proposal

  • Trimmed the proposal as much as possible for readability and lower word-count.
  • Moved some of the longer "discussions" from the proposal page to the discussion page
  • Re-introduced, as an alternative option, a further proposal to merge Amplify & Normalize (and many thanks Bill for doing the graphic mock-up of the dialog).


Discussion re stereo channel linking - moved from the proposal page

  • Gale: -1 to naming as "Link stereo channels" - it "links" mono tracks too (unless you want a third option that does an Amplify in turn on each stereo track). The options should be more like "Normalize to loudest track" and "Normalize tracks independently". This problem of "explaining" the options in the GUI was a primary reason nothing was done the last time it was discussed. Generally I still think more novices appreciate "independently" than don't, and if we have options, knowledgeable users will be able to understand them.
  • Bill: I'm confused. Currently Normalize treats each track and channel independently and sets the max peak level in each track/channel to the same value. All we're asking for is an option to treat a stereo pair as one entity as Amplify currently does. Normalize would still treat each track independently.
  • Peter:Bill is right here; Normalize treats each "track" independently and I expect it to continue to do so, that is the point of Normalize and its differentiation from Amplify. What we are discussing here is the ability to get Audacity to treat a pair of stereo channels as a single "track" - in Audacity a stereo pair is a "track" after all and with all other effects you have to actively split the stereo track in order to work independently on one of its channels.
  • Gale: The problem is that "link stereo channels" is too vague. I didn't understand its intention with respect to mono tracks as the proposal did not explain this. "Link" is not a good term IMO. I also read it that Steve wanted a new feature to set stereo tracks to a target without changing their balance, which seems a good feature if we are going to have separate volume changing effects.

    I believe the proposal will likely be ignored by developers until there is a clear proposal on what the Normalize GUI will look like. For a start, is the new "Link stereo channels" a checkbox, which it now sounds like? Presenting this without confusion to the novice is the exact reason nothing has happened before now. To me, it's *unexpected* that if you ask an effect to set a stereo track to a target dB level it only does it for one channel. This is the exact confusion that some novices have with Amplify if they start looking at "New Peak Amplitude". I can't agree with default "on" for treating stereo pairs as a "track" when this effect has always operated on individual tracks and channels. Default off maximises the distinction between the two tools. I do strongly agree with presenting the option.

    My gut feeling remains the whole thing would be simpler as one modified Amplify effect, if we want a simple effect with no added features.

  • Bill: "a new feature to set stereo tracks to a target without changing their balance" - yes, that's what I mean by "link stereo channels". So if you have a stereo track where the maximum peak level is different by, say, 2 dB between channels and you want to maintain the difference yet normalize to 0 dB, checking the "link stereo channels" box would amplify both channels by the same amount, and the new peak level of the louder channel would be 0 dB. So in this case Normalize would behave identically to Amplify when applied to one stereo track.

    If you select multiple tracks (or a selection extending across multiple tracks) each track (or selection within each track) would be treated independently by Normalize and each track/selection-within-each-track would end up with the same max peak amplitude. In contrast, Amplify figures the maximum amplification factor based on the entire selection, then applies that one factor to all tracks in the selection.

    In hardware compressor/limiters, if you are processing a stereo track and you don't want to upset the channel balance, the switch that accomplishes this is often labelled "link channels".

    "it's *unexpected* that if you ask an effect to set a stereo track to a target dB level it only does it for one channel" - I thought the opposite was true. We explicitly warn users not to use Normalize on an LP capture since on errant click can upset the channel balance significantly.

  • Steve: It's only a small subset of user cases where there is any advantage for normalizing channels independently. The right tool for adjusting stereo balance is the pan slider. It should not be an unpredictable side effect of Normalizing.

    Complaints about stereo channels being Normalized independently are not very common, but people using "Normalize" without realising that it can adjust the stereo balance is alarmingly common. The usual assumption is that "Normalize" in Audacity will work in the same way as it does in the rest of the Universe. Gasps of disbelief are the reaction when they learn the shocking truth.

    Using the Amplify effect to Normalize is a "workaround" that we all repeat every week on the forum. As there is a "Normalize" effect, there really should be no need for a workaround. You can't Normalize multiple tracks at the same time with the Amplify effect, so the only workaround there is to use the Amplify effect on each track separately.

  • Gale: <<You can't Normalize multiple tracks at the same time with the Amplify effect, so the only workaround there is to use the Amplify effect on each track separately.>> Exactly, that is the "new feature" that I meant - scaling up (which we now call "Amplify") multiple stereo tracks independently one after the other, so they all end up at the prescribed peak in one channel or the other without change of stereo balance. We can do this with the new checkbox in Normalize, is that the intention?

    <<The right tool for adjusting stereo balance is the pan slider>>. But it's a hit and miss corrective - it's not that easy to guess what slider correction is needed (certainly not with default waveform view). Then you need to mix and render if you want to see the result. And pan will never scale up the stronger channel, but many users will want to "maximise" in one sense or another so then they still have to use Amplify after pan. So Normalize is I think the better general purpose tool. People with a click that is going to wreck the stereo balance should get rid of the click.

    <<hardware compressor/limiters.. have switch labelled "link channels">>.Unfortunately, most novices won't know anything about hardware limiters - it doesn't matter about using these sort of terms in our Compressor, but volume changing tools are not a geek tool like compressor. We use "link" for horizontal syncing of tracks, let's not use it for some different meaning. That's also why I was against using "link" as a synonym for "read uncompressed files directly".


Feedback on "New Peak Amplitude" moved from Proposal page

  • Steve: In Amplify I'm slightly in favour of making "New Peak Amplitude" a non-editable display. The main use of "New Peak Amplitude" in the Amplify effect is as a workaround for the problem of Normalizing acting on stereo channels independently. For changing the level of a single track to a target peak level the correct effect to use should be "Normalize". The reason that users need to use "Amplify" in this way is because "Normalize" does not link stereo channels.

    I think there is potential for confusion in that; when multiple audio tracks are selected the "New Peak Amplitude" applies to only one track (the track with the highest peak amplitude). Could it be made any more clear by changing the wording of "New Peak Amplitude" or perhaps a tool-tip?

    I agree there is a fringe case where keeping "New Peak Amplitude" is a useful shortcut, but in the vast majority of cases "Amplify" is the wrong tool for changing the gain to a target level - that's what "Normalize" should do.

    • Peter: what rewording for "New Peak Amplitude" would you suggest?
    • Steve: sorry I've not thought of better wording. Something like "New peak amplitude in loudest track" gets the idea over, but is not accurate. Perhaps something like "No selected audio to go above: [__] dB"?

Note on V3 of this proposal

Peter 14May11:In this version, following unanimous feedback from early reviewers, I have withdrawn my proposal for a -3dB peak amplitude initial default setting for Normalize and Amplify:

  • Normalize: Initial default on first use of the effect to be set to -3.0 dB to encourage users to leave some headroom (this is the "hardwired" level that Dominic provided in 1.2.x, variability was only introduced in 1.3.x).
    • Bill: -0.5. We can argue for -3, -2, -1 -0.5, or 0 dB as "optimum" for specific situations. No matter which we choose, new users will think this is the "best" setting. It's been 0 dB for a long time and I think there's a case for leaving it there, with documentation suggesting lower levels for specific situations.
    • Gale: +1 on keeping the default at 0 dB (and also the 0 dB as default for New Peak Amplitude in Amplify). One reason Normalize was changed to 0 dB was a string of complaints (knowledgeable or otherwise) about -3 dB in 1.2. Think the "maximise" word that many will be aware of.
  • Amplify: Initial default on first use of the effect to be set to -3.0 dB to encourage users to leave some headroom.
    • Bill: Again the confusion. The default is not -3 dB. The default is the amplification factor needed to make the maximum peak level of the selection (which may include multiple tracks) X dB. I think we should leave it at 0 dB, per my comment above on this same issue for the Normalize effect.
    • Gale: +1 to Bill. And that's why I think an option to launch at the last used amplification level makes sense as per Feature Requests.
    • Bill: We can't launch the Amplify effect with the previous amplification factor since that might cause clipping in the new selection. The behaviour should remain the same an now - calculate the amplification factor for 0 dB max peak amplitude based on the selection.


Feedback from Bill Wharrie

Bill 11May11: Amplify and Normalize do two different things and I believe are appropriately named.

  • Amplify applies a fixed amplification factor to the selection. It calculates the maximum factor that can be applied to the selection and offers that as a default. If you select multiple tracks the effect still finds the peak value in the selection (i.e. across all tracks). "I want to amplify all my tracks by 3 dB."
  • Normalize makes the maximum peak level in each track in the selection the same. This is useful. In preparation for a multi-track mix you could normalize all tracks to, say, -6 dB or -9 dB. "I want to adjust all my tracks so the maximum peak amplitude in each track is -6 dB."
    • Gale: To clarify, Normalize still works on selections, ignoring regions outside the selection. So if we were to rename these two effects (which I think is an option for Normalize if developers don't want to allow it to "link" tracks or channels), distinguishing the effects by whether they work on tracks or selections would be too simplistic.
      • Bill: I'm not suggesting we rename the effects. And, yes, Normalize works on selections, but still works on each track independently. So what I'm suggesting is "Link Stereo Channels". This is the place where Normalize really breaks with every other effect and editing operation in Audacity.
      • Peter: Indeed all other effects in Audacity always work on a stereo pair as a single entity - a "track". In order to operate on each channel separately the user must "split" the stereo track.
  • For those who simply wish to normalize a stereo track (or even normalize multiple stereo tracks) I'd support a "link stereo channels" checkbox.
  • I'd support a separate "Remove DC offset" effect.
  • The Amplify effect confuses things somewhat by offering the "New Peak Amplitude" text box, which looks like "normalizing" but is not. Perhaps this could be removed, or made non-editable (just reporting). The only need I see for this control is when I want to "normalize" a stereo track to a new peak amplitude without changing the channel balance.
  • 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 Steve Daulton

I agree that there's room for improvement regarding Amplify/Normalize, but I'm not sure that combining the two is the best solution.

"The Problem" then "The Problem: DC offset removal". Don't we have 'several problems' rather than (confusingly) two "the problem"s?

  1. "DC offset correction" is "hidden" in another effect.
  2. "Normalize" does not behave as expected (channels normalized independently)
  3. "Amplify" defaults to sub-optimal level for "mastering".
  4. "Normalize" requires a positive integer for target dB level (the "-" is in the control text) whereas "Amplify" shows the target level as a negative number. Entering a negative number in Normalize will cause clipping.
  5. DC offset correction belongs at the start of the editing task while Normalizing belongs at the end.


Feedback from Ed Musgrove

What Steve said…+1 across the board.

  • In general, I only use Normalize to repair DC offset (and only in others’ recordings as my system does not induce it).
  • Make “Remove DC Offset” a separate effect.
    • You can leave it in Normalize as well if that's easier on the programmers.
  • Leave Amplify exactly as is.
  • Add a switch to Normalize to operate on a stereo pair as a single track - default set to "on" but let this be a Prefs setting
  • 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 Gale Andrews

  • I agree Normalize is more of a problem than Amplify, but I'm aware that novices may not see Normalize a long way down the menu, and even if they do, they are likely to ignore Normalize if they don't understand the word. So we still have an issue that Amplify won't help novices re-balance the tracks which is what a high proportion of them probably do need.
    • Peter 13May11:: a good point about menu position. As normalization is such a workhorse function, how about providing a button for it in one of the toolbars?
      • Gale: The buttons all provide an immediate action, they don't raise a dialogue. I think a button would have to take some prescribed action like "Amplify to 0 dB", "Normalize at current setting". I think a Normalize button would be confusing.
  • We still have an issue that people can't figure which tool to use which is why we wrote Amplify and Normalize.
    • Peter 13May11:: Yes, I recall from past postings on the forum that some of them even think that they have to use both tools. I do remember from when I had my ION iTT-USB that the manual recommended using Normalize as the final production step. And that's also what Carla Schroder writes in her new "The Book Of Audacity" on p235 on Normalization.
  • Normalize kind of loses its point to me as a separate tool if it loses DC Offset (which I think it should) and then (by default) does the same as Amplify in operating on the hottest track. The only real difference then is the presentation of a target in Normalize and scale amount in Amplify. So I think there could still be mileage in having one volume adjust tool and its name should at least start with "Amplify". Some of its perceived complexity and decisions on what units it displays/whether target or scale is preselected/remembered could be removed to a preference.
    • Peter 13May11:: I know what you mean - but I have just been discussing this with an Audacity newbie (my wife) and for her I explained the differentiation as Normalize changes amplitude to a prescribed level whereas Amplify adjusts the tracks by a scaled - and that seemed to make sense to her. I fundamentally agree that if we were starting from scratch that a single amplitude adjustment tool would be the sensible way to design the UI. But we have what we have and I do suspect that removal of one of the effects, or a merger, would look like a regression.
      • Gale: There was very little resistance from Beta users to the removal of FFT Filter that was in 1.2 and its incorporation into Equalization. It removed the confusion about "which should I use?". This is definitely an issue with having two volume changing effects (which of itself is I think somewhat untypical of most audio editors).
  • Alternatively, like a possible solution suggested for splitting the curves EQ and graphic EQ to two menu items, there could be two "Amplify" menu items with *matched design*. The one for scaling multiple channels or tracks is not available if you only select a mono track.
  • Levels - Are the practical implications of the Nielsen and Lund research applicable outside CD players. e.g. to playing a WAV on the computer which was normalized to 0 dB? Subjectively I've always felt any consumer level CD player is subject to distortion whenever the music reaches 0 dB (and of course when then music is very quiet which is a limitation of digital). I've also always felt these issues are much less significant when the WAV is played on a computer (even with a stock motherboard sound device).


Feedback from Peter Sampson

  • For me the single really critical issue is getting an option into the Normalize effect to link the two channels of a stereo pair. In its current state the Normalize effect is positively dangerous to users with inherently balanced kit, potentially causing them unknowingly to change/damage their stereo image - to the extent that I would actually regard this as a bug.


Further feedback from Steve Daulton

I think the feature request section that you quote for "Normalize" misses the very important point that Bill raised. Consequently I think that the proposal needs to distance itself from the section "When multiple tracks are selected, only the highest peak level of ALL tracks should be considered to adjust each track by the same amount so that the volume of each track relative to each other will stay the same. (9 votes)"

I'm a bit embarrassed to have missed that point in my first reply, but probably the *most* important distinction between "Amplify" and "Normalize" is that "Amplify" changes the level *by* an amount whereas "Normalize" changes the level *to" an amount.

When processing a single track, this distinction is subtle, but for multiple tracks the distinction is totally obvious.

Use case 1: Multiple tracks from an album have been imported. The user wants to change the level so that they all have the same peak level. The way to do this is to "Normalize" the tracks to the desired level.

Use case 2: A multi-track project - several tracks that will be mixed down to a single "song". The user wants to change the level of all tracks so that the entire mix is at a different level but without changing the balance between tracks. The way to do this is to "Amplify" the tracks by the same amount.

Providing an option to "Normalize based on the peak level of all tracks" totally confuses the functions of these two distinctly different effects.

  • Gale: I don't see the "target" or "scale by" distinction as the primary one between Normalize and Amplify. Normalize was designed to also be different because it operated independently on each track or channel. I think both distinctions are important. The problem is that users with some knowledge assume/expect that "Normalize" will do what is in the feature request. Personally I would like freedom to do any combination of scale up/use target/per track or channel/per loudest track or channel.
    • Steve: Just two different ways of saying the same thing. If tracks are "scaled by" the same amount, then tracks are processed collectively. If tracks are amplified to a "target", then they are processed independently. The "New Peak Amplitude" in the "Amplify" effect is IMHO a little misleading as it can easily be misunderstood as being a (per track) target, which it isn't. There's probably a better description for that setting that makes it clear that it refers to the highest peak in one of the selected tracks, but I not thought of better wording. A tool-tip could help.

An important issue is that use case 1 is impossible without the risk of unbalancing stereo tracks. Currently the only way to achieve the desired effect for user case 1 is the arduous job of applying "Amplify" to each track individually and resetting the "New peak level" each time (if any value other than 0 dB is required).

  • Gale: I suppose this could be a third option in Normalize, so at least we get a new feature out of all this. Or are you suggesting the only choices for Normalize should be "as now" or "link stereo pairs" (one after the other if there are multiple stereo pairs)? In other words you cannot do what is in the feature request with Normalize if you have mono tracks?
    • Steve: I'm not sure what you mean Gale. As I see it, the options in the Normalize effect should be "Link Stereo Channels" which is selected by default (alternatively an option for "Normalize Stereo Channels Independently" - NOT selected by default). This would mean that the default option would treat one stereo track as one track and not as two independent channels. The behaviour with mono tracks would not be changed.
    • We do gain a new feature, and that is that multiple tracks can be Normalized in one go without damaging the stereo mix of any selected stereo tracks.
    • I strongly disagree with the second element of the old feature request: "When multiple tracks are selected, only the highest peak level of ALL tracks should be considered to adjust each track by the same amount so that the volume of each track relative to each other will stay the same" as that is exactly what the "Amplify" effect does. It is both unnecessary and confusing to duplicate that feature into the "Normalize" effect.

This is a relevant note thread transferred from the manual's "Splitting a recording into separate tracks"

Step 3 - Maximize the volume of the recording

If you did the original recording properly and avoided clipping, the recording is probably not at the maximum possible volume. In order for the CD you burn to be at maximum volume and thus match other CDs in your collection we need to fix this.

  1. Click on Edit > Select > All
  2. Click on Effect > Amplify
  3. The default choice in this dialog is to amplify to a "New Peak Amplitude" of 0 dB (the maximum possible). However as some players could have playback problems with audio at 0 dB, it is recommended to set a maximum of -2.0 dB to provide some extra headroom.
Gale 05May11: Is the above recommendation for portable players?

Peter 6May11:It's based on the general consensus on the forum over the years from elves and other heavyweight contributors. My own personal experience is only with iTunes and iPods. Both had no problem in the past with tracks that I amplified up to 0dB and then exported as an MP3 with LAME from Audacity - or with exported WAVS (from max. 0dB projects) loaded into iTunes and there converted into AAC. These days I only amplify up to the -2dB just for safety for potential future use on non-Apple platforms. Steve always recommends leaving a little headroom, and it was a discussion thread with Bruno that set me off on the -2B datum. I don't know what experience or knowledge that they have to back that up. But I find that -2dB Amplify gives a plenty loud enough file. Gale 06May11: Hmm well I think some people will question this especially as our defaults are 0.0 dB. It's news to me that players would distort at 0 dB. Of course if you are going to apply DSP effects in the player it makes sense not to maximise.
Peter 6May11: Hmm indeed - actually it's only for Amplify that our default is 0dB. With Normalize, in 1.3.x, the original default may well be 0dB but thereafter the Normalize dialog box defaults to a maximum amplification level "remembered" from the last use of Normalize. I prefer the Normalize behaviour in this respect and have added a piece on the FR page on the Wiki under Effects>Amplify for this. I also note that in 1.2.x (tested on 1.2.4b and 1.2.6) Dominic did not offer a variable maximum amplitude level, but rather had it "hard-wired" to -3dB (presumably because he may have been aware of headroom issues. Personally I would like to see our "defaults" set to -2.0dB to provide headroom. Do we need to start a Proposal page to sort out Amplify/Normalize/DC-offset removal?

  • Gale 08May11: Certainly a Proposal page would be a good idea. Normalize does not work independently on multiple tracks in many other apps. If we still have two separate tools for volume changing, there are some possible enhancements for Amplify too.
    • Peter 8May11: ok Gale, I'll try to make a start on a draft proposal this week. I'll start it off on my user pages in the Wiki first, to get some editorial review and approval prior to publication. Interestingly, I did run into a use-case on the forum this morning where the current behavior of Normalize was just what the poster needed: a mono recording in a stereo pair which was unbalanced L-R. I did learn from reading Carla Schroder's new book on Audacity that if you have multiple tracks selected then Normalize treats each of those tracks independently unlike Amplify which treats them as whole. I assume we would want to retain this behaviour, but maybe make it switchable? I'm guessing too that it may be worth making a case in the proposal for merging Normalize and Amplify. Any thoughts before I start writing?
  • Gale: Normalize is actually a good choice for many people recording stereo tapes and LPs on USB or cheap equipment because those recordings will often be unbalanced. Many apps don't even have independent amplification so we don't want to throw the feature away. The problem is that the expectation of "Normalize" to more experienced users is that it only calculates for the loudest track so they get a shock when it changes balance between tracks/channels. Anything is on the table - switch the names of Amplify and Normalize, make them one tool, add more features to both. Thanks. When you don't need this div any more, please delete it.

Note that Amplify retains any volume differences between channels of a stereo track. In practice however, consumer-level turntables, tape decks and/or amplifiers may well record stereo channels with a stronger signal in one channel than the other, which you will probably want to correct. In that case, use Effect > Normalize instead.<p> One problem when copying records is that a loud click in one channel can cause Normalize to create an unwanted change in the stereo balance. In that case you should consider removing the click before the Normalize step, using Click Removal. For more information about the difference between the Amplify and Normalize effects see this page on the wiki.



Notes from the forum

  • Steve:If the "Normalize" effect had an option to "link" both channels of a stereo track, then this could also provide the necessary functionality ... Personally I'd prefer this solution as there are many other situations where it would be useful to Normalize with stereo channels linked.
  • Bruno:I'd risk saying that 99.9% of those who use normalize are not aware that it's acts separately on both channels. I'd not only like to see the linking option in normalize as I'd like it to be the default... I'd be as radical as eliminating normalize and putting "remove dc offset" only in its place. I can't remember of a single situation in which I needed to "normalize" both channels separately... and if I needed I'd probably split the track use amplify and join again...
  • Steve: I'd rather not lose the Normalize effect. If recording with two microphones (stereo pair), it's quite easy to have one channel louder than the other, even though both microphones are recording very similar sounds. When transferring tapes to CD, it's not uncommon for the left/right playback levels to be slightly out of adjustment - particularly with old tapes and/or old tape players. In both of these situations, Normalizing channels independently can be a quick, easy and effective way to re-balance the stereo.
  • Steve: My reasoning for leaving a little bit of headroom on the final exported file is based on a number of factors:There's no guarantee that audio playback equipment will reproduce 0 dB - several studies have shown that some high quality CD players by reputable manufacturers will clip just below 0 dB, particularly with audio that has significant amounts of high frequency content. If the exported file is converted to a lossy format (for example MP3), then there is a high probability that 0 dB peaks will be clipped due to the conversion process.

A file that is normalized/amplified to -1 dB peak level will sound virtually the same as squeezing out that last 1 dB, but dramatically reducing the possibility of clipping. When exporting as WAV you will probably be OK to set the peak level to 0 or -0.1 dB, but if you may be making an MP3 version at any time, then in my opinion you should definitely allow at least 1 dB of headroom. Some people like to go as low as -3 dB, and although that is a very safe setting I think that it is possibly a little over cautious. Ask 5 people this question and you are likely to get 5 different answers, though most would recommend a target level somewhere in the range of 0 dB and -3 dB.

  • Ral-clan: Yes, I agree that if Audacity doesn't link the two channels when it Normalizes, then that function is fairly useless.
  • Koz: quoting Ral-clan "I think it might be useful if there was a tick box in the Normalize function that offered something like "tie stereo pairs" or "preserve stereo balance" as an option. That way one could import a number of stereo songs and normalize them all to the same level, but keep the relationship between each song's left and right track intact."
    • That's how I thought it already worked. Imagine my surprise. I believe it should normalize a stereo pair tied and independently if they're split. Normalize should introduce no damage and only change levels. Changing the stereo image is show damage, and better, it's damage that you can't readily recover from without UNDO.
  • Ral-clan: I agree that the way Normalization works independently on each track of a stereo pair in Audacity seems counter intuitive to me, as someone who mixes down and prepares home music studio recordings for burning to CD. I also agree that, intuitively (it seems to me), Audacity should by DEFAULT lock the balance of stereo pairs when normalizing and only adjust MONO tracks independently (another option would be to add a toggle checkbox to Normalization to set balance locking / unlocking of stereo pairs). I'm surprised more people don't feel the same way as this type of normalization is something a lot of people do after mix-down of music. Do they even know that Audacity's normalize function is destroying the stereo balance they've carefully mixed? If they did, would they be content with that?
  • Koz: I do almost everything with an idea of my audio peaks hovering around -3. It's a good compromise and is the only value available in Audacity 1.2. Audacity 1.3 gives you the ability to choose any value you want. I still pick -3.
  • Steve: A reference regarding why the final exported audio should be a little below zero dB: 0dBFS+ Levels in Digital Mastering. SØREN H. NIELSEN AND THOMAS LUND (pdf file).
    • Peter 13May11: Interesting paper there Steve - when was it published? It's certainly a good supporting case for setting the default max levels to -3.0dB, the level that Dominic originally hard-wired Normalize for in 1.2.x and the value that Koz (as a pro.) normalizes to his peaks to.


Previous Feature Requests relating to this proposal

  • Normalize:
    • Option to calculate track gains together to avoid changing stereo balance: When multiple tracks are selected, only the highest peak level of ALL tracks should be considered to adjust each track by the same amount so that the volume of each track relative to each other will stay the same. (9 votes)
      • Gale: This is what Effect > Amplify does. Some people would argue "Amplify" should be called "Normalize", or as you suggest, we should have an option inside "Normalize" to "retain balance between multiple tracks" or similar wording (which of course would still work on last used dB value). Then some people prefer Amplify defaulting to 0.0 dB peak, so if Amplify and Normalize were merged into one effect, you have quite complex options which would probably bamboozle a novice.
    • Move the negative sign into the text box, like "Amplify": (3 votes); otherwise, adding the - sign gives you clipping.
  • Other feature requests for Normalize:
    Gale: The following could be considered as an additional option for Amplify or Normalize, or as presets which could be unavailable if they caused clipping, though it would add complication:
    • Percentages: Would it be possible to have a percentage normalization option (as an alternative to decibels)? Many people have problems with decibels. (2 votes)
    Gale: The following, though popular, is probably outside the scope of this proposal and would need a separate Proposal (and maybe a separate tool):
    • Replay Gain: (12 votes) The current peak value normalization is far from what human ears perceive. If hard to implement, we can normalize to RMS (light blue in waveform) values instead
  • Amplify:
    • Default to last used maximum dB level: (1 votes) Currently it defaults to 0 dB whereas Normalize defaults to last used maximum.
  • Other feature requests for Amplify:
    Gale: The following could be considered as additional options:
    • Linear "New Peak Amplitude" input: less confusing because it matches with default waveform (and the generate effects) (4 votes)
    • Toggle non-destructive clipping when in 32-bit float quality (1 votes)
    • Presets in dropdown menu (2 votes)
    Gale: The following contradicts the proposal as is, but makes more sense to me than remembering the New Peak Amplitude, especially if we make the latter uneditable:
    • Option to launch at last used amplification level: (4 votes) even if the New Peak Amplitude is different each time. Use case is trying/undoing different amplification amounts to get the one you want, and you want to see quickly what you last tried (or do it again if you think that will give you the desired result.
  • Better management of DC offset:
    • Automatic removal of DC offset after recording (rather than just as an option in Normalize) (7 votes)
    • Audacity should block DC at source because of the problems it causes. DC is not sound, and passing DC should only be a fringe purpose for scientists/researchers. (2 votes)
      • Blocking DC at source raises technical issues which we may well not want to address.
  • Bind effects to buttons or keyboard shortcuts: including particular parameters thereof e.g. one keystroke to amplify + 3 dB, another keystroke -3 dB, another to compress (32 votes)
    • Effects for which this has been requested: Amplify; Change Speed; Fade In/Out; Generate Tone; Insert Silence; Noise Removal; Repair; DC removal ; Chris' Compressor
      • Peter 13May11: to which I would add Normalize