More versatile Nyquist fade/amplify effect

Changed to “Select the required Fade Shape…”

YES! I Like it. :smiley:
(I knew there was a better description - just couldn’t find the right words)
Now changed in the ;info and (hopefully) all occurrences in the help screens.


This was an experiment - one of the “unconventional” GUI features to try and help with screen readers.

The ideal solution would be if changing the “Amplification Range” instantly changed the Amplification sliders so that they displayed the selected range (changed from “0% - 100%” to “0% - 200%” to “0% - 400%”), but unfortunately this is not possible in Nyquist plug-ins.

Apparently, in screen readers the sliding scale is always read on a scale of 0 to 100.

There are alternatives, but each has pros/cons:

1) “Amplification Range”
Pro:

  • Scales always read (correctly) 0% to 100%.
  • Most fades are from or to 100% - which is very quick and easy for mouse users.

Con:

  • Confusing.

2) No “Amplification Range” but allow text entry for values over 100%.
Pro:

  • Simple.
  • Most fades are from or to 100% - which is very quick and easy for mouse users.

Con:

  • Slider value shows different value to text value.
  • Value reverts to 100% if up cursor is used on the slider.
  • Value reverts to 100% on next launch.

3) Increase scale to 0% - 200%
Pro:

  • Scale reads correctly for sighted users.

Con:

  • Sliders read incorrectly on screen readers.
  • About 95% of the times that I use this effect I want to fade-in/out to/from 100%. Over 50% of the time I’m fading-in/out from/to 0%. Using a mouse it is very much easier to move the slider to the extreme left/right than to move it mid-way.
  • Same ‘cons’ as (2) for values over 200%.

4) ;control for “Fade In / Fade Out” with one “Amplification” scale as 0% - 100% (default 0%) and the other as 0% - 200% (default 100%)
Compromise solution with Pros/Cons as above.

5) Change the wording from “Amplification Range” to “Amplification Multiplier”
Options would then be: “x1 / x2 / x4”
Is this any less confusing than (1) ?

6) Change the wording from “Amplification Range” to “Gain”
Alternatives could be “Amplify before Fade”, or “Amplify Selection” …
In effect the same as (1) but with slightly different description.

Unless anyone has a better idea, it’s “pick your poison”.
My preference is for (1), (5) or (2).
I’ve tried option (3) extensively and it becomes really irritating.
New version (see bottom of post) now uses “Amplification Multiplier” and allows text entry up to 400% (help screen also updated).
This is where user feedback is invaluable.


No I don’t. The main reason is that it will cause “envelope shaping” to fail (see below).


This is it.
Having tried umpteen alternatives for adding multiple “control points”, this is the clear winner.

Multiple control points would be the closest emulation of the Envelope tool, but it has overriding drawbacks:
How many control points?
To allow complete freedom of each control point, and a smooth transition from one to another, there would need to be controls for the time position, amplitude, and slope. A minimum of 3 sliders per control point. Then there is the problem of defining the time position - % of the selection length? (what’s the % for 7 control points?) - seconds? (what happens if the control points go beyond the selection? How do you apply the same curve shape to a different length selection?)

Evenly spaced control points?
Works well for linear extrapolation, but requires quite a lot of control points to create a smooth non-linear fade. “Fade+” creates 50 control points in one go.
If, for a 10 second selection, you want to make the first 1 second rise smoothly by 6dB, the next 7.5 seconds to fall by 12dB and the final 1.5 seconds to fade out with an “S” shape curve, you would need to process in 3 sections. This can be done much more quickly with Fade+.

I think that Fade+ can do everything that the Envelope tool can do (except that it is destructive). In many cases the desired effect can be achieved more quickly and easily with Fade+.

Complex curves and envelope shapes can be created by processing in sections - the following envelope took less than 1 minute. (Ctrl+J to join the sections back together.)
firsttrack001.png
The lower curve was created using the Envelope tool and took three times as long, zooming in and out horizontally and vertically, a lot of twiddling with the mouse, and the fade out at the end does not sound as good.

The effect could easily be converted from linear scale to dB - in fact this plug-in started life with a dB scale.
I switched from dB to linear in response to feedback from David Bailes regarding accessibility.
VIP’s (visually impaired people) need to know what the valid range of values are. Screen readers may not read text that is to the right of the slider and the sliders are always read on a scale of 0 to 100. The most simple solution to this seemed to be to put all of the ;control text to the left of the slider and all sliders on a scale of 0 to 100. This means using a linear scale for amplification. As a linear scale is used extensively in Audacity it should be familiar to most users and arguably more intuitive for novice users than dB.

What does that mean?
Are they talking about instantaneous amplitude values, average peak levels within a time window, RMS values …? I suspect they mean “loudness”, which is not at all easy to implement.

Saint Saens Symphonie No. 3 “avec orgue” (Organ Symphony) ends with full orchestra and organ playing fff, then after the final note the reverberation goes on forever (depending on the performance venue) - so we set the fade to amplify with a final amplitude of 0dB - does that mean the reverberation swells up to 0dBfs noise?
We could set a time window function - 20 seconds should be enough to handle Saint Saens, but then what happens if the selected audio is only 10 seconds long?

Probably what they mean is similar to using an adaptive attack/decay dynamic compressor (such as Chris’s) and then shaping the volume envelope. Unless I’m misunderstanding what is being asked for I don’t think it is easy at all as it is so dependent on the character of the selected audio.

Easy solution - Normalize/Amplify it before you start, (then use an “Amplification Range” of 0% to 100% and if necessary Normalize/Amplify again after).
Normalizing could be included in the effect, but (a) do we need a third “normalize” effect when we already have “Amplify” and “Normalize”? (b) Normalize would have to be OFF if a track is “Envelope’d” in sections (as in the screenshot) or the sections would not match up.

Also, if processing is done on 32 bit tracks, this effect does not clip (Audacity 1.3.12). If the peak amplitude is inadvertently made to go over 0dB, then as long as it is a 32 bit track they can use Amplify/Normalize to bring it back down to within 0dBfs.

I like this idea and have already tried it out (the version that I use at work has this feature). It is also very handy when making “drop-in” fades.

The drawback is:
What is the “reverse” of a fade-in with a fast “initial fade speed” and a slow “final fade speed”? Is it:
a) A fade-out with a fast “initial fade speed” and a slow “final fade speed”?
b) A fade-out with a slow “initial fade speed” and a fast “final fade speed”?

If we have options for “Reverse (symmetrical)” / “Reverse (complimentary)”, should this apply to just custom fades or to preset fades as well? (should “Reverse (complimentary)” make a “Fade-In (elliptical)” become a “Fade-out (Exponential)”?
Do we want this extra complication?
For mouse users and Amplification scales of 0% - 100%, switching from fade-in to fade-out is already very quick and easy.


New version (attached).

Changes since previous version:

  1. info line “Select the required Preset” > “Select the required Fade Shape…”
  2. “Start” and “End” controls renamed “Initial” and “Final”.
  3. “Amplification Range” renamed “Amplification Multiplier”.
  4. Amplification up to 400% allowed by text entry.
  5. Help screens updated for these changes.
  6. ReadMe text file included in ZIP.
    FadePlus.zip (6.03 KB)