Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Forums Adobe After Effects Tips on streamlining word-by-word subtitling? Just want to reduce mouse click-and-drag.

  • Tips on streamlining word-by-word subtitling? Just want to reduce mouse click-and-drag.

  • Andy Zou

    April 2, 2020 at 5:29 pm

    So, I’ve begun working for a brand which subtitles like this, word-by-word:

    So far, obvious setup: Hold-keyframes for the source text, hold-keyframes for an opacity animator per word. key frames go 1,2,3,etc… copy and paste them and shift them around to line up with syllables, etc.

    How can this be streamlined even further? It seems there’s no getting around syncing by word, but right now, here are hiccups I want to resolve or streamline:

    I can scrub audio in AE with the mouse, but this will wear my index finger out. Is there a way to scrub a frame of audio in AE using only the keyboard? I am eyeballing with the waveform first.

    I can nudge keyframes with the keyboard, but how can I select a singular keyframe with the keyboard? So far I find I have to click each keyframe, and at that point, I might as well also drag it. J & K will move the playhead to the closest keyframes, but they won’t select them…

    Generally, how much can I remove the mouse and clicking? (i have a wacom in a box, should i dust it off?)

    I would love to be able to adjust the range-selector values without clicking them, but I think the up down keys only apply to position if no specific value is selected…

    I could imagine there being a way to drag and drop the entire script in in such a way that it would break up the lines appropriately, but I imagine that might involve expressions, and the original script would have to be formatted, perhaps in such a way that a certain symbol “linebreaks”. Then have an expression parse it. But even then, you’d have to tell it what times and keyframes to use that linebreak…

  • Darby Edelen

    April 3, 2020 at 1:17 am

    Here’s an expression you could apply to an Expression Selector on a Text Animator that drops Opacity to 0%.

    if(numKeys > 0){
    nk = nearestKey(time);
    i = nk.index;
    if(nk.time > time) i--;
    100 * Math.max(0,textIndex-i)
    else 100;

    You can then add keyframes on the Amount property of the Expression Selector. The first word will reveal itself at the first keyframe, the second at the second keyframe, etc… It’s not exactly what you’re asking for in that you’d still need to do a fair amount of clicking to add and move keyframes but hopefully this will simplify things a bit for you and may give you some other ideas of how to approach it. The keyframes you add aren’t used for anything but timing so no need to change their values.

    You could also do this with layer markers but I find those more difficult to manage (you can’t select multiple markers and move them together). The one upside of layer markers is that you can add them with the layer selected by tapping the * key on the numpad as you preview audio. If you’re fast on that asterisk then you might be able to rough out the timing for an entire subtitle in realtime and only using the keyboard. If that’s a worthy enough trade off then this is the modified expression to look for layer markers:

    markers = thisLayer.marker;
    if(markers.numKeys > 0){
    nk = thisLayer.marker.nearestKey(time);
    i = nk.index;
    if(nk.time > time) i--;
    100 * Math.max(0,textIndex-i)
    else 100;

    Darby Edelen

Viewing 1 - 2 of 2 posts

Log in to reply.

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy