My previous Audacity tests used the default latency offset of -130, resulting in measurements that were 130ms lower than they should have been. I decided to re-test the devices while also making adjustments to the latency buffer sizes, to see how low I could get the numbers without clipping.
My Yeti+Prime combo measured 70ms for both WASAPI and MME, with buffer adjustments. My Corsair headset measured 71ms. My Scarlett 2i2 measured a still very disappointing 173ms (with Focusrite drivers). I received this week a gen3 Focusrite Scarlett 2i2, and the latency measurements were identical to my gen2 model.
I also received this week a $8 Sabrent USB audio device, and a $16 Ugreen USB audio device. Audacity measured both of these identically at 46ms using WASAPI. My MME measurements were initially 133ms (using a 100ms buffer), but dropped to match the WASAPI measurements when I lowered the buffer to 20ms. Both of these were configured by Windows to use the default USB Audio device, and given the measurements I suspect they may have the same DAC chips.
Suspecting issues with my PC, I tried running the same tests using my Windows 10 laptop: a Dell XPS 13 9380. Even when using a 20ms buffer, I was unable to get the measurements below a floor of 123ms.
Next, I re-ran all the tests (except Yeti+Prime) on my mid-2010 Mac Mini running OSX 10.13.6. Here are the results:
Device | Minimum Latency (ms) |
Focusrite 2i2 gen2 | 5ms |
Focusrite 2i2 gen3 | 17ms |
Sabrent USB | 10ms |
Ugreen USB | 10ms |
Corsair Headset | 37ms |
For completeness and comparison, here are the results from Windows:
Device | Minimum Latency (ms) |
Focusrite 2i2 gen2 (PC) | 173ms |
Focusrite 2i2 gen3 (PC) | 173ms |
Sabrent USB (Laptop) | 123ms |
Sabrent USB (PC) | 46ms |
Ugreen USB (PC) | 46ms |
Corsair Headset (PC) | 71ms |
The USB hardware and/or drivers for Windows seems to have an enormous impact on the latency of audio. This may not be the fault of Windows, but clearly your mileage will vary a great deal depending on your specific model of computer. Based on the hardware I have, the performance is terrible. I’m no longer planning to use Windows for testing, and no longer consider it to be a viable option for the purposes of this project.
There may be other ways of getting low latency in a windows environment – I ran across this:
http://www.usb-audio.com
Not suggesting that it makes sense to put in the work to make windows audio low latency. In a community where there will be people on all different operating systems with differing technical capability, this makes it even more attractive to provide users with a tested low-latency hardware/software solution.