国语视界

 找回密码
 立即注册
查看: 7776|回复: 9

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

[复制链接]

31

主题

1324

帖子

1813

积分

营长

大洋
102549
阅读权限
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 厉害了我的神!

查看全部评分

77

主题

2021

帖子

3117

积分

团长

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

使用道具 举报

33

主题

8735

帖子

3501

积分

团长

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

使用道具 举报

47

主题

1744

帖子

265

积分

排长

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

本帖子中包含更多资源

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

x

点评

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

101

主题

311

帖子

166

积分

论坛贵宾

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

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

使用道具 举报

1

主题

760

帖子

97

积分

列兵

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

使用道具 举报

0

主题

2822

帖子

1025

积分

营长

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

使用道具 举报

2

主题

352

帖子

53

积分

列兵

大洋
4265
阅读权限
10
发表于 23-2-2 03:03 | 显示全部楼层
目前唯一一个看懂的,不过新版本多了很多新功能,不知道有没有新的解释
回复 支持 反对

使用道具 举报

19

主题

309

帖子

984

积分

连长

大洋
4627
阅读权限
40
发表于 23-2-23 08:38 | 显示全部楼层
谢谢老师的制作!在GitHub仓库里的新版本多了好多内容也都很好用
检查对白的功能我太需要了,之前我是把aegisub的视频跳到字幕行的按钮打开然后按回车检查的,看得眼睛要瞎叻,有脚本就很方便
现在这些aegisub脚本已经把srtedit多出的那些功能都涵盖了,都不需要换软件,超级方便
回复 支持 反对

使用道具 举报

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

本版积分规则

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