Inspired by the popularity of “Pro Fade Out”, here is a “one click solution” to creating a professional sounding cross fade.
The name “Cross Fade Classic” is a working title to distinguish it from the (many) other cross fade effects.
This plug-in partially automates the classic method of producing a cross-fade, which is to line two tracks up, one below the other so that they overlap, then trim and cross-fade (or cross-fade and trim).
Here is a simple example of applying “Cross Fade Classic” to create a professional sounding cross fade:
Align the songs so that track 2 (the second song) overlaps track 1 (the first song). We are going to cross fade the overlapping region, so select the overlapping region:
Effect menu > Cross Fade Classic (or use a custom key binding for Cross Fade Classic).
There is no “3”, unless you want to mix and render.
Basically that’s it. More details, hints (and the plug-in) to follow…
The cross-fade effect fades out the first track, then fades in the next track, then resets itself.
If for any reason the effect is applied to an odd number of tracks (user error ), then the track count will get out of sync and the plug-in will think that its on a “second track” when it’s actually on the first track.
If this happens, the cross-fade will be completely wrong. The first track will fade in instead of out and the next track will fade out instead of fading in:
Of course you can use Edit menu > Undo (or Ctrl + Z) to undo the effect, but then you will still need to reset Classic Cross Fade so that it is back in sync.
2) How to reset the effect
Fortunately resetting the Cross Fade Classic is very easy.
Simply select part of one track. Just a short empty section will do. Mono or stereo, it doesn’t matter which:
Apply Cross Fade Classic.
If a section containing audio was selected it will be faded in.
If an empty section of a track was selected, silence (samples at zero) will be produce:
Edit menu > Undo (or Ctrl + Z) to undo the effect.
To achieve a “perfect” cross fade, I generally find it easiest to align the tracks and apply the cross-fade before trimming any excess from the end of the first track or the start of the second track. Of course this is a matter of personal preference, but here is an example of cross-fading before trimming.
Align the tracks as required with the second song on track 2 and the region to be cross-faded selected.
Tip:If the tempo of rhythmic tracks are greatly different (as in this demonstration) it will be difficult to achieve a really smooth mix, but try and get the beats to match in the centre of the fade.
Tip:Set the end of the fade to a natural starting point in the second track, such as the start of a verse or chorus.
Tip:Listen to the selection and adjust as necessary until you think it’s right. If it’s not quite right you can quickly undo the effect (Ctrl+Z), make an adjustment to the selection or overlap, then reapply the effect (Ctrl+R).
2) Effect menu > Cross Fade Classic (or use a custom key binding for Cross Fade Classic).
3) Without adjusting the selection, Split the cross faded section. (Edit > Clip Boundaries > Split or Ctrl+I)
4) Play the selected region. If it doesn’t sound quite right, undo (Ctrl+Z) and go back to step 1, otherwise continue to step 5.
Select the (no longer required) end section of track 1 and delete it:
Select and “Split Delete” the no longer required section of track 2 (Edit > Remove Audio > Split Delete or Alt+Ctrl+K)
The cross fade is now complete.
Optionally you may want to select then Mix and Render the tracks, but that is not necessary as the tracks will automatically be mixed when the project is exported.
Here is the finished cross-fade that was used in this demonstration:
And here is the Cross Fade Classic plug-in: (please don’t just down load it and say nothing. If you download it, please post some feedback). cross-fade-classic.ny (1.35 KB)
Downloaded it and tried it - works well “does what is says on the tin” - levels stay pretty good throughout, works briskly enough.
But and this is a big BUT - it is far too easy (as you point out) to get it out of sync with itself by working on an odd number of tracks. I can forsee lots of forum postings where the user accidentally selects on one of a pair of stereo tracks , applies the effect and then wonders why the fade goes the wrong way around
Can you not make it so that it demands an even number of tracks and refuses to work when an odd number of tracks are selected?
Or make it reset itself after every use?
Apart from anything else that will make it easier to document as we then won’t have to document how to do a reset.
Regarding your big butt, how easy is it to accidentally get out of sync once you know that it does that, and how easy is it to get back into sync?
Unfortunately no. Nyquist has no idea how many tracks are selected, it see them one at a time.
The “trick” used to tell Nyquist which way to fade is that when it does the first fade it sets a value that survives from one run to the next. The next time it runs, if that value is set it will fade the other way and reset the value.
One track is one use. It resets itself after every other use. That’s how it knows whether to fade out or fade in. If it “is not set” then it knows “first track, fade out”. If it “is set” then it knows “second track, fade in”.
“Advanced” users may work out that they can use this “limitation” creatively if they want to fade out track 2 and fade in track 1, but we can leave that up to the imagination of “advanced” users.
The limitation is because it is a plug-in. As far as I’m aware the limitation applies to all plug-ins.
There’s (at least) two ways that the limitation could be overcome.
An implementation in C+ should be able to avoid this limitation.
Another possible way would be if Audacity told Nyquist more about its environment so that the plug-in could know if it has just been launched or is processing another track. This solution would have the added bonus that it adds a feature that could be used in other plug-ins, so perhaps a greater ROI.
The downside of any “solution” is that there would then be no way to reverse the effect if a user wanted to do so. This is perhaps a lesser “limitation”.