Using math expressions
In the previous tutorial we saw how to use the basic features of Karaoke Templater to make simple karaoke effects. We’ll continue where we left off here, by expanding on the basics from last tutorial.
Preparations
As before, you’ll still need some timed karaoke and a video to preview the effects. I won’t go into further details with that here.
Adding a fadeout
To recap, here’s the effect from the end of last tutorial:
{\r\k$kdur\t($start,$end,\1c&H00FF00&)\t($start,$mid,\fscy120)\t($mid,$end,\fscy100)}
We’ll add a fadeout effect to this now, having each
syllable fade out after it has been sung, not
while. We’ll have to do a little maths to
make this: Start the fadeout at $end
and
have it continue until
$end+200
, ie. have it fade out for 200
milliseconds after the
syllable.
Change the template to this:
{\r\k$kdur\t($start,$end,\1c&H00FF00&)\t($start,$mid,\fscy120)\t($mid,$end,\fscy100)\t($end,!$end+200!,\alpha&HFF&)}
Then try applying templates again. You should see the old effect happen as usual, but this time afterwards, each syllable fades out.
The magic in this is the exclamation marks here: !$end+200!
When you have a pair of exclamation marks like that,
everything in between them
is treated as an expression (actually a very
small Lua program, but
don’t worry about that yet.) Here we use an expression to take the
end-time of the syllable and
add 200 to it, getting a new number. The end result is that the \t
fadeout effect lasts from $end
and until 200 milliseconds later.
Tweaking the grow/shrink effect
Maybe you think the growing-shrinking effect looks a bit odd, switching right in the middle. It might look better if it was at the maximum height earlier, and used more time shrinking back to normal. Well, that can be changed:
{\r\k$kdur\t($start,$end,\1c&H00FF00&)\t($start,!$start+$dur*0.3!,\fscy120)\t(!$start+$dur*0.3!,$end,\fscy100)}
With this, the growing-part will only take the first
three-tenths of the
syllable duration, and the shrinking the rest. We used one new variable
here, $dur
. This is the duration of the
syllable in milliseconds, just
like $kdur
is the duration in
centiseconds. (We could actually
just as well just have used $kdur
here,
and then multiplied by 3
instead of 0.3.)
Note that I removed the fadeout from here, it’s just to make the line shorter and easier to read. You can add it back if you want.
Hopefully this tutorial has given you some more ideas of what you can do. In the next one we’ll add another layer to the effect by using multiple templates!