INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Feature Request: A Better Crossfader  (Read 4562 times)

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Feature Request: A Better Crossfader
« on: June 08, 2021, 10:52:38 am »

When working I often use Foobar for casual listening just because I like the Continuator plugin so much...

It does a very good job at crossfading songs nicely when it reaches a certain threshold in dB. It does have a lot of settings which are a bit redundant but when tweaked properly it does a better job than some of the amateur wedding DJs I've heard "perform" :)... (And being part-time DJ in my early days at high school, university etc I know what I'm talking about :)....)

Cross-fade (aggressive) is doing most of the work already and has a settable crossfade duration...
I'm sure we could achieve similar results to Foobar's continuator we would just need to add these options:

- A user settable dB Threshold to start the cross-fade sooner for very long song fadeouts...
- An S-Curve fadeout if there's audio all the way to the end for a smoother fadeout.

NO NEED for a fadein or anything else!!

 

Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42441
  • Shoes gone again!
Re: Feature Request: A Better Crossfader
« Reply #1 on: June 08, 2021, 11:57:55 am »

One idea I had was for audio analysis to fill a playback range for cross-fading that could be used.

That way the cross-fade code wouldn't really need any tuning.

The analyzer would just say "this song ends with 10 seconds of near silence, so transition before that."

It could even be settable based on the threshold volume, although that might be a little overkill.
Logged
Matt Ashland, JRiver Media Center

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42441
  • Shoes gone again!
Re: Feature Request: A Better Crossfader
« Reply #2 on: June 08, 2021, 12:00:40 pm »

However, it's worth noting that the feature "Do not play silence (leading and trailing)" pretty much accomplishes this already.  So try that if you're not.
Logged
Matt Ashland, JRiver Media Center

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72536
  • Where did I put my teeth?
Re: Feature Request: A Better Crossfader
« Reply #3 on: June 08, 2021, 01:14:52 pm »

However, it's worth noting that the feature "Do not play silence (leading and trailing)" pretty much accomplishes this already.  So try that if you're not.
Shouldn't that be on if you're playing with crossfade?
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72536
  • Where did I put my teeth?
Re: Feature Request: A Better Crossfader
« Reply #4 on: June 08, 2021, 01:21:14 pm »

True gapless fans definitely wouldn't want silence trimmed.  Whatever is exactly on the recording is what they want.
I meant crossfade.   Corrected above.  Why fade out if there's no audio?
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42441
  • Shoes gone again!
Re: Feature Request: A Better Crossfader
« Reply #5 on: June 08, 2021, 01:24:19 pm »

Shouldn't that be on if you're playing with crossfade?

We just need imeric to confirm because the options are separate today.
Logged
Matt Ashland, JRiver Media Center

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #6 on: June 08, 2021, 01:32:42 pm »

One idea I had was for audio analysis to fill a playback range for cross-fading that could be used.

That way the cross-fade code wouldn't really need any tuning.

The analyzer would just say "this song ends with 10 seconds of near silence, so transition before that."

It could even be settable based on the threshold volume, although that might be a little overkill.

I do have "Do not play silence" checked which does half of what we need but definitely helps.
Now we also need your logic "this song ends with 10 seconds of near silence, so transition before that." AND an S-Curve fadeout for songs with audio at full volume until the end.

Just a thought on how you could implement this new option let's call it "Cross-fade (dB Threshold)":

EDIT:
- S-Curve fadeout is always active and kicks-in at the number of seconds specified under track change similar to the existing Cross-fade setting.
- A user settable dB threshold value  will trigger the cross-fade.
- A user settable (could be hard-coded) time window from the end of a song to check for the dB Threshold drop at the end of a song (5-20 Seconds) If hard coded I recommend 15 to 20 seconds.


For example:

Cross-fade (dB Threshold): 7 seconds
dB drop threshold value: -7 dB
Time Window for dB drop: 20 Seconds


Voila! No audio analysis needed and messing up with tags and I think this would address both scenarios of having songs with very long fadeouts or none at all!!


Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42441
  • Shoes gone again!
Re: Feature Request: A Better Crossfader
« Reply #7 on: June 11, 2021, 03:49:25 pm »

Could you describe what you mean by S curve?

There is already smooth fading and aggressive.  Smooth tapers in and out and aggressive starts the new at full volume.
Logged
Matt Ashland, JRiver Media Center

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #8 on: June 11, 2021, 04:01:15 pm »

Could you describe what you mean by S curve?

There is already smooth fading and aggressive.  Smooth tapers in and out and aggressive starts the new at full volume.

Hi Matt. Doesn’t have to be and could be linear but it would sound better…here’s an explanation:
Slow fade -> then steep -> then slow… typical fade outs of songs pretty much all have that type of fade out at song ends.

https://manual.audacityteam.org/man/adjustable_fade.html

Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42441
  • Shoes gone again!
Re: Feature Request: A Better Crossfader
« Reply #9 on: June 12, 2021, 07:53:30 pm »

Would you be willing to sketch out the shape of fade you're proposing?  Or if you're a nerd, provide the math?

I'm open to another shape if I understand the details.

Thanks.
Logged
Matt Ashland, JRiver Media Center

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #10 on: June 12, 2021, 08:17:56 pm »

Would you be willing to sketch out the shape of fade you're proposing?  Or if you're a nerd, provide the math?

I'm open to another shape if I understand the details.

Thanks.

I’d be happy to. I’ll try to get some more info your way shortly.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10968
Re: Feature Request: A Better Crossfader
« Reply #11 on: June 14, 2021, 12:09:20 am »

An S-Curve or Sigmoid function looks like this (generically, nevermind the actual numbers)


https://en.wikipedia.org/wiki/Sigmoid_function

Instead of a linear fade, you have it weaker at the two ends, for a bit of a smoother result.

On what type of Sigmoid to use, I found this:
"A traditional S-curve fade-out: is logarithmic from the beginning up to the midpoint, then its attributes are based on the exponential curve from the midpoint to the end."
Logged
~ nevcairiel
~ Author of LAV Filters

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #12 on: June 15, 2021, 10:24:53 am »

An S-Curve or Sigmoid function looks like this (generically, nevermind the actual numbers)


https://en.wikipedia.org/wiki/Sigmoid_function

Instead of a linear fade, you have it weaker at the two ends, for a bit of a smoother result.

On what type of Sigmoid to use, I found this:
"A traditional S-curve fade-out: is logarithmic from the beginning up to the midpoint, then its attributes are based on the exponential curve from the midpoint to the end."
Matt are you ok with this info? Honestly it doesn't need to be perfect as you will hardly notice during a quick crossfade.  But an inverse of what Hendrik is showing (for fadeout) or one of the three below would be good.  If easy to implement you could offer the 3 options! (Pushing my luck here...)

In order of preference:
1. Volume_Curve_Smooth (S-curve or inverse of snapshot above)
2. Volume Curve Exponenetial
3. Linear.

4. Or all 3 as a selectable option! (Nice to have...)

Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42441
  • Shoes gone again!
Re: Feature Request: A Better Crossfader
« Reply #13 on: June 16, 2021, 12:57:38 pm »

Coming next MC28:
Changed: The smooth cross-fade is now an S-curve (feedback appreciated).

Hoping everyone loves it :)
Logged
Matt Ashland, JRiver Media Center

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #14 on: June 16, 2021, 02:21:25 pm »

Coming next MC28:
Changed: The smooth cross-fade is now an S-curve (feedback appreciated).

Hoping everyone loves it :)

Wow nice thank you!! Can't wait to try it!

Just one note though hopefully there is no fade-in on the upcoming song right? This is why Cross-fade aggressive sounds better even as-is today..
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #15 on: June 16, 2021, 03:43:19 pm »

I have audio samples for those graphs if you want them. (Can't attach...)
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42441
  • Shoes gone again!
Re: Feature Request: A Better Crossfader
« Reply #16 on: June 21, 2021, 09:24:46 am »

A coming MC28 will offer discrete choices for the s-curve approaches.  It offers normal and aggressive (which doesn't fade in).

Feedback welcome once the build ships.
Logged
Matt Ashland, JRiver Media Center

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #17 on: June 21, 2021, 09:40:32 am »

A coming MC28 will offer discrete choices for the s-curve approaches.  It offers normal and aggressive (which doesn't fade in).

Feedback welcome once the build ships.

Can't wait to try it  thx!!
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: Feature Request: A Better Crossfader
« Reply #18 on: June 23, 2021, 08:11:32 am »

This is awesome - can hardly wait to try it but I would still love to a see a much better "cold end" transition make it's way in MC.

This is one area where the software really falls down as it cannot be counted on to handle any transition with a hard stop properly.

Think Heart's "Barracuda" - back in the day this was the ultimate test to any a budding radio broadcaster to mix the next song in (with no gap whatsoever) - at the exact millisecond that Barracuda ends.

Building on what Matt was saying about having MC pre-calculate where that hard stop occurs and then pre-cueing the next song to start instantly would be amazing. Pairing this with the new S-Curve goodies would make MC the King of The Crossfade.

Hope some thought is given to this as the Aggressive mode is either too Aggressive (starts too early) or lazy - starts too late making the mix sound shoddy.

Maybe this could be something that could be assigned on a per song basis - kinda like the existing Link Tracks feature that pairs two songs together in the library each time they are played (like Queen "Rock You/Champions") etc. The feature could even be called "Dead End"!

Congrats on the release of v28!

Cheers!

VP
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #19 on: June 23, 2021, 08:45:16 am »

Hope some thought is given to this as the Aggressive mode is either too Aggressive (starts too early) or lazy - starts too late making the mix sound shoddy.

This is why I was recommending a dB threshold (in the mix :-) ) I guess silence detection is doing some of the work already.  Barracuda is indeed a good test track. I was trying it out with Foobar's continuator and it's dealing with it perfectly ie you get the last drum riff thx to the dB threshold parameter.

Let's see how the new implementation works once its out and test it out...I still don't think we need to mess with tags for this.
Logged

Chipicui

  • Junior Woodchuck
  • **
  • Posts: 52
Re: Feature Request: A Better Crossfader
« Reply #20 on: June 27, 2021, 10:52:36 pm »

I adhere to the dB threshold too.
I still use foobar2000 on occasion for this exact reason.
Continuator plugin is really well implemented, and user defined dB threshold is great to define where to start the fade.
Media Center is almost there... but still sometimes it decides to start the fade too early or too late.
I suppose MC could store the position of a user defined dB threshold crossing in the database while doing audio analysis and use it later.
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #21 on: June 28, 2021, 09:56:31 am »

I adhere to the dB threshold too.
I still use foobar2000 on occasion for this exact reason.
Continuator plugin is really well implemented, and user defined dB threshold is great to define where to start the fade.
Media Center is almost there... but still sometimes it decides to start the fade too early or too late.
I suppose MC could store the position of a user defined dB threshold crossing in the database while doing audio analysis and use it later.

After doing a lot of tests between the new S-Curve aggressive and Continuator I can say the following:

The dB threshold will tell Continuator when to start the Overlap for typical Long fade-outs ONLY...And no fadeout is applied it just lets the song fadeout play entirely (and it sounds really good...)

SO a simple dB threshold is good for studio fadeouts BUT not sufficient...We need to put some more thoughts into this...

For songs with audio up until the end it uses another triggering point to differentiate between songs with full volume up until the end...(Like a dance song)...AND the "Barracuda" types highlighted by VocalPoint...

The latter have a very sharp drop at the end of a song and I guess this is how Continuator differentiates between the 2... And it does it really well as I've tested it several times

I have to say though that the new S-Curve (aggressive) with 6s handles dance songs really well and most of the songs but yes....It is either too aggressive or not enough in some instances and a simple dB threshold would help but is not enough...AND most importantly, you won't hear the last guitar/drum beat as the crossfade will kick in too soon on Heart-Barracuda...

We now need to figure out how to let rock songs with sharp fades we want to hear play through up until the end without having the crossfade kick in too soon (Barracuda types)...
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: Feature Request: A Better Crossfader
« Reply #22 on: June 28, 2021, 10:07:12 am »

The dB threshold will tell Continuator when to start the Overlap for typical Long fade-outs ONLY...

Agreed - but dB Threshold will never work for Barracuda - unless the software can detect a massive threshold drop within a half a millisecond of Barracuda getting ready to end. If this function is to be considered in MC - you must come at it like a human DJ would - you need to know exactly when to start that next song to ensure there was no break in the mix.

With something like Barracuda or even better - Queen - Sheer Heart Attack - there is no room for error - it's either super tight (no gap) or it isn't. It's an art to get these right if mixing by ear.

VP
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #23 on: June 28, 2021, 10:16:34 am »

- unless the software can detect a massive threshold drop within a half a millisecond of Barracuda getting ready to end. If this function is to be considered in MC - you must come at it like a human DJ would - you need to know exactly when to start that next song to ensure there was no break in the mix.

If continuator can do it without reading any info from the tag there has to be a way to acknowledge that sharp drop...
Not sure how silence detection works but maybe some of this info can be leveraged to do this?

And it doesn't need to be perfect..Just better ;)!
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: Feature Request: A Better Crossfader
« Reply #24 on: June 28, 2021, 10:22:37 am »

If continuator can do it without reading any info from the tag there has to be a way to acknowledge that sharp drop...Not sure how silence detection works but maybe some of this info can be leveraged to do this?

I would think that Continuator is actually pre-caching and Pre-analyzing the audio stream as the track plays so it can "see" the drop coming and handle it accordingly.

For a Sheer Heart Attack type ending - MC is going to have to do the same - I do not understand enough about silence detection except to say that it is not optimal in many situations - if it were - I probably would not have anything to add to this thread...:)

Cheers!

VP
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #25 on: June 28, 2021, 10:43:43 am »

Specific to Heart - Barracuda...If you want to know how I think it should sound at the end of this track just set it to:
S-Curve (aggressive) - 0.1 s
Do not play silence is checked.

doesn't really matter what the next song is!
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #26 on: June 28, 2021, 01:02:13 pm »

As a summary there seems to be 3 typical song end scenarios which could be addressed this way:

1. Songs with long "and normal" studio fadeouts
Detection:
   - a dB drop of around 6 dB during the last 10-15 seconds of a song
Action:
   - start or "overlap" the next song at the dB drop and let the natural fadeout play
   - S-Curve (aggressive) set at 6-7+ seconds but I would prefer the natural fadeout

2. Songs with full volume up until the end (example: Live songs OR dance tracks already mixed on a CD without fadeouts and usually gapless)
Detection:
    - Full volume up until the end
    - No silence at all at the end of the track (gapless)
Action:
   - S-Curve (aggressive) as it is currently implemented for a specified number of seconds (4-7 seconds seems optimal)
   - already works like a charm as-is!!!

3. Songs with steep or very fast fadeout (example: rock songs like Heart-Barracuda)
Detection:
   - Very fast dB drop in a few milliseconds (0 to 1-200 ms) at the end of the song
   - NOT gapless in other words usually followed by a few seconds of silence at the end of the track
Action:
   - S-Curve (aggressive) right after the sharp drop (0.1s seems optimal 0.1s to 0.5s approx...)
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #27 on: June 29, 2021, 08:15:57 am »

I adhere to the dB threshold too.
I still use foobar2000 on occasion for this exact reason.
Continuator plugin is really well implemented, and user defined dB threshold is great to define where to start the fade.
Media Center is almost there... but still sometimes it decides to start the fade too early or too late.
I suppose MC could store the position of a user defined dB threshold crossing in the database while doing audio analysis and use it later.

Chipicui not sure if you noticed but Continuator is not very good with live songs and will not fadeout the crowd no matter what settings I try...So nothing is perfect!

(Which is one of the reasons why I crossed off my suggestion of no fadeouts for long fades...And hopefully make it easier on Matt to implement...)

"Metallica - The Day That Never comes" is another good example of a sharp fade.

I'll add examples to this list as I find them while listening...

Maybe this new crossfade could be called: Smart crossfade?  ;)

Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: Feature Request: A Better Crossfader
« Reply #28 on: June 29, 2021, 08:22:31 am »

As a summary there seems to be 3 typical song end scenarios which could be addressed this way

I see a number of other scenarios that would need to be dealt with correctly.

1. The Stop and Then Start again - think Def Leppard - Animal - where everything appears to be over but it's not really. Can't have MC start another song before this one is really over.

2. The Super Lame Cold Stop into Painfully Slow Fade In - think Heart - Barracuda into Eagles - King of Hollywood (or a lot of other songs) where Barracuda is blasting away on all cylinders and comes to a hard stop and then there is about 40 seconds of dead air while King of Hollywood takes it's sweet time getting up to a reasonable volume.

These are two other scenarios that required a deft touch in a real radio control room - especially the second one. It will be a challenge for MC to make that segue work properly.

I am sure there are more and I will add them as we go.

Cheers

VP
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #29 on: June 29, 2021, 08:43:29 am »

1. The Stop and Then Start again - think Def Leppard - Animal - where everything appears to be over but it's not really. Can't have MC start another song before this one is really over.

This is case 3 requiring S-Curve (aggressive) right after the sharp drop (0.1s seems optimal)

I thought of cases like these where you have silences in the song BUT as long as the analysis is done starting from the end of a song and only have a crossfade window of 6-10 seconds we're fine.

Quote
2. The Super Lame Cold Stop into Painfully Slow Fade In - think Heart - Barracuda into Eagles - King of Hollywood (or a lot of other songs) where Barracuda is blasting away on all cylinders and comes to a hard stop and then there is about 40 seconds of dead air while King of Hollywood takes it's sweet time getting up to a reasonable volume.

These are two other scenarios that required a deft touch in a real radio control room - especially the second one. It will be a challenge for MC to make that segue work properly.

We're not trying to replace a DJ here but address most of the cases and have a Nice (and not necessarily smooth) transition bwn songs...And a good radio DJ will let you hear that long fadein...(I personally would want to hear it!!)

But thx VP for chiming in and if you can think of other scenarios please do share so we can try them out!!
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: Feature Request: A Better Crossfader
« Reply #30 on: June 29, 2021, 09:01:02 am »

We're not trying to replace a DJ here but address most of the cases and have a Nice (and not necessarily smooth) transition bwn songs...And a good radio DJ will let you hear that long fadein...(I personally would want to hear it!!)

Understood - but my crew here (when entertaining etc) always thinks the system is off or the song stopped or something when a cold stop/long fade in occurs. It's annoying to be sure.

And back in the day when I was on the air - I would have King of Hollywood rolling for at least 10 seconds before Barracuda would suddenly stop - that seemed to work well.

VP
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #31 on: June 29, 2021, 09:34:24 am »

Understood - but my crew here (when entertaining etc) always thinks the system is off or the song stopped or something when a cold stop/long fade in occurs. It's annoying to be sure.

And back in the day when I was on the air - I would have King of Hollywood rolling for at least 10 seconds before Barracuda would suddenly stop - that seemed to work well.

VP

Good to have an expert’s opinion on the matter!!
If you have other tricky examples….fire away!


Thx VP.
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #32 on: June 29, 2021, 12:39:58 pm »

And back in the day when I was on the air - I would have King of Hollywood rolling for at least 10 seconds before Barracuda would suddenly stop - that seemed to work well.

Yes that could certainly be a scenario where a song with a very long and quiet fadein would be allowed to start sooner if below a certain dB threshold for a few seconds...But I'm afraid this would be  quite challenging to implement...

Prince - "Let's Go Crazy" is a good example...But again...I do like the long fadein and would want to hear it!
This song is also a good example for #3 of a sharp fadeout (S-Curve (aggressive) - 0.2s)
Logged

imeric

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1476
Re: Feature Request: A Better Crossfader
« Reply #33 on: June 30, 2021, 10:02:28 am »

Case 3. example(s) I'll keep populating this as I have more examples:

Heart - Barracuda  (S-Curve (aggressive) - 0.2s)
Prince - Let's Go Crazy (S-Curve (aggressive) - 0.2s)
Blue Oyster Cult - Godzilla (S-Curve (aggressive) - 0.5s)
Blue Oyster Cult - Cagey Cretins (S-Curve (aggressive) - 0.2s)
Logged
Pages: [1]   Go Up