Best way of measuring soundcard latency?

Configure and optimize you computer for Audio.
Post Reply New Topic
RELATED
PRODUCTS

Post

Well, what a big rabbit hole this turned out to be. The title of this thread would have been something more along the lines of "lowest latency soundcards", had it not been for the fact that measuring and determining REAL latency is as much a nightmare for the sound world as it is for measuring the lag in the LCD monitor display world (another painful and deep rabbit hole for many). Sure we can trust the manufacturer, or our ears, or other people's ears, or benchmarks from various programs, but if we want scientific measurements, something we can really rely on, then there has to be a better way.

It all started when I wanted to buy a low-latency soundcard for my laptop. I had my heart set firmly on the Echo Indigo IOx or Echo AudioFire2 - it was relatively cheap, had great sound quality, low noise etc. That was until I read this thread over at Gearslutz where concerns were made about the large 'safety buffers' (in theory producing 4x the claimed ms).

Reports on sound latencies in general contradict each other for a given soundcard. It's hard to separate fact from fiction simply because our ears aren't perfect, hardware configurations are different, and because many measurement methods are faulty or don't take into account the full chain of lags. We can't entirely fix the configuration issue (as everyone will have a slightly different setup), but we can still get a much better idea of the actual latency by all agreeing on a decent measurement method which is consistent, reliable and accurate.

Firstly, if we can agree on the fixed latencies for USB, USB2, USB3, Firewire, PCI, and ExpressCard, then that would be a useful starting point, because it would show the absolute minimum delay over a particular interface. Unfortunately, this information is also scarce, and reported numbers over the web tend to conflict. Wikipedia has no information on latency for these ports by the looks of it.

Okay with my limited knowledge, I'll start off. This program by Centrance claims to do a decent job. However, posts like this give me cause for concern (unrealistic apx. 1.7ms roundtrip latency?), and they only work if you have ASIO.

Another method mentioned by someone else is to connect the output back to the input of the soundcard. Then record the result. This seems to be foolproof, though obviously relies on the soundcard having an input in the first place (I guess most do...). Also it means you won't be able to directly measure the pure output latency.

Any thoughts?

Post

If I recall correctly, the program you mentioned will be able to detect and compensate for the hidden buffer. You actually have to connect the sound card to itself in the manner you described in order for Centrance to work.

I use a program called DPC Latency Checker (http://www.thesycon.de/eng/latency_check.shtml) to monitor latency in real-time. I use a Roland UA-25 EX USB interface. If I start to hear clicks or pops, DPC usually shows my latency going over 10ms the moment it happens. I usually end up having to kill processes or reboot in order for the problem to go away.

Post

Right, due to the foolproof way how Centrance operates, I'm having a hard time accounting for that unrealistic 1.7ms latency I gave earlier. Any idea what gives?

Does DPC Latency Checker operate in a similar way (output to input)? Have you seen/heard any evidence that reported DPC latencies may be inaccurate?

Do Centrance and DPC always agree with each other?

Also, I'm still learning: Am I right in saying there's no 'roundtrip measurement' for something like the Echo Indigo DJx which only has an output (no inputs) ?

Sorry for the machine-gun questioning - but I reckon a full investigation would lead to a massive saving of time for everyone in the long run.

Post

Record one track mono.

Just loop the audio out on soundcard to a line input and record.
No plugins present at host.

Then export this recording as a stereo track, panned fully right and left.

Then import this audio track into a audio editor and zoom in on sample level and you can count the amount of samples later one track is.

Post

twinbee wrote:This program by Centrance claims to do a decent job. However, posts like this give me cause for concern (unrealistic apx. 1.7ms roundtrip latency?), and they only work if you have ASIO.

Another method mentioned by someone else is to connect the output back to the input of the soundcard. Then record the result. This seems to be foolproof, though obviously relies on the soundcard having an input in the first place (I guess most do...). Also it means you won't be able to directly measure the pure output latency.

Any thoughts?
Centrance uses the very same methodology as you'd do manually: you need to patch the output of the soundcard back to an input. Only then it can measure the total round-trip latency from output back to input. Its measurements are not that precise: resolution of about 0.5ms. If they had counted samples, that would have been 0.02ms.

BTW, the total round-trip latency is the only thing you can measure yourself. But since (with ASIO at least) you know the buffer size you can calculate the additional latency above the ASIO buffers. I recall with my old PCI card it was something like 2ms.
My MusicCalc is temporary offline.
We are the KVR collective. Resistance is futile. You will be assimilated. :borg:

Post

twinbee wrote:
Am I right in saying there's no 'roundtrip measurement' for something like the Echo Indigo DJx which only has an output (no inputs) ?
that is correct.
For several yrs, I used an Indigo DJ/laptop playing in a typical cover/bar band situation.
Latency was never a problem for me.

Post

MIDI can lag a great deal of course, but once we're inside the computer, everything operates at pace determined by the sample rate and buffer size. If there is too much processing the buffer wont be completed in time and the sound will glitch and you have to increase the buffer size.

So, whether you are using a PCI or USB card only affects how low a buffer size you can get away with, it doesn't add extra time. The transfer time will have to fit in the latency time.
One additional buffer might be helpful in certain situations, but it doesn't really make it easier in terms of computation or transferring, because that stuff still takes the time it takes and it really doesn't matter if it hogs time in the current buffer or the next one.

The actual D/A might have some very slight lag perhaps. Your brain lags about 15ms if you have your eyes closed. More if they are open.

Post

DELETED

Post

Hi folks!

I've reviewed over 80 soundcards/audio interfaces over the years for Sound On Sound :zzz:

However, I have found the CEntrance LTU very reliable for real-world audio latency tests - yes, it can occasionaly give different results each time, but if you watch them you should find one value appears far more often, and this is the one to note down.

I've also done my fair share of real world tests on both audio and MIDI latency and latency jitter, as reported in this two-part feature for instance:

http://www.soundonsound.com/sos/sep02/a ... an0902.asp
http://www.soundonsound.com/sos/oct02/a ... an1002.asp

Here's a feature I wrote entitled 'Optimising The Latency Of Your PC Audio Interface':

www.soundonsound.com/sos/jan05/articles/pcmusician.htm

In all these measurements I've quite often come across 'hidden' audio buffers, primarily on playback, and mostly on Firewire and USB audio interfaces where the uncertainties in audio delivery are somewhat more complicated than with PCI/PCIe cards.

MIDI latency can be particularly bad in he case of the MIDI ports on Firewire audio interfaces, largely I suspect because audio gets optimised instead - for instance, while nearly every MIDI In/Out port combination on a PCI/PCIe soundcard gives a total round trip of ~1mS MIDI latency, I've measured the same MIDI round trip on some Firewire audio interfaces as high as 15mS :-o

Don't forget also that the A/D and D/A converters also impose latency - typically around 1mS extra each when run with a sample rate of 44.1kHz.

So, if you've got an audio buffer latency of 3mS, it will take a total of 4mS to get your signals from the analogue world into your computer, and another 4mS to get it back out (8mS round trip audio latency when listening through software plug-ins)

The really tiny buffer sizes (e.g. 1.5mS) will also rise in the real world due to the converters - to 2.5mS with my example figures.

Hope you find this all useful! ;)


Martin

Post Reply

Return to “Computer Setup and System Configuration”