Proposal Log / Linear Envelope Option

From Audacity Wiki
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This page is a proposal to improve the Envelope Tool.
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.


  • Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.

The Problem

The current implementation of the Envelope tool using log/exponential fades is fiddly and inflexible.

  • It is difficult to create a fade in with a large slope at the beginning and a low slope at the end.
  • Conversely it is difficult to create a fade out with a low slope at the beginning and a high slope at the end.
  • It is mostly impossible to fade to/from zero.
  • It is possible, but very fiddly, to create an S-curve fade.

Proposed Solution

Change to linear fades.

Pros and Cons

Pro

  • easier to create any fade shape
  • an approximation of a log/exponential fade can be easily approximated with straight lines, but the reverse is much harder

Cons

  • old projects using log fades would need to be handled gracefully
    • this could be handled in at least three ways:
      • log fades are replaced by a linear approximation using 4 or so new control points
      • the user is warned, and log fades simply become linear fades
      • both the log and linear rendering code is retained, and the appropriate code is used according to the version number in the AUP file
  • new projects opening in an older Audacity would render the new linear fades incorrectly
    • Gale: Feature Requests suggest a choice between log and linear rather than force to use linear.

Other Changes

  • alt/option-click to create a control point
  • alt/option-click to delete a control point
  • click to select a control point
  • arrow keys can be used to move a selected control point
  • Gale:
    • More portability of envelope points: to other tracks and other projects
    • Display of x,y values of each point

Developer Backing

QA Backing

  • Bill Wharrie
  • Steve
  • Gale: for a choice between log and linear

Other Background

See this forum thread Envelope for simple fade, seems too hard

Indicative Feature Requests May 2012

  • Envelope Tool:
    • Choice of linear envelope editing: e.g. as in Pro Tools (11 votes) Current fades are logarithmic, if you switch the track view mode to Waveform (dB) the fades will show as "straight" lines. To make linear fade, need to create multiple small fades to create an envelope that approximates to a straight line.
      • Too fiddly/unintuitive to fade out to zero (3 votes). Pinching the point hard to the zero line makes volume fade to zero almost after the beginning of the fade.
      • "SHIFT + drag" for linear envelopes and "CTRL" + drag for logarithmic envelopes
        • Fading to 0 is possible: in normal Waveform view, click the top point and drag down below the center line. Easier seen in Waveform (dB) mode or after rendering.
    • Tooltip or Status Bar message when mouse holds control point: (6 votes) to show gain amount, final dB level and position in the Timeline.
    • CTRL or ALT + click creates a control point but doesn't alter the envelope: (4 votes) (it currently starts dragging the envelope straight away which isn't very helpful). If you are far from a control point and want to tweak the envelope, but don't want to add a new control point, you need to go back to the control point.
    • Apply to regions (4 votes) e.g. hold down ALT key and drag between envelope points to move only that section up or down (handy for changing the volume of a section of audio without having to drag individual points around).
        This would seem to imply that regions create temporary envelope points as split lines do.
    • Text input for accuracy of control point placement (4 votes)
    • More intelligent/automatic rendering: (4 votes) Could be a switch or a preference, off by default. Could render after each point drawn, or after switching from Envelope Tool. Reason: it's too easy to switch back to Selection Tool, forget you have not rendered the envelope then apply some effect that causes clipping after you render. It must confuse novices too to look in Amplify after using Envelope Tool and see the "wrong" values.
    • Cut and paste of envelope points: (3 votes) - especially useful to paste between different tracks or projects. Ideally, should permit pasting from mono track envelope to stereo (copying both envelopes from a stereo track to a mono track would be more problematic).
    • Per-track envelope accessed from button in Track Control Panel (2 votes)
    • Lock to prevent drag creating clipping (1 votes)
    • Modifier keys for horizontal or vertical drag (1 votes)
    • Non-destructive: Draw lines and curves on top of audio events for accurate, graphically-based audio mixing like Cakewalk (1 votes)
  • Fader Automation
    • Adjust the Mixer Board or Track Control Panel gain sliders while playing then record the slider moves so you can render them if desired. (4 votes). Common feature on many other multi-track audio programs. In this way one can build up a mix, adjusting individual tracks and tweaking levels until just right. This would first require changing to linear envelope points. Could be extended to panning (if we had a pan envelope).
  • Import/Export of envelope points: as XML file (4 votes)
  • Master-Fader or Master Envelope track: (3 votes) Like the Envelope Tool but in its own track and applies to all tracks, used additional to and independently of Envelope Tool. On playback, fader position is interpolated (linearly in dB) between the track points and the result is added (in dB thus multiplied) with the current "envelope" value.
  • More Context Menu (right-click or CTRL-click) functionality:
    • Set Envelope Points: creates start and end points on the envelope automatically. (1 votes)
    • Turn envelope view on/off' (preferably per clip, which is a new feature) (1 votes)