Aegisub Karaoke Helper是一款基于字幕软件Aegisub自动化工具的Lua脚本,具备数个小型功能函数,帮助对卡拉OK字幕进行处理,以提升卡拉OK字幕的制作效率。
同时,该工具支持处理来自Vmoe字幕组-卡拉OK搜索引擎的带K值字幕,通过对下载的字幕进行预处理和样式清除,删除字幕中的\pos和内联特效,得到只含有歌曲K值、歌词和假名标注的纯净字幕行。
-
Vmoe字幕一键预处理
将karaoke.vmoe.info下载的歌曲K值字幕进行处理,删除其中的\pos标识符、内联特效、占位音节、空格、左右引号/括号等,得到纯净版的只有K值、歌词和假名的字幕,以便进行自定义特效制作
-
转换为双层交错形式
将连续的字幕转换为K1-K2双层交错的形式,符合卡拉OK字幕的习惯,注意该功能不会处理多行重叠的情况,即不支持同时有3个以上的字幕显示(常见于歌曲和声等)。
-
清理pos标识符与占位音节
删除所选字幕行中存在的\pos标识符和类似
{\-A}
、{\-B}
内联特效,同时删除字幕前后只有K值而无内容的占位音节,得到只有K值、歌词和假名的字幕。 -
按K值重新设置字幕时长
不改变字幕的开始时间,通过计算所选句中K值总和,调整字幕的结束时间
-
删除负-正K值的格式
某些字幕中存在
{\k-100} {\k110}
这种负K值-空格-正K值的形式,将所选字幕中的这些形式进行删除,变换为同一个K值 -
删除所有空格
删除所选字幕中的所有空格,但不删除K值
-
合并所选的带K值行
将所选择的行合并为同一句,并按合并情况调整K值,如果上一句话未结束而下一句已开始,则可选择使用负K值,或扣除前一句话最后一个字的音节
-
拆分所选的带K值行
将所选择的带K值的行中,按分隔符(默认为下划线
_
)将行拆分成多行,并按拆分情况调整K值 -
删除K值行中的引号和括号
删除所选的带K值的行中的引号和括号,并调整相应的K值,主要针对Vmoe字幕组下载的字幕中,左引号/括号有K值而右引号/括号无K值的情况。
-
删除所有假名标记
删除所选带K值行中所有的假名标记,如存在占位符
#
表示的多个假名标记,将其合并,且对相应的K值进行求和 -
划分汉字音节
自动识别汉字等宽字符并以卡拉OK标签隔断
-
空格转占位音节
把所有空格换成长度为0的音节符号
-
批量移动音节
不改变起止时间,统一移动所选行音节的分隔时间
-
清理样式
清理样式库中,本字幕没有用到的样式
本代码的部分功能来源于winddramon/Timelin-Lullamoon和MichiyamaKaren/aegisub-set-karaoke-style,在两位的代码基础上添加了部分功能而成,在此感谢。