ASIO driver buffer adjustment?


#1

Because Directstream / PWD has ASIO drivers, they can be used to output sound from DAW (digital audio workstation) like computer mixing program, because they use ASIO too. DACs that are made for these programs useally have way to adjust buffer size, because there might be several tracks at high sample rate and small buffer size causes pops and clicks or even drop out. I have seen some “HIFI” DACs to have “ASIO control panel” where you can make these adjustments. I haven’t found PS Audio DACs to have this. Is there one? If there isn’t one, could you ad it in next release?

I would love to mix through Directstream!


#2

Have you tried ASIO4ALL? This may provide the flexibility you need.

DACs typically add latency of only 1ms. I would instead be looking at your recording mixing software for buffer adjustments, etc.

What exactly are you doing where you are turning to the DAC for latency adjustments. when I am mixing/recording issues arise on the recording software/mixing software side at times, but not with the DAC.

I do not use the DS in my studio, but it could easily be swapped in with no other changes made. My work is typically classical or acoustic jazz so mixing is often limited to some spot mics and ambiance mics. I address timing issues in the recording software.


#3
harbapapa said Because Directstream / PWD has ASIO drivers, they can be used to output sound from DAW (digital audio workstation) like computer mixing program, because they use ASIO too. DACs that are made for these programs useally have way to adjust buffer size, because there might be several tracks at high sample rate and small buffer size causes pops and clicks or even drop out. I have seen some "HIFI" DACs to have "ASIO control panel" where you can make these adjustments. I haven't found PS Audio DACs to have this. Is there one? If there isn't one, could you ad it in next release?

I would love to mix through Directstream!


I too was surprised that there wasn’t an ASIO control panel when I first installed the USB drivers, but unlike all of my other ASIO devices, I never needed to use an ASIO control panel for the DS.

Is there really a problem with the USB on the DS that letting you adjust the ASIO buffer size would fix?

Do you need to make it bigger because you are getting pops, clicks or drop outs?

If mixing doesn’t work for you now because of latency would making it smaller than it currently is lower the latency to the point that mixing works?

The DS wasn’t designed for mixing (i.e. the latency is longer than it would if mixing was a goal.) Adding a buffer size for ASIO would add opportunities for people to add pops, clicks and drop outs to their systems :)

Should we release a software version for the DS for use when mixing we would probably let people make the ASIO buffer smaller but right now the ASIO buffer is small compared both to the FIFOs in the DS and the latencies of the upsampling filters in the DS.


#4

Thanks for answers! So the answer is that there is no way to adjust buffer and I understand that DS was not made for mixing. It works fine for me in lower sample rates and fewer tracks, but not when they get higher.

This comes down to computer and hard drive speed (I know). When there isn’t enough those, adding buffer helps computer to do what it is doing. Latency is not really an issue here, because I’m not recording and playing at the same time - just mixing.

I have made some drum recordings few years ago and I sold my recording equipment since - also a DAC that was made for mixing. It have been fun now to remix them again with my main stereos (I have much better system now than my monitors where then). It is just not so fun because of all the pops and clicks. In my mixing program (Sonar X1) there is a button which takes to current Asio drivers control panel. When using DS nothing happens when pressing that (because there is no control panel).


#5

Ah, but most players handle longer hardware latencies by using bigger buffers to read further ahead in the files, etc. foobar2000, JRiver, etc let you set buffer sizes. That has little to do with ASIO buffers (or WASAPI buffers, ks buffers, etc.) Small ASIO buffers are used to keep the latency from incoming data to outgoing data (or vice versa) and ASIO is optimized for smaller latencies than WASAPI, etc. can achieve. But for just playing there’s no need for the low level driver buffers to be the only buffers. For example I use 16 second buffers in foobar2000 so drives have a chance to spin up in time to play, etc.

If you have problems with the DS at higher sample rates you need to adjust the buffer size for what ever program you are using to play. If you let us know what player software you are using perhaps we can help you to get it set correctly. In addition to foobar2000 and JRiver MC, I regularly use Adobe Audition and other editing/mixing programs with the DS with no problems.


#6

As Ted states, you need to increase the buffer in your playback/mixing software.

And again, check out ASIO4ALL. It has its own adjustment panel if you really want to adjust at the ASIO driver level specifically.


#7

I guess I was a little a bit hasty on this matter. It seems that the problem was a 5m (active) usb cable that I was using. Shorter cable caused no pops. But if there would be way to adjust buffer it would cure the problem. 5m seems to be too long way to information to go both ways.

These mixing programs don’t have other buffer setting, because they use only ASIO to do that. I guess I could try Asio4all (or a shorter cablewink).


#8

Hi Folks,

does anybody know if the asio4all buffer and latency parameters work on the PS USB kernel streaming driver as well ? if so, is there any way to verify it ? the reason why I am asking is I use Jplay with KS PS audio USB driver and over at jplay forums, folks are getting better results increasing the buffer and latency parameters. Though the dac related to that discussion was not a DS and the driver used was Thesycon (which has its own control panel for setting buffer and latency), I wanted to see if DS SQ can be further improved by tweaking these in my setup.


#9

In general for playback (as opposed to monitoring recordings) big buffers are much better. You only want small buffers if latency is an issue and that’s only usually when you are using a digital audio workstation for audio or video editing.

PS Audio uses Thesycon drivers too, but they disable the ASIO control panel because many people misconfigure it and then cause themselves problems - I believe the ASIO parameters are internally set to large values. The DS and DS Jr in particular are much less sensitive to the jitter issues that change with ASIO control panel settings. I still recommend the biggest driver buffer settings in JRiver and also fairly big prebuffering (I use 20 seconds). Similarly in foobar2000 I set the output buffer length to 16 seconds (no particular reason for 16 in foobar2000 and 20 in JRiver.)

[Edit]

Opps I missed that you were more specifically asking about using ASIO4ALL and then other PS Audio drivers… That’s just a bad idea. The PS Audio drivers are from Thesycon and no matter whether you use ASIO, WASAPI, etc. you are really using the same low level drivers anyway. The Thesycon drivers are pretty good and ASIO4ALL causes lots of problems with sample rate changes, etc.


#10

Ted,

I think the asio4all parameters work on the asio PS USB driver but I am not sure if it works on the KS driver too. For example, if I change the buffer below 192 samples in asio4all, I easily get pops and clicks when playing in foobar and choosing asio4all (and in turn choose ps audio driver from the asio4all control panel). This proves that this parameters have effect on the asio driver itself but there is no way to use the KS PS USB driver from asio4all control panel. I have been a kernel/device driver guy in freebsd/linux all along and that too in networking field and honestly don’t understand the difference and architecture between the asio and ks driver in windows frown Is there any way I can find it out ? Additionally, since you said that the PS disables ASIO control panel, can I get a test build with it enabled and try it out ?


#11

As I mentioned, with Thesycon all of the various drivers for Windows all end up in the very same place, so the only reason to choose one over the other is for picking which Windows features you want. (e.g. fade in/out with Direct Sound.) As I mentioned, in general, ASIO drivers are used for low latency, e.g. audio editing, and are the usually the most twitchy and buggy drivers out there. But they have the reputation of keeping Windows from messing with the sound as much. With the Thesycon drivers that we use that’s not the case: you can have one device using ASIO and another WASAPI and they can be mixed together by the Windows audio stack. In Windows land after WASAPI came along there was no particular reason to use Kernel mode drivers. WASAPI is the replacement for kernel mode drivers and has the benefit of isolation from bugs in the kernel mode drivers affecting, well, the kernel. WASAPI also provides exclusive mode, etc. which give the control you need to guarantee bit perfect playing. Once again with Thesycon drivers you can get bit perfect playback with any Windows output method: ASIO, WASAPI, KS or Direct Sound. Of course if you are using the foobar2000 foo_input_sacd plugin and it’s ASIO proxy you need to use an ASIO driver if to play DSD. In, say, JRiver there’s no particular advantage to any particular Thesycon driver.

With Thesycon drivers putting ASIO4ALL in the mix can only lead to trouble and can’t really make anything sound better: the only real purpose of ASIO4ALL is to provide an ASIO interface when your hardware doesn’t have ASIO drivers. It doesn’t provide what’s expected from real ASIO drivers, namely low latency and (compared to the Thesycon ASIO drivers) can only add bugs. The buffering settings in ASIO4ALL are only for it. The drivers it vectors to still have their own buffering settings that ASIO4ALL doesn’t affect. Once again using ASIO4ALL can only lead to more bugs when talking about PS Audio audio drivers.

No we can’t have test builds of the drivers out there - customer support of Windows USB drivers is already hard enough and we will soon be providing a newer version anyway. And FWIW our current install doesn’t even install the control panel so it’s not just a question of enabling or disabling the control panel - it doesn’t exist in our system and if we put it back in we’d need to debug it, debug it’s installation, etc.

The things that make many other systems sound better don’t necessarily make the PS Audio drivers and hardware sound better - the Thesycon drivers all do the same things and run the same code under the covers and the DS and DS Junior both are much less sensitive to jitter from any source (that isn’t to say that the character of any EMI or other electrical pollution on your audio system won’t change with differing drivers, but those changes will likely be different than they are for other DACs.)


#12

Ted, thanks for the explanation and I understand.

Two follow up questions

  1. Since there is no control panel, there is no way of setting any of the buffer/latency parameters, I would assume PS audio have already played with different settings and chosen the best default values for these or the original default values of the Thesycon driver is unaltered and the DS is tuned based on those values ?

  2. Could you provide an approx timeline when the new version will be available and what are we expecting out of it ?


#13

I actually don’t know which values are hard coded into the PS Audio USB drivers, but I can say that with the four or five other Thesycon based XMOS things I have laying around all settings work reliably on a properly setup computer but less real time capable computer setups need the longer buffers, etc. The defaults are nearer the longer end which is fine for listening to audio.

PS Audio is working on packaging up a new release of the OS for the DS and DS Jr called Torreys, Paul has mentioned it in a few posts. I doubt it will be released in less than a month or longer than 5 or 6 months :slight_smile: Because of the number of improvements in all parts of the DS (the Bridge II for at least Roon support), the FPGA (rewritten code and a few new features), the USB drivers and the USB code for the XMOS chip (Native DSD) and probably some more features that I’m not aware of in the UI, etc. it’ll take a little time to make sure that everything works well together and sounds good together. For example I fully expect at least one more (if not two more) revisions of the FPGA code just for sound quality tuning. I can say that I like the rewritten FPGA code and that I’ve got a few new features that PS Audio needs to experiment with to see if they should go in this release. I don’t want to talk about them just because they may not ever fly for lack of time to support them in the coding of the UI or perhaps they just aren’t ready for prime time (or perhaps they just make the sound suck when really used :slight_smile: )


#14

Thanks Ted. I don’t have any problems, like dropouts or pops or anything currently with the DS and quiet happy with the way it sounds. Its just that if some “no price involved” tweaks may make things even better, possibly due to the lack for tuned computer - though I “think” my setup is properly tuned with Windows running in core mode, bare minimal services/processes (AO), other optimized s/w like Fidelizer and process lasso, Bios optimized for low profile settings, there are too many variables involved in a general purpose non-realtime operating system that you never know what trick could make it even better. But I largely see what you are saying about the buffer/latency setting.

Looks like I am up for a treat with a new and better DAC in a couple of monthshappy-048_gif