Vincent Burel wrote:well, 512 buffer size work perfect on local wired network.
Ah, but the question is what does "perfect" mean and in what context. Are we comparing it to analog cables? Or is our baseline Zoom or similar?
My perspective is: as low as possible latency, given what hardware would allow for, for usage in live music applications. For musicians to be able to play together, maximum acceptable latency is around 10ms. Even that feels uncomfortable for some musicians. Perfect values would be 5ms and lower.
I just did a local test on my local LAN network like this:
Code: Select all
Computer 1: [Mic->Centrance Mic Port->Voicemeeter Potato->VBAN]
-> 1Gbps Ethernet Switch ->
Computer 2: [VBAN->Voicemeeter Potato->Focusrite Scarlett 6i6 2nd Gen->Speakers]
Then, I recorded the sound with my phone, via it's built in mic. The sound I was making was snapping my fingers, so that my phone could capture both the direct sound from my fingers and the sound from the speakers. Then I imported that recording into Reaper, and with zoom-in and cutting, found how far apart in time those two sounds are, and the result is:
31ms
Now, for someone that doesn't really care, that could sound perfect.
But, for a musician, that's bad. That's unusable in live situations.
Sampling frequency was 44100 Hz, throughout. My Centrance Mic Port's ASIO was set to 45 samples. My Focusrite Scarlett 6i6 2nd Gen's ASIO was set to 16 samples.
Hence, that leaves me with 30ms of latency introduced by VBAN alone.
And my question here is:
why?
If I have a sufficient hardware, fast CPUs, good ASIO drivers, 1Gbps networks, then, why can't I go lower than 30ms latency with VBAN?
And, in 10 years from now? Even if we will all have 128 cores of CPUs and 10Gbps networks, VBAN will still enforce 30ms latency on us?
What I am trying to explain and show here is that presuming that something is good enough, simply because our experience leads us to believe it is, doesn't make a good, future proof standard that could be used in many different situations. By standardizing VBAN buffering to 5 predefined values we are actually limiting VBAN to only a small subset of all global possible usage scenarios. Just imagine if your local ASIO driver had "Low", "Mid" and "Fast" buffer options, how limiting that would be. Saying that VBAN's buffer sizes of "Optimal", "Fast", "Medium", "Slow" and "Very Slow" is good enough for everyone is the same as the famous saying that "640KB is enough for everyone". And, going forward, it will just make VBAN unusable for some applications, which will force users to search for alternate solutions, and will limit VBAN in what it can do, and, slowly but surely, it will be left behind.