A question about latency and recording.

Hi all,

I have a question about the way that Cubase deals with audio recording and latency.

When you are recording audio is Cubase supposed to compensate for any input latency? For instance if there is 10ms of latency does cubase shift the audio over 10ms??

No, it should shift it 10ms. i.e it should be in time!

Yes - given the audio driver reports the correct latency figures.

That is what I thought. This does not seem to be happening. I’m using an onyx 400f with the onyx drivers and they are up to date.

When I record with very low latency it seems to work ok but with higher latency the track I record seem to be later.

I tested this by putting up headphones to a mic and recording the click at high an low audio buffer settings and the alignment of where cubase places the recorded click moves at the different settings.

This should not happen right?

When you play back from within Cubase and re-record through the hardware ins/outs, you have an additional ouput latency, which also varies with buffer size.

But is it not this that cubase is supposed to compensate for? If the click you are listening to play with can’t be recorded in time then how can what you sing or play be recorded in time?
It does not make sense to me.

I doubt that.
When I record my click with an internal audio loopback on 4096, 2048 or 256 doesn’t make any difference. They are always lined out correctly and exactly the same for every buffer size and at any samplerate.

When I record with an external loopback +/- 70 samples (or 1,6ms) extra are introduced, most like due to the converters and safety buffer of my card which are obviously not reported to Cubase, so can’t be compensated for automatically.

Whitla is using a Firewire card which could introduce some extra unreported latency due to the large hidden safety buffers often used for FW devices.

Best way to start, is to do a round trip latency check and see if the real life latency is consistent with the reported latency in Cubase.
You can do this by a loopback recording with tool like the Centrance’s Latency Test Utility, (turn off your monitor speakers).

For the record, Whitla you did test with an empty project (no VST’s loaded)? Because when one VST reports a faulty latency to Cubase, it messes the entire latency compensation up.

Yes, I tried it myself, (With a direct cable loopback though) and the offset is the same (4 samples early) for 48 samples buffer and 2048 samples buffer, so obviously what I wrote above is not correct, sorry.

Hi Niles
Thanks for trying to help out.

I did a bunch more tests. I used the Centrance latency tester it did show up a bit of extra latency. With my buffer set at max (1024samples) it showed 37.29ms of latency where as cubase shows 34.667.

Then I tested latency in an empty project and one that has VST instruments. I tested on three buffer sizes and got these results.

Empty project
driver set to 1024 = 950 samples late
driver set to 512 = 435 samples late
driver set to 64 = 80 samples late

Project with VST
driver set to 1024 = 945 samples late
driver set to 512 = 430 samples late
driver set to 64 = 17 samples late

Then this is where it gets really strange. I decided to test this on another project (the one I was working on when I noticed the latency) and got these results:

Second project with VST
driver set to 1024 = 5000 samples late
driver set to 512 = 2060 samples late
driver set to 64 = 280 samples late

This is a huge variance and really not an acceptable result.
Any advice on what I can do to fix this situation?

Is the 34,667 input, output latency or the sum and at what samplerate?

The Centrance tool measures extra latency introduced by for instance the AD/DA and safety buffers.
This latency isn’t reported by the driver to Cubase. The difference you measured isn’t shocking though and marginal for recording on time (+/- 2,5 ms?).

This is not as it should be. It looks like there’s something going on between Cubase and your card’s ASIO driver’s reported latency. It looks like Cubase’s automatic delay compensation isn’t kicking in.
I don’t know anything about this card, so this is a long shot, but you use the latest driver for your card? Alternatively you could try to test with ASIO4ALL, to see if it’s a driver problem.

Another thing you could try is to see if results are different when "Adjust for Record Latency is ticked/un-ticked in the Cubase’s Audio System device panel (Although for me it doesn’t make any difference)

These lower figures could show Cubase IS compensating for the VST, but isn’t compensating for the latency introduced by the ASIO buffer size

This could be caused by a VST with for instance a look ahead function or linear phase function. These functions often tend to introduce a lot of latency.

For these kind of things you can use Constrain Delay Compensation with a low threshold, when recording.
This disables the VST’s exceeding the threshold.

Lots in your reply I’ll check your suggestions and answer some of your questions now

34.667 was the total of input and output that cubase reports.
This was done at 96Khz

Drivers are up to date but I wonder if something has got corrupted.

According to the Cubase manual you supposed to be able to turn on “Constrain Delay Compensation” in the project window but the icon does not appear on my project windows as can be seen in this attachment.

Perhaps this has something to do with Cubase not performing delay compensation?
No Delay Compensation.jpg

You have it hidden!

Right click in a clear bit on the upper button line (whatever thats called :laughing: ) and select the configuration that shows the constrain delay comp button.

When you click with your right mouse button on an empty part of the project windows top bar, you can select the button “Constrain Delay Compensation” to be visible.

Edit: Like Split said :wink:

34.667 ms is pretty much for a project at 96Khz with a buffer size of 1024
I think that figure should be closer to 24 ms.

Processing at 96Khz is pretty CPU intensitive. Personally I would start my tests at 44.1Khz to see if everything works as expected in basic, low stress situation, to exclude artifacts introduced by stressing the system.

For the record, it should also function normally at 96Khz though. I just ran a few tests and there was no difference between a 1024 or 256 samples recording.
I still suspect something is tampering with the reported latency to Cubase.

OK I just plugged in a different sound card, a Komplete Audio 6, and it performed perfectly.
I tested it at various buffer settings with a loopback audio click test and it lined up the recorded audio perfectly each time.

I think this means that there must be something wrong with the Onyx 400f and the way it is communicating to Cubase…
I am going to see if the firmware and drivers can be reinstalled.

Something up with the firewire interface?

Does your 'pooter have a “compatible” firewire chip?

There’s been plenty of drama about that in the Mackie domain.
I think Texas Instruments is the preferred brand, but there’s also the question of 400 or 800 speed protocol.
There have also been complaints about newer Windows OS’s changing the rules on Firewire hardware latency.
(That’s not the same as the soundcard latency we are referring to here.
Instead, the issues are about dropped/late packets over the PCI bus. -Much more insidious and hard to remedy.)

PLEASE report back with any successes or failures you may stumble upon, for everyone’s benefit.

I just tested a Motu Ultra lite in the same firewire port to rule that out.
The Motu performed the click loop test perfectly at various buffer settings.

All fingers are now pointed at the Onyx 400f as the culprit.
Since the drivers are up to date and I just tried reinstalling them to no evail is there anything else that can be done to get the Onyx work or am I shopping for sound cards now?

Just to be sure… you have 3.2.8 firmware and Version 5.6.3 Console Software and ASIO Driver