Max buffer won't go lower than 120ms

I bought premium because I wanted to try and reduce the buffer, but whenever I set it below like 105 it says it has been changed to 120ms, which is very annoying.

I thought using USB would change it but it made no difference.

As far as I can see, there are no latency issues apart from the increased buffer, and it’s a bit annoying because I just want to listen to music on my phone and laptop that is properly synced, without having to manually sync it myself by pausing/playing until it’s good enough.

Any reason why this is happening and anything I can do to fix it?

I am not using OpenSL because it sounds like an underwater trash can, and I have request low latency turned off, again because it sounds like an underwater trash can.
Using Wavelet as an equalizer (uninstalling it made no difference).

I am also using Voicemeeter as well, and my PC is Windows 10.
Phone is Galaxy S8 with Android 9.

pls help ty.

Second issue
I use FL Studio, but the audio from that isn’t transmitted with AudioRelay. Any reason why this is? FL Studio also doesn’t show up in Windows 10 Volume Mixer, and the audio from it doesn’t show up when it makes sounds: I don’t see the volume bar go up.


As an aside, is there a way to stream the audio from PC, but to simply just delay the audio sent from PC so that it syncs properly with the phone? i.e. have a set delay/buffer from the PC to account for the time it takes to travel to the phone, so that the phone and PC can sync properly? This is the goal I am trying to achieve, but don’t want to take 1 year to make my own app x). Doesn’t have to be all PC audio, just music from an application like VLC or a browser.

Hey @notmyname74,

Yea, it’s annoying. The interface could be improved to show what’s happening.

Here’s an explanation:

Depending on the device, the AudioTrack output (provided by Android) needs a relatively big internal buffer.
The internal buffer’s size is the minimum amount of latency that the audio will have.

When AudioRelay detects that you set a max buffer that is lower than the
internal buffer, it automatically changes your value. Having a max value lower than a minimum value would make no sense.

To have lower latency and good audio quality, please try this version.

I guess that FL Studio is sending its output to a ASIO device, which isn’t supported by AudioRelay.

Can doing any of the following work for you?

  • If you’re outputting FL Studio to Voicemeeter

    • In Voicemeeter > Hardware out > select the same device as in AudioRelay
  • Otherwise, In FL Studio

    • Options > Audio settings
    • In device, select the one device as in AudioRelay

You could use the high buffer option in AudioRelay and advance the sound by 2 seconds in VLC (via the J and K keys).

Hello @Asapha,

Thanks for the response. This response is coming a bit late.

I used this version and it has been working better; only caveat is that the audio isn’t passed through equalizer, so there’s no way for me to make it louder without boosting the audio source from my PC, which isn’t always possible.

Well I fiddled around with the settings in Voicemeeter and FL Studio; the closest thing I got did manage to get the sound through AudioRelay, however it was delayed: not delay from my PC to AudioRelay, but delay from my keyboard to FL Studio. I presume this is a problem with FL Studio and not with AudioRelay, but thought I’d mention it anyway.

This only changes the sync of video, J and K don’t do anything with audio-only files.

The audio produced by VLC (and eveyrthing else) still goes through the same the route to AudioRelay and my speakers. I want it to be that I can cause VLC or some other application to send the audio through AudioRelay first, before it comes out my speakers, so that the time it takes for the audio to get to my phone can be offset.

Idk how hard it would be to place AudioRelay in the middle to kind of “intercept” sound before it comes out the speakers, and send it out to the clients connected to the server, after some artificial delay/buffer of maybe 500ms.

Then I suppose there could be some timing magic to get it to automatically sync, depending on how long it takes for the data to get to the client, and the length of the delay.

But with a big enough delay of 500ms, the time it takes for data to get to the phone (20ms being generous) would be negligible. I’m certain there’s been enough stuff out there built that someone has done this before, so perhaps I could find the logic needed for it.

Hopefully this makes some sense; but regardless obv it would need to be programmed. Idk if AudioRelay is open source maybe I could try do this myself lol.

Hello @Asapha,

I don’t know if you understood what I said in my last post, but I’ve found a temporary solution.

I discovered that in Voicemeeter you can delay the audio output up to 500ms, so I increased the delay of Voicemeeter to match the delay of audiorelay to sync them up.

This works great to have the audio perfectly sync’d and also use an equalizer, but it only works because when I set the Buffer amount to Medium, it sets the buffer at a constant 100ms. This way the delay will be constant between my phone and PC.

However, eventually, at some point, the connection will stutter or something, and the buffer is no longer at 100ms, but it varies between 100ms and 200ms.

Having said all this, I have two issues:

  1. AudioRelay doesn’t allow me to set my own constant buffer rate. Setting a custom buffer not only doesn’t even keep the buffer within the specified range, but also the buffer size changes dynamically.
    But this is not the case with the High/Medium/Low buffer settings. Idk why this is.

  2. I don’t know why AudioRelay doesn’t autocorrect the buffer back to 100ms after short interruption in connection or something. Every time it happens I basically have to close and reopen the application for it to fix itself properly.

All this being said, I’m on version 0.20.3. So you may have added features since then that fix these issues. Is there a way for me to update without using Google Play? I’d prefer to install the apk directly rather than interacting with google.

Thanks!

Hi @notmyname74 ,

Could you please try this version?
The range that you set in the custom buffer should be mostly respected. (min 500 max 520 ms for example)

Well, depending on what you mean by “mostly respected”, it doesn’t seem to be respecting it that much.

Whether I set a buffer zone of 1ms or 20ms, it doesn’t respect it at all. It goes up and down as it wishes.

E.g. whether I do 140-141, 140-160, 140-200, or 200-220: it varies in a range of 50-90ms.

This occurs regardless whether I use USB tethering or not. When I USB tether on the Medium Buffer setting, the buffer is 100ms constantly, so I know it’s not a connection issue.

If I set the minimum buffer to 100ms, it seems to stay at 100m, but if I set it to anything higher then it fluctuates.

The custom buffer amount should work just as good as the other buffer settings. Please look into this.

1 Like

Hi @notmyname74 , what do you think about this one?