Based on finest's feedback, there's another update to the script. The url in my original post now links to SSA_Import_v1.2.
Changes in SSA_Import_v1.2:
1. The only immediately noticeable change is that the script now correctly handles silences in karaoke, where nothing should be highlighted.
2. The ability to split highlighted text onto a separate layer. If you open the SSA_Import script in a text editor, you'll find some user-editable variables at the start of the script. Change the line var splitHighlight = false;
to var splitHighlight = true;
then resave the script. Lines of text that contain karaoke highlighting will be split onto two lines. By applying effects to the top-most of each pair of layers, the effects will only by applied to the highlighted text.
3. The ability to ramp effects applied to highlighted text up and down. This option should be used alongside the 'split highlighted' option mentioned above. Open the script in a text editor and locate the line var sliderRamp = 0
. Change the value to 1,2 or 3 (the options are described in the script) and then resave the script. After importing a .ssa file with karaoke data, you'll find another layer called "Ramp Control Null" at the top of the Timeline that contains an animated "Slider Control" effect. By using expressions to link to these animated values, you can vary how effects applied to the highlighted layers are animated.
All sounds a bit advanced I know, but even if you don't know anything about expressions, stay with me.
How to use this feature:
1. Open the SSA_Import_v1.2 script in a text editor.
2. Locate the line var splitHighlight = false;
and change it to var splitHighlight = true;
3. Locate the line var sliderRamp = 0
and change it to var sliderRamp = 3
4. Save the script.
5. Run the script as normal, importing a .ssa or .ass file that contains karaoke highlighted text data.
6. Select the top layer from any of the pairs of text lines generated and apply a "Fast Blur" effect.
7. Set the 'Blurriness' value to 10.
8. Apply an expression to the "Blurriness" property (the easiest way is to opt/alt-click on the stopwatch icon beside the property name).
9. Completely replace the expression with the following: value * thisComp.layer("Ramp Control Null").effect("Slider Control")("Slider")
The result is that as each word/syllable is highlighted, it will animate up from zero to your maximum blur value (10 in this case) and then back down to zero. You can now simply copy/paste the Fast Blur effect onto all of the other top-most layer pairs.
These features allow you to customize your karaoke subtitles in all kinds of ways. Another thing you could try is to add a Position property to the Highlight Animator and set the Y Position value to -20, then apply the expression in the way described above. As the text is highlighted it will animate up and down. You can also try changing the keyframe interpolation on the Ramp Control's Slider, i.e. highlight the keyframes and apply Keyframe Assistant > Easy Ease to give you smoother animation.
In a future version of the script, I'll probably add a UI so you don't have to edit the script. And based on feedback, I'll see if there's any way to make this whole process a bit less painful.