1 (edited by anthos314 2019-05-31 16:49:47)

Topic: Glitches when recording/playing DSD128 and DSD256

Hi everyone,

I have recently acquired a beautiful second hand ADI-2 Pro, and I am loving the versatility and sound quality of the device.
However making sense of the on-board menu has been an uphill struggle, and it has taken me a few days to understand how to setup playback of dsd files. DSD64 is totally fine, but DSD256 always comes with glitches. During such glitches, I see the state overview switching rapidly between 2/2 and DSD on the Pro.

Today I have tried recording, which has also been difficult to set up. I tried to use Pyramix 11 but could not find the menu to use the ASIO Madiface drive (yet).
So I used Vinyl Studio which was much easier. I set the sampling rate at DSD128 as I knew 256 caused glitches the cause of which I am not too sure of. But listening to two recordings it turns out that there are still glitches, I would say one every two minutes.

Could you please help me and tell me what I could do to avoid those please? I am a Windows user.

Thank you!

Re: Glitches when recording/playing DSD128 and DSD256

Which windows version ? If Win10 which release of it (1803, 1809, 1903) ?

Which Firmware version of the ADI-2 Pro ?

Did you install and use the RME ASIO driver ? If yes which version ?
Or are you running the device in Class Compliant mode ?

Did you try different/all USB2 and USB3 ports ?
Are the USB ports coming from chipset (AMD / Intel) or is this a port of a 3rd party chipset ?

Which mainboard do you have ?

BR Ramses - UFX III, 12Mic, XTC, ADI-2 Pro FS R BE, RayDAT, X10SRi-F, E5-1680v4, Win10Pro22H2, Cub13

3

Re: Glitches when recording/playing DSD128 and DSD256

Windows? You might see USB errors in the MADIface Series Settings dialog during DSD256 playback. That will most probably be your computer needing some optimizations. But first please answer ramses questions.

Regards
Matthias Carstens
RME

Re: Glitches when recording/playing DSD128 and DSD256

Thanks for your quick replies!
I use Windows 10 (1809), the firmware is v.90 and the RME Asio driver is version 0.9681.
The Adi2Pro is connected through USB to a USB3 port, I have not tried a USB2. They are all coming from my laptop's Intel chipset I think.

It is a Sony Vaio from 2012, and I have not seen any errors in the MADIface Series Settings dialog during DSD256 playback.

Re: Glitches when recording/playing DSD128 and DSD256

Although USB3 should be USB2 compatible it would be a good to test all ports.

You need to evaluate a test procedure which triggers the issue so that you are able to reproduce the issue reliably.
Once you have such a test procedure pls try this with all other USB ports whether the issue is the same or whether there are differences.

BR Ramses - UFX III, 12Mic, XTC, ADI-2 Pro FS R BE, RayDAT, X10SRi-F, E5-1680v4, Win10Pro22H2, Cub13

Re: Glitches when recording/playing DSD128 and DSD256

I have 3 usb ports (2 are usb3 and 1 is usb2). Both the Usb3 and usb2 ports I first tried had problems, but so far the second usb3 is fine. I did not know usb ports made a difference...

7

Re: Glitches when recording/playing DSD128 and DSD256

That's explained in the manual. Check what is connected internally to the ports. You might also want to run Latency Monitor from Resplendence to check the improvement will stay.

Regards
Matthias Carstens
RME

8 (edited by anthos314 2019-06-01 17:21:47)

Re: Glitches when recording/playing DSD128 and DSD256

Hi,

the problem is still there. Where exactly is there a mention in the manual?
turns out I was wrong. All usb ports are behaving the same way. Latency monitor says the following:
https://i.imgur.com/KPRL0xA.jpg

Any idea what I should do?
Thank you!

Re: Glitches when recording/playing DSD128 and DSD256

You need to find out with LatencyMon which driver is blocking cpu cores for so long.
You should read and try to understand the information given on the LatencyMon webpage.

https://www.resplendence.com/latencymon

"
LatencyMon checks if a system running Windows is suitable for processing real-time audio and other tasks. LatencyMon analyzes the possible causes of buffer underruns by measuring kernel timer latencies and reporting DPC and ISR excecution times as well as hard pagefaults. It will provide a comprehensible report and find the kernel modules and processes responsible for causing audio latencies which result in drop outs. It also provides the functionality of an ISR monitor, DPC monitor and a hard pagefault monitor.

LatencyMon will display the highest latencies of a kernel timer and report the highest execution times of ISR and DPC routines as well as hard pagefaults. In most cases it will also find the drivers and processes responsible for executing them. It will create a comprehensible report which also displays all sampled data in a detailed manner allowing you to perform in-depth analysis.

The audio latency problem

Windows is not a real-time operating system. All requests to the operating system are delivered on a best effort basis. There are no guarantees whatsoever that requests are delivered within a certain time frame, which are the characteristics of a real-time operating system. That is not a problem for most devices and tasks but this is bad news for audio applications (which are considered soft real-time) because they need to deliver data to the subsystem and the hardware in buffers several times per second. If one or more buffers miss their deadlines and are not delivered in time it has audible consequences which are recognized as dropouts, clicks and pops.

About DPCs and ISRs

The Windows thread disptacher (also known as scheduler) which is part of the kernel executes threads based on a priority scheme. Threads with higher priority will be given a longer execution time (also known as quantum or time slice) than threads with a lower priority. However the kernel also knows other types of units of execution known as interrupt service routines (ISRs). Devices connected to the system may interrupt on a connected CPU and cause their interrupt service routines to execute. An interrupt can occur on the same processor that an audio program is running on. Any thread that was running on the processor on which an interrupt occured will be temporarily halted regardless of its priority. The interrupt service routine (ISR) is executed and may schedule a DPC (Deferred Procedure Call) to offload an amount of work. The DPC will most likely run immediately on the same processor which means the audio application will halt until both the ISR and the DPC routines have finished execution. That is because ISRs and DPCs run at elevated IRQL which means they cannot become preempted by the thread dispatcher (scheduler). Therefore to guarantee responsiveness of the system, ISR and DPC routines should execute as fast as possible. Guidelines say that they should not spend more than 100 µs of execution time however this is often not reached due to hardware factors beyond the control of the driver developer. If execution time gets too high, the audio program may be unable to deliver audio buffers to the hardware in a timely manner.
"

BR Ramses - UFX III, 12Mic, XTC, ADI-2 Pro FS R BE, RayDAT, X10SRi-F, E5-1680v4, Win10Pro22H2, Cub13

Re: Glitches when recording/playing DSD128 and DSD256

Thank you very much for your help, I will try and get that sorted as soon as possible.

Re: Glitches when recording/playing DSD128 and DSD256

I have uninstalled my heavy Trend Micro antivirus and am now back to using the windows defender app. The Latency monitor now says my computer is fine!
Next week I'll check the reading and recording capacities of my PC but it's looking good.

Thank you for your help again!

Re: Glitches when recording/playing DSD128 and DSD256

Kaspersky and Norton are fine.

BR Ramses - UFX III, 12Mic, XTC, ADI-2 Pro FS R BE, RayDAT, X10SRi-F, E5-1680v4, Win10Pro22H2, Cub13

13

Re: Glitches when recording/playing DSD128 and DSD256

anthos314 wrote:

I did not know usb ports made a difference...

MC wrote:

That's explained in the manual. Check what is connected internally to the ports.

anthos314 wrote:

Where exactly is there a mention in the manual?

Chapter 31.12, USB Audio, explains exactly that.

Regards
Matthias Carstens
RME

Re: Glitches when recording/playing DSD128 and DSD256

Thanks a lot.
I have far less problems now recording and playing dsd, however there are still some issues.
At times the ndis.sys driver fires up the latency, and at other times it is the tcip.sys driver.