Hands on Latency

Hey people,

I lowered the buffer-size to 56 instead of 72 like in my tests above. Now the latency looks much better! It’s as good as the Behringer.

So, @brad could you give us some background-informations about the “granularity”? I haven’t found much about this in the internet. Why can I not set the buffer-size to 64 like with other audio interfaces? Or does the driver count it up by 8 though if I set it to 56 it means 64 in reality?

Thanks!
Chris

Just an observation. The first graph shows what appears to be a switch bounce of 1 millisecond; the third graph shows one that lasts about 750 microseconds. I had read that a switch can bounce “up to 400 microseconds” before it settles down. I guess the person that quoted that didn’t realize that some switches can bounce much longer before settling down to an On state. Doesn’t matter much to humans, but microprocessors are pretty darn quick. Thanks for the graphs.

It’s just part of the ASIO spec and how driver indicates to the host what buffer sizes it supports.

Strange thing… because the Focusrite Interface comes with an application called “ASIO Control Panel”. Here I can set the samplerate as well as the buffersize. And here I can choose from the “normal” values like 32, 64, 128, etc. pp. But Cantabile shows a completely different list.

Sounds like an issue with their driver. Do other hosts to the same?

I’ll doublecheck today afternoon (and also reply to your email regarding the BSOD).

I just checked in AsioLinkPro, and got this:

But in Focusrites own control panel I see:
image

In PianoTeq control panel I get:

In VB3 II the Asio control panel for the Focusrite is:

And Arturia has the same selections available as Focusrite:

When I checked with Cantabile and changed the buffer size, then the selection was reflected in the Focusrite control panel, i.e. it was possible to select something that was not on their official list.

1 Like

Thanks for the input. I had no time today to dig into it. Will do hopefully tomorrow or the day after!!

But this is already very interesting that cantabile seems to be the only host which shows such strange values…

Is it though? Looks like things are all over the place in different apps.

Of course you are right. But in the other hosts it looks like one is able to select the “usual” buffer-sizes like 64, 128, etc.

Looking into this further, it appears the ASIO spec is vague on exactly what the granularity means, especially if the minimum value is not a multiple of the granularity. I’ve pasted a screen grab of the relevant section below for reference.

This is what @FantomXR’s asio driver is returning:

asio - getBufferSize returned min=8 max=1024 pref=56 gran=16

Which could be interpreted two ways. Either:

a) starting at 8 and increasing by 16 ie: 8, 24, 40, 56, 72, 88, 104 etc…
b) multiples of 16 between 8 and 1024. ie: 16, 32, 48, 64, etc…

Note that the driver is returning 56 as the preferred buffer size, which is not a valid buffer size if you take the second interpretation - that to me suggests the first interpretation is what they mean, and what Cantabile uses.

IMHO: the driver should be fixed to return something less ambiguous.

Brad

image

1 Like

Hey Brad,

thanks for your detailed answer.
But could you explain, why Cantabile seems to be quite unique in what it returns from the driver? I ask this because I would bet on the Focusrite Support would ask exactly this because the other hosts seem to give access to the “standard” buffersizes.

At least I don’t get a BSOD anymore :wink:

Thanks,
Chris

Because the spec doesn’t say how a host should treat an ambiguous response from the driver and I’m interpreting it one way (I think the correct way) and perhaps others differently.

I’ve posted a question to the ASIO developer forum to hopefully get some clarification.

3 Likes

Thanks Brad! But please note that it’s a Focusrite interface and no RME! :slight_smile:

Oops, got confused with another issue I’m looking into… Corrected the post.

Hey @brad,

now I have the new Scarlett 8i6 3rd Gen next to me.
It is exactly the same behavior. I get those strange values as posted above. When I click on “ASIO Control Panel”, the Focusrite Panel opens and I can set a “standard” value like 16, 32, 64, 128, etc. pp. But those values do not show up in Cantabiles buffer-size-settings. If I confirm everything and run Cantabiles audio-engine, the focusrite-symbol in the task bar tells me that the buffer-size got overwritten with the size from the Cantabile-Audio-Engine-Setting.

Hm… I don’t know if it’s just a cosmetic thing or if there is something wrong… but I thought it’s worth reporting.

Just noticed there was a reply to my post on the ASIO forum questioning the meaning of the granularity setting in the ASIO spec. See here.

Short answer: Cantabile’s interpretation of the spec is correct and the driver is returning the incorrect values.

@FantomXR - did you say you had a contact at focusrite? Might be worth pointing them to the answer on the Steinberg forum.

Update. I’ve not checked this myself, but apparently this beta driver resolves this issues with incorrect buffer sizes reported by the Focusrite driver:

http://beta.focusrite.com/

Thanks Brad for sharing. I’ll check it out and report back. Hopefully today…

Yesaw!! Seems to work very well! :slight_smile: Thanks again!

1 Like