Copy link to clipboard
Copied
Hi there!
I'm trying to create a mogrt that highlights a word in a text layer by changing its colour and scale, following the rhythm of the speaker's speech. Basically I want the word to be highlighted when the person is saying it.
My idea is to use 1 slider per word and use its value to determine the frame where the animation will start (if I want the highlight to go from the first word to the second at the 15th frame, I just have to set my 1st slider to 15).
So I added a scale and colour animator to my text layer and set the start to 0 and the end to 1.
Then I wrote this expression in the offset section:
So, I added a scale and colour animator to my text layer and setted start to 0 and end to 1.
Then, I wrote this expression in the offset section :
var tt2 = framesToTime(thisComp.layer("Null 6").effect("Word 2")("Slider"));
var tt3 = framesToTime(thisComp.layer("Null 6").effect("Word 3")("Slider"));
var tt4 = framesToTime(thisComp.layer("Null 6").effect("Word 4")("Slider"));
var tt5 = framesToTime(thisComp.layer("Null 6").effect("Word 5")("Slider"));
var word2 = linear(time, tt2, tt2+framesToTime(1),-11,-10); // I don't why it doesn't work if I put "0,1" in my value section
var word3 = linear(time, tt3, tt3+framesToTime(1),2,3);
var word4 = linear(time, tt4, tt4+framesToTime(1),4,5);
var word5 = linear(time, tt5, tt5+framesToTime(1),5,6);
word2 + word3 + word4 +word5;
It works fine in AE, but everything goes wrong when I use it as a mogrt in Premiere. Animations do not trigger at the timecode I want and they all take 2 frames to play instead of 1 as they should.
Can anyone help me? I really don't understand what's going on.
Thanks a lot!
Copy link to clipboard
Copied
You are overcomplicating the solution. Check this thread: https://community.adobe.com/t5/after-effects-discussions/applying-a-gradient-to-a-singular-word-insi...
One slider and a couple of text animators.
Copy link to clipboard
Copied
Hi Rick,
Thanks for your reply! It's actually much simpler than what I was doing. But I'd like my words to be highlighted one by one automatically, like a preset animation, but with some sort of speed control to match the rhythm of the voice-over.
Do you have any idea how to implement this in your template?
Thanks 🙂
Copy link to clipboard
Copied
You can add a speed control using Layer inPoint and Time, or you could try using the Audio to Keyframes tool to look for level changes. The problem with both approaches is that speech does not happen at a constant rate. Some words are short, some have more than one syllable, and nobody talks at a constant rate. Premiere Pro does have the ability to auto-generate captions, but there is no such tool in After Effects. MOGRTs can't read and take information from a different audio layer. I don't think there is any way to automate highlight spoken words using the Essential Graphics workflow. You are going to need some keyframes.
Copy link to clipboard
Copied
Hi Rick, I'm coming back on this project after few days off. Yes, I think I'll need keyframes to do that. The problem is that I want it to be MOGRT for Premiere and I don't really know how to managed my after effects keyframes in Premiere. That's why I went with an expression controlled by a slider in the first place because I don't know how to do it for keyframes. Do you have an idea how I can do that ?
Thanks again