Manual audio clip recording latency compensation

Forums

I think we had this topic once but I want to bring it into attention a 2nd time.

I have a complex setup with Insert/Send to external hardware and software. Its roundtrip latency cannot be determined by jack reliably. With LSP Plugins Latency Meter it's very easy to determine it.

It would be super cool if there was an entry in View->Options->Audio similar to ...

Applied offset (latency correction) for audio clips after recording:

[X] Automatic [ _] Manual (frames) (insert here the same ms display and latency input box as in insert sends)

In reply to by bluebell

Permalink

overriden then,...

and this applies to ALL and every audio clip that gets recorded no matter where their tracks are fed (ie. an input audio bus), no matter the session, a global, absolute and permanent value that is...

is this correct? or better asked, is this what you really want?

It might make sense as a per session value, too, but I am afraid no-one would expect to find it in the session properties.

So I think it's safest as a global, permanent value.

In reply to by bluebell

Permalink

in session properties would be the most suitable IMNSHO :)

also, now that we are at it, the following options should be provided:

  • None : disable latency calculation/compensation (not applicable to track/plugin's);
  • Auto : latency calculations are done as currently done (default);
  • Add : an additional number of frames is added to the default Auto computation (same value to all buses);
  • Fixed : a fixed absolute number of frames is set to all audio buses (this being the OP).

cheers

Permalink

maybe the OP is a better approach, for the time being...

meaning that should not be installed as session properties but on global options instead, as designated originally.

though the above modal options should be provided, ntl.

sorry for the noise

Permalink

qtractor >= v1.5.11.16git.8e0d67

nb. the 'None' mode option above is not implemented as it's functionally equivalent to 'Fixed' at 0 frames. ;)

test && tell

1.) Qtractor has to be restarted, else it doesn't activate the fixed value. This will make it look as non-working.
2.) The recorded audio clip's offset is not the fixed value but the sum of the automatic and the fixed value

Fixed should be fixed and not added, else you can't set the value determined by the latency test tool but have to do some math. And some MIDI-users recording external synths might want to set it to less then the automatic value.

No restart neccessary, thats good.

auto gives 18 ms on the clip
fixed 30 ms gives 32 ms on the clip (2 too much)
add 30 ms gives 47 (1 less)

Rounding errors? 2 at "fixed" seems to be too much for a rounding error.

are not quite errors, rather the result of normalizing the clip offset to current MIDI resolution (frames to ticks and back) that depends on the actual clip location in the timeline--think tempo-map...

however, this automatic refitting has been there for ages and applies to both audio and MIDI clips, so it's all working as designed, I'd say :)

cheers

Doesn't make sense IMHO for audio clip offsets, but won't kill cute little kittens :)

Thanks for implementing it.

auto: 863 frames
fixed 1440: 1586 (not correct)
add 1440: 2303 (correct, 863+1440=2303)

In reply to by bluebell

Permalink

not the result I'd expect

making it Fixed 1234 frames here makes it exactly a 1234 frames offset on a recorded clip.

something is failing on us or one of us :/

It's depending on the jackd buffer size. When entering 1000 frames I get an offset of 1000 + bufsize, tested with bufsizes 64, 128, 256, 512 on 2 different machines (an oldish Ubuntu and a not so oldish Debian Bookworm).

Maybe it doesn't happen with pipewire.

indeed, on genuine jackd it adds exactly one buffersize up... but only if you set (jack)transport mode to Slave or Full...

otherwise it behaves exactly as under pipewire(-jack) premises

seeya

Permalink

Yes, that's very strange, but I can live with it.

Thanks again.

Permalink

is not taken into account anymore, when capture latency mode is set on 'Fixed':
qtractor >= v1.5.11.19git.b8ab0c

sorry for the noise.

Add new comment

The content of this field is kept private and will not be shown publicly.

Markdown

  • Parses markdown and converts it to HTML.
  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type='1 A I'> <li> <dl> <dt> <dd> <h2 id='jump-*'> <h3 id> <h4 id> <h5 id> <h6 id> <img src alt height width> <strike> <pre> <p> <br>
  • Lines and paragraphs break automatically.

Filtered HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <b> <i> <pre> <img src alt height width> <strike>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
File attachments
Unlimited number of files can be uploaded to this field.
2 MB limit.
Allowed types: jpg jpeg gif png txt doc docx xls xlsx pdf ppt pps odt ods odp zip gz bz2 xz patch diff wav ogg flac ogv mp4 qtz.