Thank you, Dan! This does the job brilliantly.
Now, I’ve hit another roadblock when trying to apply this concept to an expression selector in order to animate the words individually, so that they’re truly synced to the audio.
My idea is to combine your expression (the previous t+.5 version) with the expression below that uses layer markers to animate text on a per-word basis. I just can’t wrap my head around how to stack the if/else conditions. How would you approach this?
anim = thisProperty;
delayDur = framesToTime(effect("Delay Duration")("Slider").value);
numMarkers = marker.numKeys;
delay = (textIndex - 1)*delayDur;
if (numMarkers > 0)
{delay = textIndex <= numMarkers ? marker.key(textIndex).time : marker.key(numMarkers).time;}
anim.valueAtTime(time - delay);
Best
Julian