A Variable-shape, multi-track cross fade plugin.

(this is the same as a message I posted to the Audacity-Nyquist mailing list. If this is the wrong forum for such a plug-in, would one of the moderators please move it to the right forum.)

Here is the cross-fade plug-in mentioned in a previous Audacity-Nyquist e-mail list post about how to publish a new plug-in. It will only operate with Audacity 1.3.8 and above because it requires Nyquist fixes included in 1.3.8.

The plug-in can be downloaded from CrossFade2.ny into the Audacity plug-ins directory. Once Audacity is restarted, it will appear on the Effects menu as “Variable shape crossfade”.

It can operate on multiple tracks at the same time (as can any plug-in), but the two existing pairs of fades (Fade In, Fade Out, Cross Fade In, and Cross Fade Out) will do to all tracks whatever the operation is – fade in or out.

Rather than provide a pair of plug-ins, this one allows a choice of all selected tracks faded IN, all selected tracks faded OUT, or by choosing the CROSS operation, the operations will start with a fade out on the first track, then fade in on the second, out on the third, in on the fourth, etc. You’ll probably only use it on two tracks at a time.
Currently, the same shape (see below) parameters will apply to both the fade out and in. It would not be too hard to have independent shapes for IN and OUT.

The variable part of the name is enabled by two slider values, one for the primary shape and a second which can fine tune the shape a little.

The default zero values yield a linear fade, / or , exactly like the existing fade-in and fade-out effects.
If the shape slider is positive, the shapes will bow upward; if negative the fade line will sag downward.
The fine tune slider alters the curve by increasing one half of the line and decreasing the other. You’ll have to play with this one to find out exactly how it works, as it it non-linear and counter-intuitive. With large values, it can give totally unexpected shapes which are not fades at all. There is probably a better way of doing the fine tuning.

If the shape argument is +0.691 [ ln(0.5) ], the shape will exactly match the existing cross-fade plug-in.

There is also a RESET operation which will force the CROSS operation to start with a fade out, but will change nothing. This is needed if the plug-in has gotten out of sync when you applied the CROSS operation to an odd number of tracks. Selecting the IN or OUT operation will also reset the CROSS operation.

The interface between Audacity and Nyquist implements multiple track operations by simply calling the plug-in once for each selected track with the same set of arguments for each call. Unfortunately, there seems to be no way to carry over any information from one call to the next except by saving the state information in an external file.
The file, called “crossfadestate.txt” is only one byte long. After an IN, OUT, or RESET operation, there is an F in the file (for oFf). When doing the CROSS operation, after a fade out, the value saved is I to indicate that the next operation should be IN. After the subsequent IN, the value saved is O (Oh).

I hope this plug-in helps people use Audacity more effectively.



thanks for this posting - I moved it to the Audio Processing section.

The 1.3 section is mostly for folks who have problems with beta Audacity. Your post is a processing extension so I think it fits better here.