Sonata1015 / aegisub-karaoke-helper

基于Aegisub的卡拉OK字幕制作助手

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Aegisub Karaoke Helper

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-LullamoonMichiyamaKaren/aegisub-set-karaoke-style,在两位的代码基础上添加了部分功能而成,在此感谢。

About

基于Aegisub的卡拉OK字幕制作助手


Languages

Language:Lua 100.0%