PDA

View Full Version : Feature request: more sophisticated xfade



mcw
2006-01-05, 03:40
Hi - any chance of you doing some work on the crossfade to make it a little more sophisticated?

Most tracks start suddenly then end in a slow fade - in those cases a good crossfade doesn't play with the faders much at all - the first track is rapidly faded at (say) 8 seconds from the end whilst the second track is introduced at full tilt with pretty much no attenuation (just enough to allow for the small contribution from the first track).

In the relatively rare case of a track ending suddenly and the next starting suddenly then the cross fader does a pretty rapid cross fade that's the same as the current squeezebox crossfade.

If you want an example of what I'm talking about try throwing a bunch of tracks at Winamp with cross-fading switched on and you'll see what I mean. It's the only thing I miss, moving from Winamp for my new squeezebox 3.

So if you tell Winamp to do an 8 second cross-fade, it takes that as a hint to start thinking about it 8 seconds from the end of the first track, but the fade sometimes happens much later, and in most cases the second track isn't faded in at all (at least, not noticeably).

Cheers,

Mark

mcw
2006-01-05, 03:49
I should say - in case you're wondering what I'm talking about - listen to the squeezebox crossfading between two typical tracks (i.e. slow fading end of track crossfading to typical start of pop/rock song) and at the moment it sounds pretty much like a fade-out followed by a fade-in. Really, the first track needs no help in fading, and the second is better off starting immediately - before too much of a gap emerges.

Cheers,

Mark

vacaboca
2006-01-05, 11:47
I was actually going to post on this topic today... the only thing I miss from my pre-SlimServer days is my crossfading. I've used a crossfade plugin for Winamp for several years that basically allows me to do more of an 'overlap' than any actual fading. I listen almost exclusively to random mixes, and prefer there to be little to no silence, with ideally some overlap at the end of one song. My basic desired requirement is the ability to have the next song start immediately once the previous song has dropped below a configurable dB level for the last time. This generally is pretty great for parties and the like, and generally isn't too bad for continuous albums,too, since the immediate fall-off of one track usually results in an essentially seamless transition.

This does require a fair amount of buffering and analysis - I'm not familiar with the buffering setup between SlimServer and the Squeezebox, so someone will have to fill me in on how possible this might be. I can imagine it either being done on the server side (sending a continuous stream, but therefore all at the same bitrate), or done better on the squeezebox itself.

Thoughts/suggestions/"you're-crazy"s?

Thanks!

PoW
2006-01-05, 15:25
I really like that idea vacaboca, it seems this would add a very dynamic quality to the crossfade. Almost as if a person were behind when the next track started.

vacaboca
2006-01-05, 15:41
That's actually why I like it - it feels a bit more like a radio or party DJ - it's always interesting to me to hear what's going to come next, and how the transition sounds... but maybe that's just me. Like I said, it's really the only thing I miss in my switch from WinAmp proper to SlimServer... I use the SlimServer straight into WinAmp when I'm at work, and with the Squeezebox3 at home, and every song change gives me a little twinge of sorrow... but everything else definitely makes it a net positive :)

JSanchez
2006-01-06, 12:31
I'd be interested to see what kind of fade the Squeezebox is doing. There are few different kinds - linear, log, exponetial, cosine. An initial enhancement could let you determine the type of fade in and fade out curve to use. A further enhancement would be to let you shape the curve - but I think that might be overkill.

jonheal
2006-01-09, 05:52
Hi - any chance of you doing some work on the crossfade to make it a little more sophisticated?

Most tracks start suddenly then end in a slow fade - in those cases a good crossfade doesn't play with the faders much at all - the first track is rapidly faded at (say) 8 seconds from the end whilst the second track is introduced at full tilt with pretty much no attenuation (just enough to allow for the small contribution from the first track).

In the relatively rare case of a track ending suddenly and the next starting suddenly then the cross fader does a pretty rapid cross fade that's the same as the current squeezebox crossfade.

If you want an example of what I'm talking about try throwing a bunch of tracks at Winamp with cross-fading switched on and you'll see what I mean. It's the only thing I miss, moving from Winamp for my new squeezebox 3.

So if you tell Winamp to do an 8 second cross-fade, it takes that as a hint to start thinking about it 8 seconds from the end of the first track, but the fade sometimes happens much later, and in most cases the second track isn't faded in at all (at least, not noticeably).

Cheers,

Mark

MCW,

I agree with you that in most cases, the fading scenario you have proposed works best. You lose something from the great majority of selections by fading them in. The only instances I can think of where fading tracks in would be preferable is when the tracks are from a live album, or possibly certain classical pieces where movements flow into each other.

But, I don't think simply overlapping is desirable -- you effectively raise the overall volume of your output during the transition, which to me, sounds rather jarring and unnatural.

vacaboca
2006-01-09, 06:33
Jon, with respect to the effective raising of the output during transition, in practice I've never actually experienced it like that... I have things set so that when the first song drops below a certain level *for the last time* (my current configuration on winamp is -10db, but I've often used -24db), you start the next song at full volume, and fade out the first song over the rest of the buffer... usually this results in what sounds like a pretty quick transition. For a song with a long fade out, the overlap can sometimes be weird, purely due to the source songs being overlapped.

I'm definitely not suggesting this is something that everyone would like - but I've been DJ'ing parties (and listening to it this way myself) using this exact setup for several years, and have had a lot of positive comments from happy listeners about how good things cut together.

My main point is really along the overall lines of having more crossfade options - if you have things setup with any sort of mixing buffer, something other than the current crossfade really would be nice. I think I'd actually be happy with the current crossfade as is, if I only had the option to not fade in the next song, but just fade out the old one.

jonheal
2006-02-27, 16:23
Some time ago, vocaboca suggested a more pleasing crossfade would be one that would start the next track at full volume at some point during the previous track's fade out.

I agree 100% that this is the way to go. Myself, I turned crossfading off because I can't stand the effect of songs fading in. The one instance, however, when fading in would be appropriate is with live albums and the like where the music continues across tracks.

I racked my brain with this one, trying to come up with a way that these exceptions could be handled intelligently by SlimServer without having to resort to some sort of additional track tagging.

Then it occurred to me that tracks on albums like I described above are probably gapless. Perhaps SlimServer could check for a gap preseeding the track about to be played. If a gap is found, start song at full volume. If no gap is found, fade in.

radish
2006-02-27, 16:27
Some time ago, vocaboca suggested a more pleasing crossfade would be one that would start the next track at full volume at some point during the previous track's fade out.

I agree 100% that this is the way to go. Myself, I turned crossfading off because I can't stand the effect of songs fading in. The one instance, however, when fading in would be appropriate is with live albums and the like where the music continues across tracks.

I racked my brain with this one, trying to come up with a way that these exceptions could be handled intelligently by SlimServer without having to resort to some sort of additional track tagging.

Then it occurred to me that tracks on albums like I described above are probably gapless. Perhaps SlimServer could check for a gap preseeding the track about to be played. If a gap is found, start song at full volume. If no gap is found, fade in.

Couple of points:

(a) The gap doesn't precede the next track, it's at the end of the current one.
(b) If you have gapless tracks you shouldn't be crossfading at all, you should be playing them straight through. Crossfading is simply a hack to try and make non-gapless tracks sound gapless.

jonheal
2006-02-27, 16:30
Couple of points:

(a) The gap doesn't precede the next track, it's at the end of the current one.
(b) If you have gapless tracks you shouldn't be crossfading at all, you should be playing them straight through. Crossfading is simply a hack to try and make non-gapless tracks sound gapless.
I was thinking in terms of a playlist of selections from different albums. In general, I would not want songs to fade in ... unless a selection in the playlist is a track that sounds WEIRD not fading in, like a track from a live album.

Regarding a), then maybe SlimServer could examine the album track preceeding the next playlist track to check for a gap.

Michaelwagner
2006-02-28, 05:03
Crossfading is simply a hack to try and make non-gapless tracks sound gapless.
Odd.

That is a reversed idea of cross-fading from what I had in mind.

To my mind, cross-fading should make a gap that is there sound more professional.

I appreciate the fact that Slim implemented cross-fading, but they, IMHO, got it all wrong.

To my ears, cross-fading is seldom needed going routinely from one track to the next (the only place it's implemented by the SB2/3), because, as was pointed out in this thread, either
a. It's an album progression, and the artist/recording engineer/someone already took care of it or
b. most songs have a bit of fade-out at the end anyways.

Sometimes, in DJing, you might want to have the tips and tails step on each other, and it's kinda handy there, but that's not the "normal" application for an SB, I'm sure.

Where I find it really jarring in the living room (the "normal" location for an SB) is the other case ... skipping around from one track to another. I'm either looking for something, or just decided I didn't feel like Steppenwolf at the moment, or whatever. I'd like a fairly rapid (2 or 3 second) downfade on what I was just listening to, followed by a quick up-fade on the next material. All 3 numbers (downfade amount and duration, upfade duration) programmable, of course. I certainly don't want to go directly from full-volume guitar solo to full-volume trumpets.

So in this case, *I* am creating a gap. I just ditched the song. I want to go on to the next one.

If I'd had a buddy over there at the stereo and I asked him to ditch this song, he of course would yank the volume knob down a bit, then hit "skip", then yank the knob again to get back to a good volume.

I'd do it myself if the Slim remote had a knob (my favorite box, the audiotron, did). So it would be good to implement this in the server code.

Or give me a knob on the remote.

Or both :-)

The way Slimserver does it now jars my ears.

My $0.02

radish
2006-02-28, 06:42
Where I find it really jarring in the living room (the "normal" location for an SB) is the other case ... skipping around from one track to another. I'm either looking for something, or just decided I didn't feel like Steppenwolf at the moment, or whatever. I'd like a fairly rapid (2 or 3 second) downfade on what I was just listening to, followed by a quick up-fade on the next material. All 3 numbers (downfade amount and duration, upfade duration) programmable, of course. I certainly don't want to go directly from full-volume guitar solo to full-volume trumpets.

So in this case, *I* am creating a gap. I just ditched the song. I want to go on to the next one.


Agreed - but that's not crossfading. Fading out on pause/stop/skip and in on play is desirable - WinAmp does it nicely - but it's not what the crossfade mechanism is for.

Michaelwagner
2006-02-28, 07:51
Agreed - but that's not crossfading. Fading out on pause/stop/skip and in on play is desirable - WinAmp does it nicely - but it's not what the crossfade mechanism is for.
Well, I'm not sure I care what it's called. To me it seems similar enough that it could have the same name. I would use a cross-fader for this function if I was DJing .. so it seems the same to me. But whatever. Call it what you will, I'd just like the function.

Danguard
2006-02-28, 08:24
Thinking about crossfading, one of the best xfading output plugin i ever seen is the "SqrSoft Advanced Crossfading Output for Winamp". You can find it here (http://www.sqrsoft.com.ar/)
It just doesnt' make a normal crossfade, it use a 20sec buffer, checking for lvl on both musics (1 at the end , 1 at the beginning) and search for the best timing to let the new one goes in. If it's impossible to do a nice xfade he make a really fast fade in of the new song, doing it nearly gapless without losing the beginning.
I'm using it on my PC (with Radio settings), believe me, it's just the best xfader for winamp, and i really would like to see something like that for a crossfader on the SB3: atm i'm not using it for the poor results he has :(
If you give it a try, i'm sure you'll understand what i mean
This should be the SB3 crossfader :D

radish
2006-02-28, 10:54
<pedantic>



I would use a cross-fader for this function if I was DJing ..


No, you woudn't (at least I can't see how you would) - you'd use a regular channel fader. A crossfader specifically mixes between two signals, that's what the "cross" bit means. You'd get the effect you want on a mixer by bringing channel A down to zero and then B up from zero, leaving the crossfader centered the whole time.


Call it what you will, I'd just like the function.
And so would I. But the first step to getting it is asking for the right thing.

</pedantic>

Michaelwagner
2006-02-28, 11:16
Dear pedantic radish:

No, you woudn't (at least I can't see how you would)
I'd put the new program in the second CD player in the head, and move the cross-fader from channel A to channel B.

Or I might do it the way you describe.

In any case, if that's not what Slim wants to call it, that's fine. I just want the function, regardless of what it's called. I'll even call it the radish function if that gets the job done. :-)

jonheal
2006-02-28, 13:34
<pedantic>



No, you woudn't (at least I can't see how you would) - you'd use a regular channel fader. A crossfader specifically mixes between two signals, that's what the "cross" bit means. You'd get the effect you want on a mixer by bringing channel A down to zero and then B up from zero, leaving the crossfader centered the whole time.


And so would I. But the first step to getting it is asking for the right thing.

</pedantic>
Maybe YOU wouldn't, but I wish in some instances, for the end of one track to MIX with the beginning of the next ... you know ... crossfade. If you're morally opposed to the idea. Fine. But please, don't presuppose that you know what the rest of us are thinking more than we do!!

jonheal
2006-02-28, 15:09
Maybe YOU wouldn't, but I wish in some instances, for the end of one track to MIX with the beginning of the next ... you know ... crossfade. If you're morally opposed to the idea. Fine. But please, don't presuppose that you know what the rest of us are thinking more than we do!!
Well, I suppose I was a bit harsh with radish.

I think we're all using the same words to talk about different things. We've got semantics problems here.

I propose that we use a common term to talk about the range of "effects" that we've discussed. Maybe "track transitions" or "transition effects."

I am guessing that what radish terms a crossfade is the effect of panning between two sources that are already playing at full volume -- which, I believe -- is exactly how the SqueezeBox currently behaves.

For myself, I would use "blended transitions between tracks" when playing a playlist at a party. But I would prefer the transition between two tracks from different albums to start a new track at full level midway through the fade of the previous track. To me, that's the most natural sounding transition "blend." It, generally, doesn't jarr you, and it keeps the vibe going.

vacaboca
2006-02-28, 16:46
I'm 100% with what jonheal just described, and in fact that's exactly how I use the SQRsoft winamp plugin described by Danguard - I want an overlap - song 2 starting at full volume *while* song 1 is ending... no volume modification happens to song 2's beginning whatsoever.

I don't care what you call it, but that's how I like to DJ, and that's how I like to listen to my music :)

Kurt
2006-08-14, 09:21
I'm 100% with what jonheal just described, and in fact that's exactly how I use the SQRsoft winamp plugin described by Danguard - I want an overlap - song 2 starting at full volume *while* song 1 is ending... no volume modification happens to song 2's beginning whatsoever.

I don't care what you call it, but that's how I like to DJ, and that's how I like to listen to my music :)

Months late to the thread here, but I wish I could do that too. I really miss this feature I use to have in Winamp.

Michaelwagner
2006-08-14, 09:39
I believe that the duration and shape of the ramp out of the old song and the duration and shape of the ramp in of the new song should all be controllable.

studley
2006-08-15, 08:36
I'm very interested in this feature. It is one of the things I miss most now that I'm using Slim.

I'd welcome any further discussions and would be happy to describe my experiences.

Thanks,

David

mcw
2007-08-14, 02:40
Just to say, as the originator of this request, that more than a year on I still miss the crossfade in winamp. I used it again the other day (on holiday, so no squeezebox :-) and it's a completely different animal to the squeezebox's crossfade. Much, much better :-(

Mark

oreillymj
2007-08-14, 08:22
I think this discussion has come up several times with no real movement on it.

Part of the reason for not implementing the Sqtsoft type fading is mentioned here http://bugs.slimdevices.com/show_bug.cgi?id=4442
Vote for this bug if you want some movement on it.

Another reason for not doing Sqrsoft x-fading is that in the current Slimserver model track 2 of a playlist does not start streaming to the SB until track 1 has finished playing. So you can't overlay the start of track 2 over the end of track 1 as you don't have the data.

This is a limitation which also impacts syncing IMHO.

mcw
2007-08-14, 08:47
Another reason for not doing Sqrsoft x-fading is that in the current Slimserver model track 2 of a playlist does not start streaming to the SB until track 1 has finished playing. So you can't overlay the start of track 2 over the end of track 1 as you don't have the data.

How can that be, given the the SB already implements (a very simple) crossfade, and so already overlays the end of the current track with the start of the next...?

Mark

Enoch Soames
2007-08-14, 12:23
I'm an ex-DJ (old-school radio type) and that's exactly the way I used to do it. Maybe "overlap" would be a better description than "crossfade" - it would be nice to have that as an added option. No volume reduction at the beginning of the next track, just an adjustable overlap.


I'm 100% with what jonheal just described, and in fact that's exactly how I use the SQRsoft winamp plugin described by Danguard - I want an overlap - song 2 starting at full volume *while* song 1 is ending... no volume modification happens to song 2's beginning whatsoever.

I don't care what you call it, but that's how I like to DJ, and that's how I like to listen to my music :)

andyg
2007-08-14, 12:48
Won't that result in some pretty unpleasant train wrecks?

mcw
2007-08-15, 01:44
Won't that result in some pretty unpleasant train wrecks?

The overlap? I think winamp does it by overlaying the next track as the first starts to lose energy, and very rapidly fading the first track once the next is playing. Luckily it's easy to demonstrate - just play a bunch of random tracks in winamp with crossfade on and you'll see just how effective it is.

That and replaygain together makes for a great virtual radio station (with Music IP joining in if I want a "radio station" with a particular vibe). It's all there on the squeezebox, with the exception of the neat segways between tracks.

Cheers,

Mark

Enoch Soames
2007-08-15, 08:07
It could in some cases - with songs that end cold, for example, or in the case of joined tracks - but if applied judiciously (by not overdoing the number of seconds of overlap, say) I think it could sound pretty good most of the time.

Fading a song with a cold end sounds pretty weird too.


Won't that result in some pretty unpleasant train wrecks?

Michaelwagner
2007-08-15, 17:57
in the current Slimserver model track 2 of a playlist does not start streaming to the SB until track 1 has finished playing.
Sorry, that's incorrect. Or rather, it was correct for SB1s (and probably SLiMP3s) but is not correct for SB2 or above. You can cross-fade up to (10 seconds I think) and it's done in the client, so clearly the server has sent the data.

eeckhoj
2007-08-16, 08:58
Never used the winamp plugin, but sounds like it pretty much does what I'm looking for on my squeezebox : decent song mixes based on the volume level of a track outro.

Basically, what I would like is to have the next song start (full volume, no fade in) when the volume of the previous song drops for the last time under a certain level (as a safeguard you could only do this e.g. during the last 10-15 seconds of a song). This would work for the vast majority of songs I think.

Of course, if it all has to be perfect (most professional radiostation software works like this), the only solution is to add some tag in each song with the "mixing point", which you can set by listening to the outro. You can even go further and specify for each song if and how it has to be faded out when the next song begins or not, etc. A lot of work, but I have to admit I would be tempted to do it, if I knew SB would use these tags ;-)

No news anyone if we can expect either of these solutions as a plugin ?

studley
2007-08-16, 10:33
Never used the winamp plugin, but sounds like it pretty much does what I'm looking for on my squeezebox : decent song mixes based on the volume level of a track outro.

Basically, what I would like is to have the next song start (full volume, no fade in)

This is primarily what many of us are looking for, as well. There are currently three fader options which are for the most part (at least for me) useless: Fade In, Fade Out, and Crossfade.

What is really needed is what SB does for Crossfade MINUS the Fade In.

I'm sure if the person responsible for the Firmware looked at it they would find it relatively easy to accomplish. The problem is that this is one of the few places we cannot touch as the fade control has been moved into the device's firmware.

I hope, at the very least, they will add this 4th option. It is what most people who are interested in Crossfade are really looking for... the current song fades out for a few seconds as the next song starts at full volume. The current Crossfade does this EXCEPT it starts the new song at zero volume and fades in. Who wants that?

Slim Firmware Guru...
PLEASE add this fourth option!!! PLEASE take a look... I'm sure you'll see it's no big deal and it will make so many of us happy!

There are lots of other cool things that could be done with crossfade, but they are significantly more challenging and probably too big to add to the devices. Hopefully they will follow at a later time or give us more control outside of the SB.

Fingers crossed,
David

studley
2007-08-16, 10:46
If this feature is of interest to you, please take a moment to vote: http://bugs.slimdevices.com/show_bug.cgi?id=1403

relen
2008-02-26, 05:34
Done!
--Richard E

mcw
2008-02-26, 05:43
Done!
--Richard E

Done? Done?! You can't just say "done" - where's the fanfare? Where's the glitz :-)

Great stuff. Presumably that'll be in the current code fork, so version 7 rather than 6? Or are you adding it to 6.5.x as well?

Wonderful.

Mark

Siduhe
2008-02-26, 05:58
Done? Done?! You can't just say "done" - where's the fanfare? Where's the glitz :-)

Great stuff. Presumably that'll be in the current code fork, so version 7 rather than 6? Or are you adding it to 6.5.x as well?

Wonderful.

Mark

I think he means "done" as it "voted and commented on the existing bug"...

relen
2008-02-26, 06:25
Whoops, yes I DID mean that I had voted for the bug, nothing more, hence the lack of fanfare. Sorry, I thought I have quoted the previous comment in my reply.

Trying to do too many things at once; sorry for raising hopes. I would LOVE this to happen myself.

Apologies,

-_Richard E

morris_minor
2008-02-26, 06:37
What's wrong with a little bit of silence between tracks?

I did a crossfade CDR compilation a few years ago and stopped playing it after the novelty value wore off 'cos it annoyed the hell out of me.

<rant>

I also get cross (being a grumpy old git) when jazz tracks fade out because the producer's lazy or performers can't come up with a good ending. Don't expect anything else from pop tracks. Anyone who's done any sort of composition will know how hard it is to get a convincing ending.

</rant - sorry!>

mcw
2008-02-26, 06:56
What's wrong with a little bit of silence between tracks?

I did a crossfade CDR compilation a few years ago and stopped playing it after the novelty value wore off 'cos it annoyed the hell out of me.

Personal preference? Or maybe you haven't experienced the winamp-style crossfade? When it's done well most - maybe all - of the annoyance fades (grin) away.

A really good cross-fader, combined with replaygain to fix the levels, plus a large music collection results in a great pseudo-radio-channel, full of stuff I like, which is what I want most of the time.

Mark

morris_minor
2008-02-26, 07:23
Personal preference? Or maybe you haven't experienced the winamp-style crossfade? When it's done well most - maybe all - of the annoyance fades (grin) away.

A really good cross-fader, combined with replaygain to fix the levels, plus a large music collection results in a great pseudo-radio-channel, full of stuff I like, which is what I want most of the time.

Mark

You're right; it's years since I used Winamp, and am now a Mac user whenever possible :o)

And it is personal preference. Good job we don't all like the same things, or life'd be really boring :o)

Favourite song? **Not Fade Away** of course (Buddy Holly version . . .)

Bob

cparker
2008-02-27, 04:43
I voted for it, there is not enough eye candy or audio tricks from the Squeezebox, the current strange fade technique isnt high end enough.

Obviously its personal preference, but I want the expensive box to woo people, otherwise I would use an ipod plugged into a hifi!

Beyond the basics this is surely a unique selling point and why you would pay more money for it :s

I might even be tempted to say its why it doesnt win against the Sonos solution because reviewers just look at the pretty stuff vs the green screen!

radish
2008-02-27, 06:51
Personal preference? Or maybe you haven't experienced the winamp-style crossfade? When it's done well most - maybe all - of the annoyance fades (grin) away.


Personally I can't stand auto-faded stuff, done by winamp or anything else. Hearing the off phase beats running over each other, unpleasant key combinations and overlapped vocals makes me cringe. I like my music mixed by an actual human, we do a much better job :)