USB Audio latency decreases after a few minutes?

AlbertA

Fractal Fanatic
After noticing this: https://forum.fractalaudio.com/thre...after-booting-axe-fx-iii.176573/#post-2144742

I also ran into some other interesting behavior, where the USB Audio loopback latency drops after a few minutes after USB audio streaming starts.

Using the same setup as described in here, see if you can replicate this with the following test:

  1. Power on Axe-Fx III
  2. Set USB Buffer Size to 8. If already set to 8, make sure you toggle it to some other value and back to 8 to avoid the problem described in the link above
  3. Start RTL Utility - this starts USB Streaming immediately (you can confirm if you navigate to Setup->Utilities->USB tab
  4. Measure the latency - I initially get in the neighborhood of 352 samples/7.23ms (again with the setup as described in the link above)
  5. Leave RTL Utility open (so USB audio streaming continues)
  6. Wait anywhere from around 3-6 minutes - in fact just make it 10.
  7. Measure latency again - in my system the latency dropped to 288 samples/6ms - about a 1.2ms drop
    • I also confirmed the same measurement with Reaper using a click track and recording it back through a loopback.
  8. Stop USB Streaming by closing RTL Utility (again you can confirm USB streaming stops by looking at Setup->Utilities->USB tab)
  9. If you repeat 3-7 you will see the same behavior again. Initial latency is around 352 samples, wait a few minutes, then it drops.
So maybe something is reset in either the USB driver and/or the Axe-Fx III every time USB streaming stops/starts?

Would it be possible to consistently get the lower latency number without resorting to keeping USB audio streaming always active?
 
I see the same thing here. It starts out about 100 samples too high. After 5 minutes, you can adjust the usb buffer size and the latency will then be correct. There are several other events that trigger this besides an Axe-FX reboot:

  • Quitting all apps that open a usb stream to the Axe-FX.
  • Unplug/plug usb cable.
  • Import preset.


This makes it very difficult work around the bug where the usb buffer size is screwed up when turning on the AxeFX.

Edit: I'm seeing a slightly different behavior than what you described. In your step 7, it isn't enough for me to simply re-measure the latency at that point. I must again adjust the usb buffer size before measuring the latency. If I don't adjust the size at that point, the latency does not go down.
 
Last edited:
Note you can see "USB streaming" activity if you look at Utilities->USB screen in the Axe-Fx III. When no activity is happening (no apps sending audio, etc) you'll see both bars at half without any movement.

Note that Input/Output in that screen is from the perspective of the Axe-Fx - so
  • output => computer host USB input
  • input => computer host USB output
What I've observed is when you first start USB streaming (in my case, I just open up PianoTeq stanalone app, which uses JUCE + ASIO in windows) - the output bar will slowly fill up over the course of 4-5 minutes eventually overflowing - the audio is then distorted, but eventually recovers (if it doesn't flicking the USB Buffer size parameter always recovers it) and after that point the output buffer level seems to remain stable.

I've left the Axe-Fx III on for a couple of days, with PianoTeq active on the background and after that initial overflow - it never occurs again and latency remains stable.

If the problem was from my computer - you would then think that this cycle would continue forever, always overflowing.

So whatever action is being taken after the overflow at the Axe-Fx III side - perhaps that should be the way to initialize the USB stream - maybe there's an off-by-one error somewhere? :)
 
Same here. It's still changing at 4 minutes, but stable at 5 minutes. At that point, it will be fine for days...as long as I avoid the various actions I mentioned above. It's odd that importing a preset affects this, but that's what I've observed. As I mentioned, I see something different at step 7 than what you've described. Also, the fact that I'm doing this on a mac further confirms the problem is in the Axe-FX.

Edit: By the way, I believe following the instructions in the user manual about resetting the stream when adjusting the buffer size will actually make things worse.
 
Last edited:
@GlennO yeah I also see it with preset import - strange.

Otherwise stable after 4-5 mins as long as I keep USB streaming open (usually with an ASIO plugin or just keeping RTL utility open).
Still happens with Axe-Fx III Firmware 20.00 + USB Firmware 1.11, windows driver 5.30
 
Back
Top Bottom