Hands on Latency


#1

Hey people,

today I made a small experiment. I was interested if the values, Cantabile and all other hosts show, are also valid in the real world.
The test-environment looks like this:
MIDI Out from a keyboard goes into MIDI In of the interface (in this case a Focusrite Scarlett 6i6). I’ve set up my oscilloscope with one channel connected to the MIDI In of the interface and the other channel connected to the audio-out.
In Cantabile I used Obxd for testing. Of course I switched off any kind of attack-times so I get the best impact impossible.
This first test was made at 44.1kHz @ 64 samples. Cantabile shows 1.45ms. And here is what happens in the real world:

The grid is set to 1ms. This is about 8ms! But I have to say sometimes it’s less and sometimes more. 8ms was the maximum and 6ms the minimum.

So as you can see we are talking about WAY more latency than the host shows us. So, don’t be fooled :wink:

Anyway maybe @brad jumps hin and can explain more in detail why the latency differs so extremely. Don’t get me wrong: I don’t blame Cantabile or anybody. Every host shows this… also on Mac (I tried it with Logic… same!).

The next test I’ll do is an audio in / out latency-measurement.


#2

And here is the audio-part:

I generated an audio-signal within Cantabile, send it out on out 4 which is directly connected via a jack-to-jack-cable to the first input. The first input is routed inside Cantabile to out 1. The oscilloscope is connected with the first channel on out 4 respectively in 1 and the second channel on out 1. So the result is audio round-trip-time:

Grid is 2ms. You can read the delta between both signals in the upper right: 8.52ms.


#3

I made the same tests with a Behringer UMC404HD and the results are astonishing… here we go:

At first I made the MIDI-to-Audio-test. Result:


About 4,7ms. Significantly faster than the Scarlett.

Now audio-to-audio:


5,8ms. As ADC-conversion needs time, it’s always a bit more then MIDI to audio.

And I’ve also tried setting it to 128 samples:

But I need to say one thing:
It seems that the Focusrite-Driver has a bug! Cantabile does not give me the correct buffer-sizes. See this picture:


I don’t know where Cantabile has this list of buffersizes from. Because if I click on “Control Panel” the Focusrite ASIO settings show up and there I have the standard buffersizes:

@brad What do you think?


#4

Hi Christian,

first off: good idea and surprising results so far - thanks for making this available here.:+1:

Some thoughts:

when you talk about latency of your soundcard @ 64 samples (1,45ms) it‘s the round trip for one audio buffer. The audio test includes 2 of them so about 3ms would be the benchmark.

I‘m using RME stuff and mean to remember that they add a second internal buffer of 32 bytes for USB cards (so the benchmark would be 4,5ms in my example which is not soo far from your second measurements). Dunno how other manufacturers act but there could be quite some hidden latencies involved.

Happy to see some more results. :sunglasses:

Kind regards, humphrey


#5

Reeeeeally interesting! Just a question: is this a first- or second-generation Scarlett? I think Focusrite have done a couple of things to improve latency for the 2nd Gen range. There’s always some additional buffering within the drivers and sometimes within the hardware itself, so I’m not surprised. RME have always been obsessed with keeping the “real” latency down, so I’d be interested in your measurements of e.g. a Babyface.

Impressed by the Behringer! Looks like that one could be a good piece of equipment for the backup bag…

Cheers,

Torsten


#6

Yeah, the Behringer continues to impress. There is one in my backup bag already.


#7

I’ll add my babyface to the list next week hopefully.

@Torsten It’s 2nd Gen.


#8

Ah - that’s disappointing! I had thought about getting one of the Scarlett interfaces for a smaller setup, but with this, I guess I’ll abstain…

Thanx!

Torsten


#9

Well… I hope it’s just a bug in the communication between Cantabile and the Focusrite driver. Those wrong buffersizes look strange… and so do the results… maybe there is a causality.


#10

It comes from the ASIO driver. If you look in the log file for a line like this:

asio - getBufferSize returned min=64 max=2048 pref=256 gran=8

That’s what the asio driver is returning. The minimum buffer size, the maximum buffer size, the preferrerd buffer size. The granularity which tells when sizes between min/max there are. If granularity is a positive number its an increment from minimum to maximum. In the above example that’d be 64, 72, 80 … 2048 (+8 each time)

If the granularity is a negative number, then the min size is doubled each time till the max is reached. So, this:

asio - getBufferSize returned min=64 max=2048 pref=256 gran=-1

means 64, 128, 256, 512, 1024 and 2048.


#11

Dear Brad,

thanks for your comments. Interesting.

So I guess I’d need to live with the latencies :frowning:


#12

I forwarded the results to Focusrite US and Germany. I don’t expect much. But it’s worth trying.


#13

I have had really good feedback from Focusrite support, so I would expect a little more :-). Keep us posted.


#14

I’ve been using Focusrite 18i8 for 3+ yrs. No latency problems whatsoever. That’s not to say that there are no issues, but I have not tested latency to this extreme either. All I know is, in my little world, I have keys, electric guitar, acoustic guitar, vocals, and e-drums through the unit without noticeable latency. So if there is a problem with the 6i6, I would not know.
I do remember doing hours of research before I purchased a mid-level interface, and Focusrite was superior in several tests concerning latency and preamp quality over their competition. Since that time, I am not aware of advances, as I am not shopping for an interface at this moment.
The test is interesting, but before Focusrite users go into a
panic, I suggest waiting for info from the manufacturer, and further tests by others before speculating, and trashing the product. I would certainly not hesitate in purchasing another Focusrite. I think caution would be wise. My 2 cents, which I borrowed from 3 other people. :smile:


#15

I totally agree on your comment. I know that the Scarlett’s are famous for their stability and reliability. Anyway: I find the results very interesting and I want to know, why the Focusrite is slow compared to the behringer.

The reason for the measurement was to “unmistify” this topic and to make it more realistic. So now we all know at least that the milliseconds Cantabile and other hosts show doesn’t have anything to do with what happens in the real world…


#16

I have a Scarlett and a Behringer for my live rig. I always used the Focusrite mainly because it has a MIDI interface built-in and the other doesn’t and I figured it was onle less thing to plug in a and worry about but now I may switch.


#17

Hi Christian

I really find your test results interesting, so many thanks for sharing. The reason behind my comment was:
I was in another forum about a year ago, and someone completely bashed Focusrite over and over, from drivers to support. Other Focusrite owners were so panicked, they were considering switching just from the comments. It became ridiculous, and nasty. In the end, the main “basher” changed drivers, thus alleviating the original problem. It really wasn’t fair to Focusrite nor their customers.
I know that was not the case here (in our subdued forum :neutral_face: ), but didn’t want anyone to get the wrong impression. I did, however, take a 2nd look at Behringer. :wink:

Regards

Corky

BTW…I am not an employee of Focusrite, just like them. :smile:


#18

I do like the stuff from Focusrite too. At least the German support is great (I’m in contact with the US support too and not really convinced that they are interested in that kind of feedback, but we’ll see). I’m in contact with the sales manager here in Germany and he is very open minded. He forwarded my results to the tech team… so we’ll see next week or so :slight_smile:


#19

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


#20

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.