Non-destructive Change Tempo

For 3.4, we’re currently working on a non-destructive time stretching implementation, to be used in particular in conjunction with 3.3’s time signature and tempo features. Outside of changing the tempo, time stretching would be accessed like trimming but holding a modifier (ie shift-dragging the edge of the clip). The algorithm used is superior to pretty much anything out on the market, including commercial offerings (examples, “Proposed method” is the one we’ll be using).

This comes with some options for the existing Change Tempo effects:

  • We could leave the effects untouched, so they’d continue using Soundtouch and SBSMS.
  • We could make the effects use the new algorithm but remain destructive.
  • We could make the effects stretch the clips non-destructively.

Currently, my preferred option is option 3: It solves accessibility of the new feature and avoids generation loss when applying the effect repeatedly. Bouncing these changes is slightly awkward (move clip to new track, mix and render, move clip back) but still possible.

What do you think?

PS: Change Pitch, the various fading effects, Amplify, Invert and Reverse may run into similar considerations in the future. Though that probably is the complete list of effects which can become properties of a clip.