OK, I admit that I did a really bad job at explaining things in my previous post, and I apologize for that. Instead, this time I’ll give you an example of what I was trying to convey. I’m gonna use Grim’s latency offset figure in this example. The Round Trip Latency (RTL) is calculated in the following way (assuming a sample rate of 44.1 KHz, where 1 ms = 44.1 samples and a buffer size of 128 samples is used):
(A/D converter latency) + (Input Buffer) + (Output Buffer) + (Hidden Buffer) + (D/A converter latency) = RTL
This roughly translates to:
(44.1 samples) + (128 samples) + (128 samples) + (109 samples) + (44.1 samples) = 453.2 samples
Alright, let me explain where I got those numbers from (which are merely approximations and are mostly hypothetical). Usually, the converter latency will be about 1 ms each way (which we establish to be 44.1 samples at 44.1 KHz). However, keep in mind that this value varies from converter to converter as some may work faster than others. Also, the speed of the A/D is usually slower than the speed of the D/A, so they may not be the same value. But, for the purpose of this example, I made them the same value. The I/O latency is a given since that’s what we change in Cubase when we adjust latency via the Device Setup window. The hidden buffer value is simply the number I got from Grim’s offset, and this is usually the value that doesn’t get correctly reported to Cubase by the driver.
So, going by the formula above, if i set my buffer size to 128 samples and need 109 samples of offset in order to make my recordings sample accurate, then I will still need 109 samples of offset when setting my latency to any other value (whether it be 64 samples or 2048 samples of latency) because the converter speed and the I/O buffers will be reported and thus correctly compensated by Cubase while the hidden buffer is not.
Even audio interfaces from the same manufacturer will have different amounts of hidden buffer and converter latency added to them, so it’s no surprise why Grim may need a different offset amount (even at the same sample rate and buffer size) as you and I will need. This is why it is important to check the RTL of your device (which you only have to do once).
Keep in mind that I’m giving you a very simplistic example here as this is a more complex process. But hopefully you get the idea.