First of all, please note that I may be missing some fundamental audio tech knowledge or use incorrect terminology. I’m doing my best to learn as I go.
Simply put, I’m unable to get round trip latency below ~50ms when using PTB. That number comes from the beta function
AudioFeedbackLatencyTest as well as external testing. I’m aiming for 12 ms of latency, but might could settle for 24.
I don’t think PTB is the cause of the latency, per se. In Audacity, when I monitor the experiment mic through the experiment headphones, or external speakers, using WASAPI drivers, I’m getting a similar amount of latency. That makes me think the cause of the latency is either inherent to WASAPI or something else in my setup. So, I’ve tried testing other things in my setup.
I ran LatencyMon, a program which looks for drivers in your system that are causing latency when an audio stream is running. Overall drivers contributed only a couple hundred microseconds of latency, so seemingly all good there.
I’m using a USB audio interface, the MOTU Microbook II. Sound from the mic can be routed through the CueMix FX (MOTU’s software for controlling the hardware and mixing/routing), and back to the headphones with ~3 ms latency. This is not direct monitoring on the interface itself; it’s doing a round trip through the USB cable. So seemingly this interface itself isn’t the issue either. For what it’s worth, I’ve also tried a Scarlett Solo, which produced even worse results, ~160 ms round trip latency.
I’ve read several blog/support posts on other websites which give Windows setting recommendations for reducing latency. None of those have helped.
I have no special sound card installed in my computer. It’s just the default on the motherboard. High Definition Audio Device is the name, if I’m looking at the right thing in the Device Manager. So I imagine that’s not helping.
Based on this Windows documentation, it sounds like WASAPI is capable of 10 ms round trip latency, but only when using the
IAudioClient3 interface. Is that interface being used in PTB? (Sorry, I don’t really know how to check this myself.)
To sum up, here’s what I’m looking for:
- To people who’ve made latency-sensitive audio experiments in Windows, what’s the lowest you’ve achieved?
- Thoughtful recommendations for how to achieve low latency. (Yes, you can tell me “use Mac or Linux” if that’s what you really think.)