Up-sampling to DSD with crossfeed ON cuts off at the same part of a song - even in Tidal

Hi @support

I am up-sampling to DSD256 (7th order CLANS, smooth & linear) and have noticed something strange when crossfeed is ON.

The track is Drake - Since Way Back. It doesn’t just happen with my local copy but even the Tidal track and music cuts out at exactly the same point (around the 20 second mark).

With crossfeed OFF - no issues at all with this track or any track.

My core is a Surface Pro i5 and don’t have any issues with DSD up-sampling at all. That track at the 20 second mark is an issue with crossfeed on. Roon Core is 1.3 Build 223 64 bit on Win 10 Pro

I tried using Headroom Management (I saw a post where @brian mentioned someone to add -0.0001db of Headroom Management with crossfeed) but it doesn’t fix it for me.

The error message I get is in the 2nd attachment.

My Dac is an iFi iDSD.

Music is stored locally on USB hard drive but the same thing happens when streaming the Tidal version ! Again, only with crossfeed ON.

With Sample Rate Conversion OFF and crossfeed ON - no issues with this track…

With Max PCM up-sampling ON and crossfeed ON - no issues with this track…

With DSD up-sampling at DSD64 ON and crossfeed ON - same issue at the 20 second mark.

Changing to 5th order doesn’t help at all, and changing to precise or minimum phase doesn’t help either.

So it’s some strange interaction with DSD up-sampling and cross-feed for this track.

Attached is the Tidal error at the same 20 second point of that same song. Again, only an issue with crossfeed ON and DSD up-sampling ON

My other audio settings attached

Hi @dabassgoesboomboom ----- Thank you for the report and sharing your observations with us. The feedback is very appreciated!

May I kindly ask you to please reproduce the behavior you’re reporting to us, note the time when the observations is made, and then using the directions found here, dump us a set of logs.

-Eric

Hi @Eric I’ve just messaged @support privately with my logs.

I reproduced the errors twice, right before copying the logs, so the errors should be at the very end of the logging (around 9AM) - see the track ‘Since Way Back’.

The first time is with my local file and the second time is streaming the Tidal version.

Both times crossfeed is ON and DSD up-sampling is ON and the track cuts out at the same 20 second mark.

Thanks again

1 Like

Hi again @support

I have a new Roon Core - a sonicTransporter i7. My iFi iDSD DAC is connected directly to the sonicT via USB.

With up-sampling to DSD512 again I played that same track on Tidal and with crossfeed ON and I get the exact same thing happens at the 20 second mark - only with crossfeed ON.

Just wanted to add this to the initial info.

Hi @dabassgoesboomboom ----- Apologies for the slow response and thank you for the continued feedback, but most importantly your patience.

I wanted to touch base with you because a ticket has been opened up which is currently with our tech team who are trying to understand/reproduce this behavior in house. Once their report has been updated and passed back I will be sure to update this thread asap.

-Eric

1 Like

Hi @dabassgoesboomboom ----- Touching base to let you know that the issue has been replicated in house and a fix is set into place pending our next build release.

Happy listening!
-Eric

1 Like

You guys are too good. Is it possible to get a high level explanation of how crossfeed was being naughty? It was bugging me for so long, I’m so curious!

High level is hard for this one, but I’ll tell you what happened…

The period of silence in the track was causing the crossfeed to process really tiny (quiet) sample values through IIR filters. So quiet that they caused the CPU to fall into an inefficient numerical representation for the samples. These are referred to as floating point denormals. That page describes some of the performance problems associated with them.

So basically, as soon as it hit that ~1s of silence, instead of processing it in real time, it started processing it 10x-100x slower. Which–even for a short period–is enough for the buffers to run out and playback to fail.

This is not the first time we’ve run into this problem…when I hear “dsp”, “sudden performance change” and “period of silence” alarm bells start ringing. There are a few parts of our DSP implementations that need special handling around this issue.

1 Like

Eep! Sincere apologies for causing alarm bells to ring and your blood pressure to spike Brian ! :scream:

But thanks so much for the detailed response. As per all my posts it was clear to me that crossfeed was the naughty culprit here but I obviously had no technical clue why - now I do :grin:

Thanks again