Crossfade and bit perfect impossible?


I like to turn off DSP and crossfade and volume leveling because it ruins bit perfect.

I could live easily with non bit perfect inside a crossfade seconds section, but outside these sections (like say 99% of the time) there is no need to ruin bit perfect, yet it does and it’s sad.

This topic might have been covered?


Not possible to do, you have to alter the stream to achieve it digitally therefore no longer bit perfect. Needs to be analogue side to remain bit perfect but that’s out of Roons domain.

Yeah I bet there are reasons.
Yet I dare Roon to become a game changer :wink:

There must be something I don’t understand. You want to apply some DSP (i.e. change bits) but remain bit perfect (i.e. not change bits)?

I would like only crossfade, nothing else.

Understandably dsp and volume leveling needs to affect the whole song, but crossfade only the overlap. If I could have the non overlap copied in bit perfect, that would be awesome.

You can’t you altering the bits. It’s not analogue remember anything im the digital realm means altering bits to perform anything other than play the file as it is.

Don’t get hung up on the bit perfect thing. If it sounds better to you with DSP then great, no worries.

1 Like

Oh, got it. You want the stream to be altered only during the actual crossfade in between tracks. That would actually be possible, but I don’t think it’s worth it really. The only side effect of the crossfade in the middle of songs is just a bit depth increase; while not theoretically bit perfect, it should not degrade the quality in any way whatsoever. DACs do this internally anyway during D/A conversion. I would not lose sleep over it.


I played with dsp (anything that involves conversion, in Roon) and felt enough loosing-sleep over it to leave it all OFF permanently, to my own surprise actually. But this depends on the gear you have if bitperfect does make a difference or not.

(Btw readers please don’t mix between crossfeed and crossfade)

If Roon could preserve bit perfect in de non crossfade zones, which are 99% of playing time, that would be great. It would avoid unnesessary and unwanted conversion calculations in the non crossfade part.

Bit depth increase is lossless. It would be hard for Roon to get it wrong and I highly doubt it’s going to make a difference for any DAC. Trying to achieve middle-of-the-song bit-perfectness on the other hand would open it up for problems. Unless you cause a sample format change mid-stream during crossfade (which could cause some DACs to reset and briefly go silent or click/pop), you’d have to do a bit-depth reduction during crossfade to preserve format. For example, if you stream 16-bit samples, you’d have to go to 24-bit or 32-bit or 64-bit float for the crossfade, then back to 16-bit. That would require dithering and possibly some noise shaping. Again, I don’t think it’s worth the effort.


Thanks for your additions, good intel.
Signalpath: the bit depth changes have purple colors stars and indicate indeed lossless.

The crossfade has a blue star indicating processing, and I believe that to happen continuously, not only during crossfading.
Does it matter?
I just did some crossfade on/offs to compare and this time I failed to notice differences.
In the past I’ve noticed loss of “magic” due dsp actions and grabbed back to a clean bit perfect path.
This leaves me a bit confused, but for now I must admit to your reasonings.

1 Like

Glad to have helped! Many times we hear differences because we expect them.

Regarding crossfade happening continuously: outside of the crossfade window, the current track should have 100% weight so the output should be unchanged. Crossfade DSP is somewhat special in the sense that its parameters are variable in time. That’s not evident in the signal diagram.

There is no reason to try and maintain bit perfect. If it’s bit perfect coming into your system, then it’s your choice to use whatever DSP (or none) that sounds best to you. Why would you want to maintain bit perfect if some other setting sounds better? That makes no sense.

Totally agree, but I understand the psychology of bit perfect, especially when accompanied by a colored light.

1 Like

I would not generalize if bit-perfect is valuable or not. Roon seems to be a more solid partner in that regard than other software, say Usb Audio Player Pro. Leaving bit perfect and switching on dsp in UAPP cost quality (if the gear downstream is up to a level.)

Since this is a Roon forum I take all remarks here refer to Roon only, and I understand the points mentioned, thanks for all.

What an awesome turnaround in thinking!
I award you 100 (non-redeemable) points.

1 Like

I think bit-perfect coming into your system is a valuable thing. However, what you do with it from there should be a matter of what sounds best to you on your system. Trying to maintain bit-perfect makes no sense to me if something else sounds better to you.

This might be happening but there would be no way to indicate it. The “bits” you are talking about represent the amplitude of the signal. When you need to change the amplitude, like during a crossfade operation, then rounding has to occur to fit the waveform into the bits available. Those errors are less when you have more bits to work with. That’s why the conversion to 64bit; it just makes the operation more accurate.

To simplify, the entire PCM is converted to 64 bit to adjust the amplitude of the last 5 seconds. Then it’s converted back to 32 bits (max bit depth of your DAC). Now you’re sending a 32 bit PCM to the DAC so there is no way it can be “bit perfect” to the original anymore. However, if you set the max bit depth of your DAC to 16 bit there is a chance, no idea the probability of this, that when it adjusts from 64 bits to 16 bits that everything outside that last 5 seconds would land in the same place for each sample leaving you with “bit perfect” in these areas.

So, does it matter? No. If you’re using DSP then Roon is doing the right thing here. You really can’t just upsample the last 5 seconds / first 5 seconds, do the calculation, and then try to shove that part back down to 16 bits (or whatever the original source was). Additionally, there is absolutely no way to do this when you have 2 different bit depths between tracks which is why Roon takes it down to the highest bit-depth of the DAC to provide the DAC a consistent bit-depth across all tracks.

If you want bit-perfect you can’t adjust the bits.

1 Like

A reason I over valued bitperfect in Roon is that I had several times an euforic holy grail experience with dsp profiles (oratory and also own edits), but in the end none of them survived in the long run, returning to bare bitperfect for max magic. That and real qualityloss with other dsp softs, got me hooked to bitperfect.

If there is a psychologic factor to hook up on bitperfect, there is imho just as much psychological factor to hook up on a dsp profile, endlessly tweaking it in a never ending story. The ‘if dsp sounds better’ argument became a trap for me, your mileage may differ of course!

Returning to ‘bare bitperfect’ was like coming home, yes this is subjective but I’ve found as much subjectivity in dsp’s. So I had that chest large bitperfect tatoo placed. (Not! :sweat_smile:)

Now, I really like zero mod and locking into it more and more, despite initial dsp-wows that never got me to a final satisfying set.

Crossfade I would like and is not even on the DSP page in Roon. So there I desired for unaltered purity too, hence OP.
Luckily crossfade is nothing like the DSP snakepit! 5 seconds will do, case closed.

My ever meandering with dsp results got prolly atributed to non-bitperfect.

Get a Chord Mojo 2. It does cross feed and EQ in analog.