Cross-Fade (revisited)

Share your Audacity/Nyquist plug-ins here, or test drive the latest plug-ins submitted by Audacity users.

After testing a plug-in from this forum, please post feedback for the plug-in author.

Cross-Fade (revisited)

Permanent link to this post Posted by steve » Thu Oct 20, 2011 4:17 pm

I decided to have another go, starting from scratch, at making a replacement for the "Cross Fade In" and "Cross Fade Out" effects.

To use this plug-in, the tracks to be cross-faded will be placed end-to-end on the same track.
A selection is then made that includes the end of the first track and the start of the next track.
When applied, the Cross Fade effect applies a fade out to the audio at the beginning of the selection and a fade-in of the audio at the end of the selection. The fade-out and fade-in are then overlapped automatically to create the cross-fade.

The effect includes a couple of other features but I have aimed to make it as simple and easy to use as possible.

Obsolete version:
cross-fade.ny
(3.82 KiB) Downloaded 156 times

Click here to download the current version
Last edited by steve on Wed Nov 16, 2011 9:58 pm, edited 3 times in total.
Reason: update link to current version of plug-in
steve
Senior Forum Staff
 
Posts: 34304
Joined: Sat Dec 01, 2007 11:43 am

Re: Cross-Fade (revisited)

Permanent link to this post Posted by Edgar » Fri Oct 21, 2011 9:43 pm

Thanks Steve! Major improvement. Some thoughts...

Currently, Cross Fade In/Out are useless to me.

I like the idea of combining cross fade into a single dialog, but...

From a GUI standpoint:

While discoverable, the "Show Help" in the "Select Action" drop down is not user friendly; make it a button--there is lots of room on the dialog. Also not user friendly, when you do select "Show Help" you must then click "OK" to view Help and this is a "destructive" action (the Cross Fade dialog closes). The help dialog should be independent of the fade dialog (but should close with the fade dialog). More unfriendly, the "help" action is sticky so after clicking OK and reading and closing the help dialog, when you re-open the CF dialog "Show Help" is the selected default.

When either In or Out are selected as solo actions the "Fade Length"... stuff should be ghosted or gone.

I realize the Nyquist GUI builder is sparse and these may not be readily changed.


Functionality
I would extend the ability of the function by adding a "center" so that when xFading the fade-in and fade-out don't have to be the same length.

While I realize that the concept of this is a "destructive" X-fade, most often, I want a non-destructive version. I know I can do this using Fade Out/In and cut 'n' paste but would like to see this a wrapped up in one Cross Fade effect.
xF.png
xF.png (166.22 KiB) Viewed 3348 times

The top is my starting point, the middle is the current behaviour, the bottom is what I want to end up with (although the cut 'n' paste can be left to mix & render).
Edgar
 
Posts: 1113
Joined: Thu Sep 03, 2009 9:13 pm

Re: Cross-Fade (revisited)

Permanent link to this post Posted by steve » Fri Oct 21, 2011 10:26 pm

Edgar wrote:From a GUI standpoint:

While discoverable, the "Show Help" in the "Select Action" drop down is not user friendly; make it a button--there is lots of room on the dialog. Also not user friendly, when you do select "Show Help" you must then click "OK" to view Help and this is a "destructive" action (the Cross Fade dialog closes). The help dialog should be independent of the fade dialog (but should close with the fade dialog). More unfriendly, the "help" action is sticky so after clicking OK and reading and closing the help dialog, when you re-open the CF dialog "Show Help" is the selected default.


I completely agree (hence this "wish list" item: viewtopic.php?f=39&t=36639 )

Yes I could add a separate "Help" button, but because the action is "sticky", including "Help" in the "Select Action" menu, the users is pushed to select either, a fade type OR the help screen (which is the correct thing to do). If "Help" was a separate button then the user could select (for example) "Fade In" as their desired action, but not realise that they must also deselect "Show Help".

I can't do anything about the option being "sticky", or the action being "destructive" - these are built into the Audacity Nyquist interface and apply to all Nyquist plug-ins.

Edgar wrote:When either In or Out are selected as solo actions the "Fade Length"... stuff should be ghosted or gone.

Yes, that would be nice too, but again it's a limitation of the Audacity Nyquist interface.

Edgar wrote:The top is my starting point, the middle is the current behaviour, the bottom is what I want to end up with

I'm not sure what you are getting at there. The bottom picture is not a cross-fade. It is a fade-out followed by a fade-in and can be accomplished with this plug-in by applying a fade-out to the first track and a fade-in to the second track.

-----------------------------------------------------------------

Did you notice that the full cross-fade effect (fade-out + fade-in + mix) can be accomplished in one action if both "songs" are on the same track?

firsttrack000.png
Noise + Sine wave
firsttrack000.png (8.87 KiB) Viewed 3346 times


firsttrack001.png
Noise cross-fade to Sine wave
firsttrack001.png (8.47 KiB) Viewed 3346 times
steve
Senior Forum Staff
 
Posts: 34304
Joined: Sat Dec 01, 2007 11:43 am

Re: Cross-Fade (revisited)

Permanent link to this post Posted by steve » Sun Oct 23, 2011 1:54 pm

Edgar wrote:I would extend the ability of the function by adding a "center" so that when xFading the fade-in and fade-out don't have to be the same length.

I've thought about this, but I think that would be an exceptional case. The common case is that the fade-in and fade-out are the same duration. For the "advanced user", if they want different fade-in / fade-out times they can apply the fade-in first and then the fade-out to separate tracks (similar to how you would do it now, but with the added feature that the fade shape can be a user defined curve).

Edgar wrote:I want a non-destructive version.

The only really non-destructive way would be to use Envelopes to create the fades, but Audacity Nyquist can not currently access envelope data (another feature request).
To be able to adjust the amount of overlap, the two "songs" could be in different tracks, then the fades are applied but there is no mixing.

I did notice a minor failing of this effect - if the fade time was set to a duration of less than one sample, the effect would fail without error or warning (Audacity Nyquist cannot return zero length sound). It is arguable what should occur in this situation (a zero length cross-fade is not a cross-fade) but how I have decided to resolve this is to give an error if the duration is set as a negative value, and to limit the duration to a minimum of 2 samples (the minimum required by the code for a true cross-fade) if not negative. The new version is attached.

cross-fade.ny
(3.88 KiB) Downloaded 171 times
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
steve
Senior Forum Staff
 
Posts: 34304
Joined: Sat Dec 01, 2007 11:43 am

Re: Cross-Fade (revisited)

Permanent link to this post Posted by Gale Andrews » Sun Oct 23, 2011 3:57 pm

Thanks, Steve. This is just "stupid user" comments because I haven't thought a lot about this.

I thought we wanted "Cross-Fade" with a hyphen given we don't use the more common "Crossfade"? Not that I care as long as we are consistent.

Help says:
"The 'Fade Shape' offers a choice between a simple curve, or an 'S' shaped curve."

No need for "," before "or" - was taught as bad grammar when I went to school. Maybe opinions are different now but the Manual would not allow the above.

Should not "mid-point" in the Help be "midpoint"?
http://en.wikipedia.org/wiki/Midpoint

Then maybe "Strength of fade midpoint" instead of "Curve (increase to boost mid fade)"? I find a second "Curve" concept in addition to shape confusing.

;info line says:
'Cross Fade' fades out the first 'n' seconds of the selection and fades in the final 'n' seconds, where 'n' is the 'Fade Length' in seconds. 'Fade In' and 'Fade Out' act on the entire selection.

Why single-quote 'Cross Fade'?

Would the whole cross-fade thing be simpler if we excluded standard fade in and out? I think there are other plug-ins we want to add that can do more advanced fade in/out, and this plug-in is called "Cross Fade". Then we could say "Cross Fade' fades out the first ' x' seconds of the selection and fades in the final ' y' seconds, where 'x' + ' y' is the 'Fade Length' in seconds." Then "Fade Length" in the interface could actually be 10 seconds where there is a selection of at least 10 seconds. I think lots of people will select 5.5 seconds in the waveform, "Fade Length" of 5 seconds and then not understand why there is an error.

Or could there be a default "idiot's fade" where it just cross-fades the selection given to it?

As a general point, the last idea where there were two versions (one for the "popular" cross-fade on one track and another for cross-fade on two tracks) was a bit of a dead-end. But here, there is no mention that a single track or multi-track fade can be made, so people like Edgar used to doing it "properly" on two tracks may not even realise it can be done on one.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual
Gale Andrews
Quality Assurance
 
Posts: 13833
Joined: Fri Jul 27, 2007 12:02 am

Re: Cross-Fade (revisited)

Permanent link to this post Posted by Gale Andrews » Sun Oct 23, 2011 4:06 pm

;; version 3 plug-in (requires Audacity 1.3 or later)


That should read "1.3.4" by the way.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual
Gale Andrews
Quality Assurance
 
Posts: 13833
Joined: Fri Jul 27, 2007 12:02 am

Re: Cross-Fade (revisited)

Permanent link to this post Posted by Gale Andrews » Sun Oct 23, 2011 5:23 pm

Gale Andrews wrote:Then "Fade Length" in the interface could actually be 10 seconds where there is a selection of at least 10 seconds.

Of course having read your post to the mailing lists, it's much clearer, but I deliberately did not read it until after looking at the plug-in. My point is that "Fade Length" could be taken as the initial length selected for the fade, not the outcome length, which makes the ;info line potentially confusing. "Fade duration" in the Help isn't ideally clear either. Probably it should be "selection to be faded"?

I still think there could be a case for "idiot's fade". We're replacing an effect that had no user interaction at all.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual
Gale Andrews
Quality Assurance
 
Posts: 13833
Joined: Fri Jul 27, 2007 12:02 am

Re: Cross-Fade (revisited)

Permanent link to this post Posted by billw58 » Sun Oct 23, 2011 5:33 pm

Steve:
Some initial comments. I've just started playing with it.

I think the cross-fade length should be eliminated from the dialog, and whatever selection the user has made should be cross-faded. You have to make a selection in order for the effects menu to be enabled. As it stands now, if I select exactly the region I want cross-faded then invoke the effect, I need to enter exactly half the length I have selected. If the length I enter is too long I get an error, if the length is too short audio is deleted. The latter is probably not what the user wants or expects.

Examples (I've set snap-to seconds to keep it simple)
1) Select 4 seconds and ask for a 2-second crossfade
xfade01.png
xfade01.png (107.04 KiB) Viewed 3318 times

xfade02.png
xfade02.png (103.86 KiB) Viewed 3318 times

This is fine.

2) Select 16 seconds and ask for a 2-second crossfade
xfade03.png
xfade03.png (112.1 KiB) Viewed 3318 times

xfade04.png
xfade04.png (87.02 KiB) Viewed 3318 times

Audio has been deleted from the middle of the selection. While this might be considered a "feature", I found it annoying and counter-intuitive.

Also, I think users will be more comfortable making a selection by listening then applying the effect than having to think about how many seconds the fade should be. This is already the case for fade out and fade in, so why not make it consistent for cross-fade?

-- Bill
billw58
Forum Staff
 
Posts: 3160
Joined: Wed Aug 12, 2009 2:10 am
Location: Waterloo, Ontario

Re: Cross-Fade (revisited)

Permanent link to this post Posted by steve » Sun Oct 23, 2011 6:24 pm

Thanks for the comments Gale.

Gale Andrews wrote:That should read "1.3.4" by the way.

If this is included in Audacity I think that line can be omitted entirely. If it is only available as an optional plug-in, then I agree that it should say exactly which versions it works correctly on. I've only tested with Audacity 1.3.12 to 1.3.14 so far. Are you saying that it works in Audacity 1.3.4 but not in 1.3.3?

Gale Andrews wrote:I thought we wanted "Cross-Fade" with a hyphen given we don't use the more common "Crossfade"? Not that I care as long as we are consistent.

Personally I'd prefer "Cross-Fade" but I was being consistent with the current "Cross Fade In" and "Cross Fade Out".
Fixed.

Gale Andrews wrote:No need for "," before "or"

Fixed.

Gale Andrews wrote:Should not "mid-point" in the Help be "midpoint"?

Fixed.

Gale Andrews wrote:Then maybe "Strength of fade midpoint" instead of "Curve (increase to boost mid fade)"? I find a second "Curve" concept in addition to shape confusing.

The term "curve" is used on DJ mixers (and several other audio applications) to describe the fade shape. Increasing the "curve" setting causes the fade to be at a higher level for longer than with a linear fade. There are plenty of references to "fader curve" (for example: http://www.rane.com/note146.html )
So "Curve" is the (correct) name of the control and "(increase to boost mid fade)" is a description that I feel describes the function in a simple way for anyone that is unfamiliar with the term (similar to how we have "Q (higher values reduce width)" in the notch filter effect.

Gale Andrews wrote:Why single-quote 'Cross Fade'?

because I wanted to quote "Cross-Fade" as the name of the effect but was not sure that \" would work correctly as an escape character on all platforms, whereas I knew that single quotes work correctly. Are you aware of any plug-ins that use double quotes in the info text? (I'm mid way through reinstalling my OS at present so it's difficult for me to check).

Gale Andrews wrote:Would the whole cross-fade thing be simpler if we excluded standard fade in and out?

Yes, a little bit, but only as far as it removes some of the functionality.
Gale Andrews wrote: I think there are other plug-ins we want to add that can do more advanced fade in/out,

Yes there are, but not (currently) included with Audacity.
The inclusion of Fade-In/Out options allows more advanced users to use fade curves when creating cross-fades "properly" (across two tracks).
It also provides a raised cosine fade-out which is one feature that I find painfully absent in Audacity.

Gale Andrews wrote:Then we could say "Cross Fade' fades out the first ' x' seconds of the selection and fades in the final ' y' seconds, where 'x' + ' y' is the 'Fade Length' in seconds." Then "Fade Length" in the interface could actually be 10 seconds where there is a selection of at least 10 seconds.

I think that is just as confusing. What that would suggest to me is that the duration of the cross-fade will be 10 seconds, when in fact it will be 5 seconds.

Gale Andrews wrote: I think lots of people will select 5.5 seconds in the waveform, "Fade Length" of 5 seconds and then not understand why there is an error.

The current error message will say something like:
Code: Select all
"Error.
The selection length (5.50 seconds) is too short
for the initial 5 and final 5 seconds to fade.
For a 5 second cross-fade the selection must be
at least 10 seconds."

Does that not explain clearly what the error is?

Gale Andrews wrote:Or could there be a default "idiot's fade" where it just cross-fades the selection given to it?

(also Bill's comment "I think the cross-fade length should be eliminated from the dialog")
We have to assume that the user may not make the selection such that exactly half of the selection is the end of the first song and that the other (exact) half is the start of the second song. Let's say that the user selects the final 6 seconds of the first song and the initial 4 seconds of the second song. If the "idiot's fade" cross-faded this selection then the fade out would consist of the first 5 seconds of the first song and the fade-in would consist of the final second of the first song, plus the first 4 seconds of the second song. (Audacity Nyquist does not know when audio clips start and end.)

With the current plug-in, for a 5 second fade the user should ensure that at least 5 seconds of each song is selected. The start of the selection should be at the point where they want the first song to start fading out and the selection should end at the point where they want the second song to be fully faded-in.
This is the important concept for this plug-in and is described in the Help screen as:
When 'Cross-Fade' is selected, the fade duration is
determined by the 'Fade Length' setting. For example,
Fade Length = 3 seconds
The first 3 seconds of the selection fade out,
The final 3 seconds of the selection fade in.
The two sections are then overlapped.
In this example the selection must be at least 6
seconds to accommodate both fade sections.


Gale Andrews wrote:there is no mention that a single track or multi-track fade can be made, so people like Edgar used to doing it "properly" on two tracks may not even realise it can be done on one.

This can be easily covered in the manual - I've already got some screenshots for illustration.
It is equally valid to apply this effect to two clips in one track, or to two separate tracks. Detailed usage tips are not a practical proposition in the severely restricted Help screen space but, unlike the other included effects, basic usage instructions have been included in the plug-in.
I'm more than happy for the help screen text to be improved, but I've put as much useful information as I could fit into the available space.

On the subject of "help", the Vocoder. Noise Removal and Auto Duck are far from intuitive and could benefit from built-in help.
steve
Senior Forum Staff
 
Posts: 34304
Joined: Sat Dec 01, 2007 11:43 am

Re: Cross-Fade (revisited)

Permanent link to this post Posted by billw58 » Sun Oct 23, 2011 7:35 pm

steve wrote:
Gale Andrews wrote:Or could there be a default "idiot's fade" where it just cross-fades the selection given to it?

(also Bill's comment "I think the cross-fade length should be eliminated from the dialog")
We have to assume that the user may not make the selection such that exactly half of the selection is the end of the first song and that the other (exact) half is the start of the second song. Let's say that the user selects the final 6 seconds of the first song and the initial 4 seconds of the second song. If the "idiot's fade" cross-faded this selection then the fade out would consist of the first 5 seconds of the first song and the fade-in would consist of the final second of the first song, plus the first 4 seconds of the second song. (Audacity Nyquist does not know when audio clips start and end.)


Right. So the user sloppily selects 10 seconds of audio (as above), then asks for a 3-second fade - 4 seconds of audio will be removed from the middle of the selection. Of the six seconds selected at the end of the first song, the last 3 seconds are removed and then the fade is applied to the remaining last 3 seconds - probably not a deal-breaker. Of the 4 seconds selected in the second song, one second is removed from the start of the song, and the fade is applied to the remaining first three seconds - this is a deal-breaker: you certainly don't want anything removed from the start of the second song.

As it stands now this effect would be great for "tightening up" the between-song applause/crowd noise on live recordings. Say there was 30 seconds between two songs and you wanted to reduce it to 3 seconds - just select all the crowd noise and ask for a 3-second fade. 24 seconds are removed from the middle of the selection and the remaining 6 seconds are cross-faded into 3 seconds. Perfect.

For cross-fading songs I think it is less useful. For that I'd prefer something along the lines of the x-fade effect. With the songs on separate tracks you can rehearse the overlap before you apply the fades, and then once you make the selection across the two tracks you know you'll get exactly what you want. The x-fade effect has the limitation that you must apply reciprocal curves to the two fades. For "mix tapes" you may want to fade out the first song and have the second song start cold. Or you may want to leave the natural fade-out of the first song and have the second song fade in quickly. So I'd envision an effect that does "Fade-Out/In" only, and has a few presets for each: e.g. fast, linear, slow, S-curve, cold/slam.

-- Bill
billw58
Forum Staff
 
Posts: 3160
Joined: Wed Aug 12, 2009 2:10 am
Location: Waterloo, Ontario

Next

Return to New Plug-Ins



Who is online

Users browsing this forum: No registered users and 1 guest