A new proposal for the latency issue on audio recording

I’ll go to the point. Latency is by definition a shame, much as we want to sell as a lesser evil but necessary. And it is far from inevitable as us believe.

The approach to solve this issue, both amateur and professional level is the same:
Try to reduce it below the threshold of our perception that is placed in the 11 ms.
And of course latencies below that threshold are acceptable from a practical point of view.

That is not the same as the audio stream synchronously over another when recorded, means that little or no perceptible. The way to deal with the issue is then to reduce it as much as possible in search of a 0 ideal, unattainable course that way “one-way”.

Information must travel so fast in order that this process goes unnoticed. It is a wrong approach. Never yield a 100% accurate result, as much it can partially bridge the gap.
Moreover, such approach requires some technical resources and therefore economic.
We need fast hardware and software that manages how quickly so that the process remains below the aforementioned threshold.

Also in the case of layering, which is what concerns to me, it is extremely annoying. Because latency, far from being a specific magnitude and known is a value that fluctuates constantly at the mercy of thousand variables involving the processor workload.

The same latency under different conditions is not obtained, recording a track on another or recording a track about five more. Even, sadly, the same latency is not obtained in many cases performing the same operation in an instant and the next. Not to mention the additional processes to DAW that may occur in every situation.

The result with this approach to solve the problem, “the whole process as quickly as possible is done” becomes that not possible to obtain a precise value to correct. It will be more or less accurate, significant or not but never be exact. At least not from that approach.

Therefore it is required to resolve the issue in latency correction options presented by the different software, a dual action mechanism. Well, it’s a start. But not of much use if the magnitude we have to correct with a fixed value fluctuates constantly.

The proposal, which at this point should already be obvious, and that would mean latency 0 for the most sophisticated study and for the most ruinous (for purposes of recording by monitoring only the input, of course) is to force the audio interface to work with a fixed latency, given by hardware capabilities.

That is, instead of making the road one-way in which, by definition, more or less always late, use the latency correction for each recording is exactly in the place of the time it was over another.

That, plus the latency correction incorporating various driver and DAWs now, make possible to really fix the latency with which the system need work. Always fixed in a somewhat larger amount than this can provide for in a second automated action to return the audio stream to its correct position.

The issue then is not to get “as soon as possible”, ASAP, we often say some. The question is to arrive on time, take more or take less (which would be the actual system latency) in the case of the recording becomes irrelevant since it will be corrected just as this is completed, leaving the paved way for a more comfortable mix and reliable.

In the present state of things, latency correction is usually incorporated, although willful and partly on the right track is quite sterile if there is not a fixed amount on which to act.

The truth is that I don’t know the technical details of implementing either level driver or other software, but does not seem to incur a greater delay than proposed by the system should be an insurmountable difficulty as if it is the case of trying to go faster, with the known consequences (clips, pops, artifacts, or say yourself as you like).

The beauty of the idea is that it puts all studies, at least within latency recording at the same level. Latency 0 for all.

It is also a breakthrough for professional studies, I read articles analyzing the nuances of synchronized waves in phase and against phase and can hardly address the phase issue having several milliseconds of delay or advance in a recording in which, according to frequency, fit a few waves.

And with that I think we could forget all of latency in recording, at least monitoring input.
If someone knows another way to fix this issue or fluctuating latency or I’m wrong in some point please let me know.
Sorry for this long explanation and thanks a lot for your work, buddies.

If the request is that latency correction be “automatic” and flexible according to changing machine latency, the PortAudio Audio I/O interface that we use has that feature. But it works badly so we stopped using it quite some years ago.


Gale

Accurate latency compensation depends on the ability of the sound system to provide constant and predictable latency. Some sound systems, such as Jack Audio System on Linux and ASIO on Windows provide this, whereas other sound systems, such as MME and direct sound do not. This is why advanced sound systems such as Jack and ASIO are used in professional recording setups. I’m not sure whether Core Audio (Mac) or WASAPI (Windows) can provide predictable constant latency - they may be able to (my primary OS is Linux, so when latency correction is critical I use Jack).

It is inevitable, unless you use top notch hardware and a Real-time operating system. You could have a Real-time kernel with Linux and BSD, but not with Windows or OSX. It’s not that it’s impossible (a RT Windows exists fi, but only for embedded devices).

That would give you an extremely stable hardware latency in the range of 50 micro-seconds. And a software latency down to 3 milliseconds.

The approach to solve this issue, both amateur and professional level is the same:
Try to reduce it below the threshold of our perception that is placed in the 11 ms.
And of course latencies below that threshold are acceptable from a practical point of view.

Don’t forget even your speakers give you latency, because of the fact that you’re several meters away and the speed of sound plays too. Admittedly, this is very low, but it’s one of the reasons it’s next to impossible to measure latency.

We need fast hardware and software that manages how quickly so that the process remains below the aforementioned threshold.

It’s a common mistake to think that faster hardware will yield a lower latency. It just depends on how well the different hardware parts and, more importantly, OS, driver software and DAW are tuned to one another…

In the present state of things, latency correction is usually incorporated, although willful and partly on the right track is quite sterile if there is not a fixed amount on which to act.

Most automatic latency correction in DAW’s is more or less a fraud. It either depends on specific drivers and specific hardware, or a very complex measurement. And then still, it is not reliable as the OS will introduce variation.

The beauty of the idea is that it puts all studies, at least within latency recording at the same level. Latency 0 for all.

Latency zero is impossible with digital devices. It’s only possible with analog.

And with that I think we could forget all of latency in recording, at least monitoring input.

Latency is of no importance when recording, unless you have to provide monitoring from the DAW. All professional interfaces avoid latency and provide near zero latency by employing a mixer in the interface itself.

Thanks a lot for your answers folks, they are very appreciated.

I don’t have too much more to say, just to point that the importance of this issue is not exactly on recording (I am monitoring via interface) but on the mix.

If you are layering under latency an additional work of fixing every track position is required between every recording. The mechanism of the record session becomes a sort of coitus interruptus when it would be a very more natural flow. Anyway there are solutions for this at professional level, of course, but I keep the impression that is not fixed in the best way.

I guess I’ll need fight a little with Jack, although is not exactly user friendly from my point of view but will be easier than afford an analog system. Anyway 3 ms is quite good, like 1 meter distance at sound speed, which may be even a desired effect. But still out of place. :mrgreen:

Thanks for sharing your thoughts.

Microsoft claimed the following improvements in WASAPI on Windows 10:

  • New Win32/WinRT APIs and DDI for buffer size selection
    Drivers can use DDI to inform audio stack about latency capabilities and minimum buffer size (1ms, 5ms, etc.)
    Applications can use API to query system and select appropriate buffer size
    The audio stack will use the selected (smaller) buffer size as long as there are applications that need low latency
    When there are no applications that need low latency, the audio stack will use the default (10ms) buffer size
  • Audio engine optimizations
    We are reducing the processing delay inside the audio engine
    New audio stack can scale according to H/W capabilities
  • Latency measurement tools
    We have developed standardized tools that measure end-to-end roundtrip latency such as latencytest.dll.

Whether we can utilize any of those benefits, I don’t know.


Gale