A little more complicate, but not much:
easeFrames = 6;
s = text.sourceText.style;
leading = s.autoLeading ? s.fontSize*1.2 : s.leading;
m = marker;
n = 0;
y = 0;
if (m.numKeys > 0){
n = m.nearestKey(time).index;
if (time < m.key(n).time) n--;
}
if (n > 0){
t = time - m.key(n).time;
easeDur = framesToTime(easeFrames);
y = (n-1)*leading + ease(t,0,easeDur,0,leading);
}
value - [0,y]