Negative delay when using audio loopback devices

Hi, when i use loopback on OSX (black hole/rogue amoeba loopback)
and insert track, and route metronome to it - and record it, i have ‘negative’ delay of that track…
can you please advise?


same goes for both mixbus and ardour

i’m looking to record instruments in-between DAWs realtime - without negative delay…

when not using loopback audio drivers, tracks are perfectly in sync (recording audio live from vst instrument to another audio track works flawlessly)

perhaps Ardour/Mixbus tries to compensate for loopback drivers, but it delays(negative) too much?
Thanks

By default the metronome plays ahead of time, so that by the time the GUI shows 1|1|0 you hear it on the speakers.

I assume you have some additional connection to actual hardware that reports the playback latency to Ardour and/or systemic latency that Apple reports for the given device (see Ardour Menu > WIndow > Audio/MIDI Setup > Advanced). This causes the metronome to be played ahead of time.

To bounce the metronome to a track, you need to make an exclusive connection from the click to the track. Disconnect the metronome from the hardware and make sure to disconnect other inputs to the track as well.

If there is ambiguous latency the “No align” light will blink (as can be seen in your screenshot), and whatever you record will not be aligned correctly.

1 Like

thanks, i’ve missed that one…
so, when i route metronome to audio track, the sign ‘no align’ starts blinking

btw, i have no other audio connections… only macbook, headphones and loopback driver


EDIT: got it - if the metronome is connected to both hardware and audio track - ‘no align’ starts blinking… i was merely anoyyed by the early metronome… i thought that the timing was messed up…
Thanks a lot Robin for solving occasional misteries for me :slight_smile:


my recording looks like this - it matches metronome (very close:D) though
is there a way to nudge metronome? i’m now comparing to other DAWs, and it feels kinda too early for my taste (not a deal-breaker, but it’d be nice)

It should be sample accurate both when doing a direct bounce as well as when using using a loopback cable.

You could add a delay plugin, but it should not be required.

but looking at these two screenshots:

  1. using no loopback (no input, only output to headphones

  2. using loopback rogue amoeba

  3. when using blackhole 64ch

only in 1st screenshot the metronome is on the grid
…to me these screenshots say ‘bug’. Let me know how i can help to troubleshoot/debug

I think you found a loophole :slight_smile:

A workaround to not directly send you down a bug-report rabbit hole, measure the time the audio is early

  • zoom in to one of the clicks
  • with the range-tool, make a range selection from the start of the sound to the grid-line
  • in the “selection clock”, right-click and change display to “samples”

Next,

  • Add x42 Delayline, Artificial Latency plugin as Window > I/O plugin under “Pre Process
    set the plugin to “Delay, do not report latency” and enter the Delay-time (in samples)
  • Connect the input of the plugin to the loophole source

Output of Pre-Proc plugins will show up like any other physical input.

As for the actual issue, please open a bug ticket at tracker.ardour.org.

I have an idea: Since Ardour 7.5 Coreaudio unconditionally adds/subtracts systemic hardware latency reported by Coreaudio for the given device. A debug build prints those values to stdout (or ~/Library/Preferences/Arodur7/stdout.log).

Since this issue is apparently only present with a virtual device, I do not consider this a release critical bug for Ardour 8.0, so investigation will have to wait until next week. I hope you understand.

2 Likes
  1. negative delay approx ~282 (not sure how precise i can measure):

  2. adding delayline plugin to i/o pre-process does not change metronome timing… i’ve tried messing with values while recording, recording only with the highest/lowest/in-between values, and metronome still records to same point

  3. i’m using Ardour8 nightly (debug version) https://nightly.ardour.org/
    and stdout does not print any latency values

ok, i’ve created an issue:
https://tracker.ardour.org/view.php?id=9459

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.