Easy Auto Cross-Fade implementation

I’m currently doing a lot of cross fades between two tracks & wondered if a simple automation were possible:

my current process (with two tracks that are time-aligned):

  1. select audio region within track 1 for cross-fade in
  2. select “cross-fade in” from the effects menu
  3. hold down shift to add track 2 to the selection
  4. hold down shift to remove track 1 from the selection
  5. select “cross-fade out” from the effects menu

While this is a reasonably simple process, after doing ten cross fades every recording, it does tend to get tedious.

Can anyone implement the above steps into two new effects to apply to an audio region selected over two tracks:

  1. cross-fade-in top track/cross-fade-out bottom track
  2. cross-fade-out top track/cross-fade-in bottom track

This would be absolutely awesome–or if anyone could tell me a simple way to achieve this automation, that also would be awesome.

This has been requested before - and now sits on the Audacity Wiki Feature REquests page. See: http://wiki.audacityteam.org/wiki/Feature_Requests and search for “Automatic Cross-fading”.

I have added your vote - taking the tally to 7.


Yeah, I saw the request for a drag-and-drop style cross fade implementation.

I’m assuming that drag cross-fading is going to require a bunch of extra coding, whereas the steps I’ve listed above are already available–although they need to be stitched together. Additionally, I’m assuming that not everyone has clips to join–personally, I never even split my tracks. I just cross-fade between them (given that they are time-aligned anyway).

My thoughts are that the new “cross-fade-in”/“cross-fade-out” effect actually anticipates having two tracks anyway, and anticipates the kind of editing I’ve outlined above. Putting the steps above into either the same effect, or a new one would just save time for editing.

I’m not sure then where to list this request, but I think it’s different from the drag-cross-fade request already listed, and perhaps belongs in a request either to alter the current cross-fade commands, or to add a new “cross fade into top selected track” and “cross fade into bottom selected track” effect.

What do you think?

Just so you know. This FR will stay here on the forum for a month or so to see if it attacts further comments/votes (actually technically one month until it has no further comments). Then it gets transferred (by me actually) to the Wiki Pending Feature Requests page - from there it eventually gets triaged by Gale Andrews and may then get placed on the Wiki Feature Requests Page. And from there it may get picked up by one of the developers.

So don’t hold your breath …


haha, yep, I guessed as much.

I wish I could help with programming, but I’m illiterate there :frowning:

As a work-around, are there any shortcut-keys that I can assign to move an exact audio selection from one track to the next (rather than clicking on the next track and then unclicking the selection on the original track)?
And is it possible to assign a shortcut-key to the cross-fade-in/cross-fade-out effects?


A few months ago, I posted a plug-in which fades out one track and fades in another. It’s called “crossfade2”

Hope this does what you want.

Hey Dave,
That’s great–almost exactly what I had in mind.
Is there any way you could just add a reverse cross effect (it’s pretty counter intuitive to have to add an extra track, and then to add an extra track selection just to obtain the cross-fade-out effect on the top track).

OK, so I worked on Dave’s variable shape cross fade filter and created a couple new filters to do the trick.

Two more questions:

  1. Is there a function to get a filter to run with the default settings (without pressing enter, or the “OK” button)
  2. Is there a way to assign a keyboard shortcut to a custom filter?

I’m not quite sure what you mean by a reverse cross fade. I’m basically a programmer and not a sound guy, so there is lots of jargon and terminology which is new to me.

Glad you could at least use it as a base to build what you wanted.

hmmm, well, that’s one above me–I’m not even a programmer.

Basically, I took your effect, and set it up so that “cross” was the default effect, and +.691 the default shape paramater (by the way, running it with “0” seems to return an error)
Then I created two copies with different effect names (& two different CF-Filename filenames)–one which writes O first, I second (for the setf OUT/IN values), and the other which writes I first, O second (that’s what I meant by reverse cross–I just meant that instead of starting with a fade out, there would be an option for having a fade in for the top track).

So, it works well.
What I would love, is not even to have to press enter, or “OK”, but as far as I understand nyquist , that would require removing the “control” paramaters from the effect, and if I read your code right, these are required to do the opposite fade effects on alternate tracks.

I’d put a link in to download the altered effects, but seeing as they are really your work, I didn’t think it appropriate (plus, some of the hacks were pretty shoddy) :slight_smile:

This (and adding a shortcut key) are possible but not for the faint of heart! If you look at the code for “Repeat Last Effect” you will see that it uses a flag to tell the effect to skip the dialog and use the previous data.

As for adding a shortcut key that gets quite complicated; one must add a new function to be called from the menu, add a new menu item with the shortcut, and write the code which goes in the new function most of which can be cut and pasted from the code which already exists to create a “new” effect.

I did this a while back with Generate Silence. If you would like to Private Message me with your @dress I could send you the relevant files. It has been a long time since I did this code, I just glanced through it and it was not something I could easily summarize.