国语视界

 找回密码
 立即注册
查看: 3337|回复: 7

[字幕技术] Aegisub脚本运用2:Utilities篇1 SDH字幕处理与对白检查

[复制链接]

29

主题

1321

帖子

1709

积分

营长

大洋
92438
阅读权限
50
发表于 21-6-25 22:07 | 显示全部楼层 |阅读模式
本帖最后由 zhanglangcn 于 21-7-19 16:09 编辑

前期回顾
Aegisub脚本运用1:Merge Bilingual SUBS篇 合并中英字幕https://cnlang.org/thread-86347-1-1.html

前言
想了好久,还是决定用几篇教程介绍以下我写的脚本的使用方法以及能够实现的功能。
首先先声明以下这一系列教程将不会包括:
1. 什么是脚本,脚本是用来干嘛的
2. Aegisub脚本要如何安装
3. 脚本快捷键如何设置
4. Yutils是什么,要怎么安装,(但其是实现脚本功能的一个非常重要的库,请自行按照https://cnlang.org/forum.php?mod=viewthread&tid=85654或百度教程安装)

所有我的脚本都保存在我的GitHub仓库内,地址https://github.com/zhang-changwei/Automation-scripts-for-Aegisub喜欢的大佬可以为我加star,遇到问题可以直接issue中提出,我在GitHub的回复肯定比在论坛提问回复及时。我会在7月上旬发布一次release,在此之前请直接下载源码

上一期教程中提到了很多这个脚本里的内容,在这一期中都会一一介绍

脚本界面

脚本的界面很简单:Option选择你想要工作的模式,如果该模式有更多可以设置的参数,则可以在对应的框中设定,如果选择的模式在界面上没有更多内容,则只要无脑点run运行,界面的最下面是一些简单说明(图片仅供参考,请以实物为准

点击下拉菜单可以看到所有支持的工作模式,这一节会介绍其中跟对白有关的部分

Delete SDH Comment
这个模块很显然就是用来处理SDH字幕的,选中你想要操作的字幕行(多行)运行。
参数分为两个部分:匹配规则(to上面的)和想要转换成的内容(to下面的一个框)。简单来说,脚本就是将所有满足匹配规则的字符串转换成一个新的内容,而这个匹配规则是你来指定的,例如可以将所有被小括号包裹的内容转换为空

最上面的六个标点:匹配被该种标点包裹的内容,上面四个是半角的,下面两个是全角的,例如(sniff)可以被(...)匹配到,想到某种匹配规则勾选前面的勾即可
automatically remove speaker:自动移除说话人选项,目前采用一种较为激进的匹配策略,之后可能会改。半角冒号前的内容会被匹配,如Ted: ,Older Ted: 等,注意冒号到前一个标点(或句首)间的内容都会被匹配,如果你的(英文)字幕没有标点, 请勿使用该选项。如果你不知道在作甚么,请勿勾选。
other patterns:自定义设置匹配内容,支持一次输入多条规则,请用半角逗号分隔,不要加多余的空格

to:将匹配到的内容转换成的东西,默认为一个空格


Dialog Checker
这个模块是对对白字幕的一个检查器,所以请放心,他不会对字幕的内容作任何修改,但强烈建议使用前Ctrl+S保存字幕并且一次运行不要超过1000行,以防Aegisub卡死。检查器有三种检查的内容,勾选你所需要的即可,默认全部开启。选中你想要操作的字幕行(多行)运行。
overlap checker:时间轴重叠检查,以确保对白字幕没有重叠,使用前请确保所有字幕按时间顺序排列,如果有错误,他会在对应行的actor栏内生成overlap字样。
bilang checker:双语字幕检查,确保字幕为中上英下两行显示,一行字幕中超过两行、只有一行、只有英文不能通过测试,但要注意双行中文仍能通过测试(为中日这种双语字幕做出的妥协),如果有错误,他会在对应行的actor栏内生成bilang字样。
overlength checker:需要Yutils!检查字幕中是否有超长句的出现,下方两个buffer参数为其控制参数,分别控制上方行字幕长度与下方行字幕长度,如果为单语字幕只有buffer1生效。如果有错误,他会在对应行的actor栏内生成overlength字样。
buffer:参数范围0-1.其值为字幕在视频中占据的最大宽度与视频宽度之比。可以看下面这张丑陋的图


脚本运行后首先会弹出一个提示的报告,如果提示发现了错误再根据actor中的字样寻找错误位置


Delete Empty Lines
删除空白的行以及只有特效标签没有内容的行,选中你想要操作的字幕行(多行)运行。

Separate Bilangual SUBS by \N
当一条字幕行中既存在中文也存在英文,且中英文间用空格分隔时,可以用该脚本将空格转换为\N,选中你想要操作的字幕行(多行)运行。

Swap SUBS Splitted by \N
将 中文\N英文 字幕行转换为 英文\N中文,也可以将 英文\N中文 字幕行转换为 中文\N英文,选中你想要操作的字幕行(多行)运行。

切勿水贴!!!

评分

参与人数 3威望 +50 大洋 +2200 收起 理由
why1812 + 50 + 1500 厉害了我的神!
ronlandzuo + 200 厉害了我的神!
开心兔 + 500 厉害了我的神!

查看全部评分

72

主题

1664

帖子

3029

积分

团长

大洋
78226
阅读权限
60
发表于 21-6-26 01:05 | 显示全部楼层
这次的教程,写得非常详细,我用了你其它几个脚本,非常非常好用,还有几个脚本,没有明白,准备多试试几个参数,看看是什么效果
回复 支持 反对

使用道具 举报

28

主题

7802

帖子

3254

积分

团长

大洋
64226
阅读权限
60
发表于 21-6-26 06:52 | 显示全部楼层
楼主分享教程辛苦了
回复 支持 反对

使用道具 举报

47

主题

1360

帖子

220

积分

排长

大洋
20026
阅读权限
30
发表于 21-7-1 09:50 | 显示全部楼层
Subtitle Edit删除听障辅助文本即可实现,功能很强大

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

对,都可以的,我只是给大家提供多一种选择  发表于 21-7-1 20:20

评分

参与人数 1大洋 +20 收起 理由
why1812 + 20 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

101

主题

300

帖子

162

积分

论坛贵宾

大洋
5670
阅读权限
130
发表于 21-10-22 12:42 | 显示全部楼层
本帖最后由 SuperD893 于 21-10-22 12:55 编辑

谢谢楼主,对于基础处理很实用的功能,不是自己亲手一条龙搞定的字幕,确实需要多方处理,这些脚本极大的减轻了时间成本
回复 支持 反对

使用道具 举报

1

主题

233

帖子

32

积分

列兵

大洋
1999
阅读权限
10
发表于 22-6-12 19:57 | 显示全部楼层
非常方便的脚本,楼主人才啊,谢了
回复 支持 反对

使用道具 举报

0

主题

1027

帖子

234

积分

排长

大洋
1019
阅读权限
30
发表于 22-8-18 23:03 | 显示全部楼层
逛一逛,学一学
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表