< Back to IRCAM Forum

@latency functionality in Antescofo


I have been enjoying using Antescofo on my projects. I have been starting to experiment with @latency, and have had some good success using it with Antescofo v0.92, especially when I use MIDI for input (@inlets MIDI).

I have been having some issues when I try to use Antescofo v1.0, using audio. These are the errors that show up on Max:
antescofo~: Problem in function adjust_ref_with_lat when future latency is computed
Internal Error (please report): /Users/giavitto/_SHARED/UTopIa/Antescofo/Work/antescofoTM/antescofocore/Src/RunTime/TemporalScope.cpp 1056 void SynchroStrategy_relative::adjust_ref_with_lat(const TemporalScope &, sim_t &, double &, double &)

Also, I have been struggling with trying to implement the @latency in a curve to use with SuperVP. I’m hoping to get Antescofo to compensate the latency of my interface in a curve - am I implementing this wrong?

Here’s a snippet of what I’m trying to do:
curve SVP @Grain := 0.1s, @target [2#] @progressive, @Action := { ScrubPos ($pos * 1000) @latency := 30ms}
1 {135.268571429}
1 {135.719183673}

Thank you so much for all of your help!


The @latency is only partially implemented and its the version 0.92 that comes closest to a correct implementation. The internal error reports that you have hint one of the shortcomings of the current implementation. A major change in the Antescofo software architecture is required to fully manage latency. This change is planned, but not for the immediate future.

For the curve, your approach can’t work: in the current approach, latency is compensated for by adjusting the delays that appear in action threads. Here, when the curve action is launched, it immediately triggers the ScrubPos message, with no delay, so there’s no way to compensate for latency.

What you can do is to “shift” the curve in time (using a @latency on the curve itself — and perhaps you will hit a shortcomings of the current implementation, I cannot check it because I’m away from work) or by shifting the position you send (shifting the curve parameters themselves).

A beautiful summer,

1 Like

Thanks for clarifying! I was wondering why my file was working with 0.92, but was giving me errors when trying it with 1.0. I’ll stop trying to get the curve to work.

I’ll have to do more tests, but I do find that Antescofo follows much more reliably with @latency, so it would be amazing to have the functionality fully implemented in the future.

Have a wonderful rest of your summer!

Just out of curiosity what is your input setup? Disklavier?!