使用sub2srs制作自然语言学习卡组

使用sub2srs工具制作带有音频、双语字幕、图片、视频的优质卡组

卡组使用建议

虽然制作出的卡组可以在很多学习软件使用,但个人建议使用电脑版anki并搭配morph插件,morph插件的配置方法请参考我这篇博客:搭建基于 anki 的高效自学日语环境
另外因为手机anki不能装插件,所以如果你非要导入手机,那么建议只在进度不共通的情况下来消磨碎片时间,尽量避免污染morph的参数

需要使用到的项目

  1. anki
  2. Python
  3. FFMPEG 视频编辑工具
  4. ffsubsync FFS自动调轴工具
  5. subs2srs 自动制卡工具
  6. notepad++ 文本编辑器
  7. office excel / wps之类的表格工具

字幕下载站

  • kitsunekko日文字幕分享站
    这个站也有中文朝鲜文英文字幕,但主要是日语跟英语,搜索只能用罗马音搜索,不太好用,我最早是在这个地方下的,但现在很少用了。
  • 字幕库 我目前主要使用的字幕站,只有日语字幕,但可以用日文、罗马音、英文搜索,非常好用。
  • 喵萌奶茶屋 做卡时的首选字幕源,不过搜索只能用罗马音不是特别方便,时间轴很精准的同时因为是双语字幕,所以没有其他字幕的那些听障/汉字假名之类的东西。
  • nanakoraws 我对着这个名字去nyaa搜了下,这好像是个压tvrip的压制组,估计是atx之类的提取的字幕,只有罗马音搜索,目前还没怎么用过
  • acgrip anime字幕论坛
  • 天雪动漫
  • 字幕共享计划
  • subbers
  • SweetSub
  • 404
  • 伪射手
  • 字幕库
  • subhd

卡组共享渠道

  • 老外搞得mf盘
    老外搞得mf盘,基本是英日卡组,我不懂英文,没用过
  • kame特别区=>卡组分享分类区
    需要有人邀请才能进的深网分享论坛,尊重站方意愿不公开网址
  • anki_subs2srs_telegram频道
    我很久以前建立的频道……

工具用途介绍

anki

学习工具,卡组做出来总要用的,没啥好说的,如果你要用其他工具来学习可以不装

python

这个世界上有一种名为python的编程语言,安装python主要是之后的ffs自动调轴工具需要使用到他,如果你不需要ffs可以不装

ffmpeg

很知名的影音转码工具库,很多影音剪辑软件只是ffmpeg外面套一层操作界面而已,sub2srs的软件里面自带了,不用另外装,但如果你要使用ffs,最好也装个

ffsubsync

自动调整字幕时间轴的工具,网络上下载的字幕一般只是时间上大差不差而已,但subs2srs裁切音频是根据字幕的时间轴来的,观看视频时字幕时间差个半秒一秒甚至两秒其实都无所谓,但如果裁切也这么来那就是灾难了,时间短了句子只切到了一半,时间长了切出太多无效音频(其他角色的另一句话、爆炸音效之类的),如果你很确定你下载的字幕时间轴没问题可以不装

ps. subs2srs其实也可以稍微调整裁切字幕的时间轴,但他的调整逻辑是往前或往后x毫秒舍弃或者保留,但一般下载到的字幕是这句太长、那句太短、这句刚好
当然这不是字幕轴的打轴人员的锅,字幕在制作时考虑的肯定是观看体验,而观看体验肯定不差字幕晚50毫秒还是100毫秒……

subs2srs

能够依靠字幕的时间轴批量裁切音频、视频,或者截图的工具,必装

notepad++

主要是利用它的区块编辑功能批量修改ffs命令的,如果你不装ffs也没必要装这个

表格软件

利用它的编辑功能生成或修改ffs命令的,你不装ffs也没必要装

cmd / bat

ffs命令需要在cmd窗口之类的输入命令才能用,还有一些辅助的小脚本也得命令行,系统自带不需要装

批量获取文件名

dir /s/b *.* > b.txt

工具安装

安装ffmpeg

下载ffmpeg

点此下载ffmpeg
或者去他官网下载 https://ffmpeg.org/
下载完后解压,可以看到bin资料夹有3个exe,我们只要用到ffmpeg,其他的可以删了,不过档案不大,你也可以都留着

  • ffmpeg.exe
  • ffplay.exe
  • ffprobe.exe

“安装"ffmpeg(修改环境变量)

  1. windows设置 => 系统 => 关于 => 高级系统设置 => 高级 => 环境变量
  2. 在系统变量的窗口连点两下path,或者选中path然后点击下方的编辑
  3. 可以看到一堆资料夹,现在你有两个选择
    1. 把ffmpeg.exe移动到这些资料夹的其中一个里面
    2. 点击新建 => 选中你放ffmpeg.exe的资料夹 => 保存退出(连按几个窗口的确定)

ps. 这个ffmpeg也可以多复制一份,覆盖掉subs2srs软件里面的ffmpeg,这个软件很久没更新了,包在里面的ffmpeg应该也是很久以前的版本,换成新版的速度或者压缩率可能会好些……?
subs2srs/Utils/ffmpeg

安装python

网上的教学很多,如果装不明白那就随便找个视频看吧,我大概说一下

  1. python官网
  2. 鼠标移到downloads上
  3. 默认跳出的窗口上会显示Downlaod for Windows,点击这串字下方的Python 版本号
    • 如果是windows7请点击View the full list of downloads.然后找3.9以前的版本
  4. 一直按下一步(不确定会不会有让你安装其他流氓软件的,怕的话手机开个翻译软件对着照)
    • 安装过程中应该会有一个添加到环境变量的选项,务必打勾,英文应该是什么path的

安装ffs

  1. 搜索输入cmd,或者win + R开启命令提示符
  2. 输入这串命令更新pip
    python -m pip install --upgrade pip
  3. 输入这串命令安装ffs
    pip install ffsubsync

下载subs2srs

点此直接下载
或者去subs2srs官网下载,网站里有软件的介绍与教学,说的比我详细
下载完直接解压缩出来就能用了

工具使用

ffs

ffs的命令比较简单,至少我们需要用到的命令就一个
ffs 视频文件 -i 字幕文件 -o 调整后的字幕输出位置
ffs可以输入ass字幕,输出srt字幕,我是习惯输出成srt了,但输出ass应该也没差?

简易示例

文件结构

文件结构如下,sc资料夹放的是简中字幕,jp资料夹下放的是日文字幕

1
2
3
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [01].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [01].JPSC.ass

需求

使用ffs调轴,并且把ffs输出的字幕文件放入D:\BanG Dream! It’s MyGO!!!!!\ffs资料夹下

命令示例

1
2
ffs "D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv" -i "D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [01].JPSC.ass" -o "D:\BanG Dream! It’s MyGO!!!!!\ffs\sc\BanG Dream! It’s MyGO!!!!! [01].JPSC.srt"
ffs "D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv" -i "D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [01].JPSC.ass" -o "D:\BanG Dream! It’s MyGO!!!!!\ffs\jp\BanG Dream! It’s MyGO!!!!! [01].JPSC.srt"

subs2srs

视频的截图是从字幕时间轴的一半的地方截取,如果你的片子是带内嵌字幕的,那么只要这个内嵌字幕时间轴别太离谱,正常都能截到图
比如说这是一段字幕,角色说话的时间是00:01:00 ~ 00:01:10,那么截图就是在00:01:05的时候截图(印象里是这样,很久没切内嵌字幕的视频了)

高级设置

tools > MKV extract tool,可以拿来分离字幕轨与音轨的工具,不过我习惯直接搓ffmpeg命令了,你搓不来可以用这个

点上面的tools > pxxxxx(设定),可以改一些导出的文件名啥的,但除了Snapshot Filename Format的副档名建议由预设的jpg改为webp外不建议做改动

界面介绍

files:

  • Subs1 : 放置字幕文件
    旁边的 Subs1 Encoding则是选择字幕文件的文件编码,一般不需要特别调整,点击预览后如果看到有乱码再回来改就行
  • Output : 输出文件夹
  • Subs2 : 放置字幕文件
    旁边那个按钮与Subs1旁边的一个作用
  • Video : 放置视频文件
    旁边的Audio Stream是选择视频音轨的,预览的时候声音不对再回来改就行了

其中subs1 / subs2 / video这三个窗口填入*号都可以自动匹配,也就是说不需要一集一集来制作,可以一次制作一部动画,甚至好几个不同的动画一起导出成一个卡组
不过推荐一次只做一季动画或者一部动画

Use Timings From

选择使用哪个字幕轨的时间轴来切

Span (h:mm:ss)

在指定时间范围内切,主要用于跳过op / ed

Time Shift

调整两个字幕时间轴的,批量前移/后移字幕

Genrate Audio Clips

  • 是否要输出音频文件
  • 调整输出音频的码率 推荐默认的128即可,太大了没必要,太小了可能会出问题
  • 填入音频文件(给音乐或者有声书、朗诵、演讲之类的纯音频素材用的)

Pad Timings

调整音频的延迟,正数的话是增加音频截取时间,负数则是减少音频截取时间
鼻音开头或者鼻音结尾的轴可能会导致ffs自动打轴出错,所以需要适当调整这个值
日语的话推荐100 100,粤语的话推荐100 300(粤语喜欢拉长音) 比如一段字幕 00:00:14,000 --> 00:00:16,000 如果设置500 -500,那么他截取的时间就是 00:00:13,500 --> 00:00:15,500 (提前500ms开始,提前500ms结束)
如果设置成500 500,那么就会变成 00:00:13,500 --> 00:00:16,500 ,即提前500ms开始,往后延500ms结束

Generate Snapshots

  • 是否要输出视频截图
  • 宽度像素
  • 高度像素
    推荐设置为1920x1080,如果是4:3的老视频则设置为1440x1080

Crop Bottom

裁切画面底部像素,用来去除硬字幕用的

Naming

卡组名称,建议英文跟数字就行,不然可能会有神奇的bug,虽然我很常用日文或者中文就是了,切出来的文件名前面会有卡组名称

高级字幕选项Advanced Subtitle Options…

这个高级选项中挺多选项是给英语之类的,文字信息量低的语言用的,比如说一句话用3行字显示,这里可以检测关键词然后合并句子之类的,具体请参考subs2srs的介绍,不展开说

对于我们中文使用者来说,主要有用的是sub页面的第456个选项,别的可以不管,这几个选项能够清理一些惊讶的叫声、人名、摁啊哦之类的答复短句

  • Exclude lines with fewer than X characters
    排除少于 X 个字符的字幕
  • Exclude lines shorter than X milliseconds
    排除短于 X 毫秒的字幕
  • Exclude lines longer than # milliseconds
    排除长度超过 X 毫秒的字幕

简易示例

我这个示例,字幕与视频文件都放在一个资料夹下,如果你放在不同资料夹就稍微改改,总之意思大概就是那么个意思

软件开启后,点击subs1,选择其中一个日文字幕,我的长这样
R:\0000\[SweetSub] Super Cub [01-12][BDRip 1080p HEVC-10bit FLAC CHS&CHT][v2]\[SweetSub] Super Cub - 01 [BDRip 1080p HEVC-10bit FLAC AC3 CHS&CHT].ja.srt
稍微修改一下,把路径留下,而文件名主体删除,改成这样,或者你可以只把集数部分删除,总之能让*匹配上就行
R:\0000\[SweetSub] Super Cub [01-12][BDRip 1080p HEVC-10bit FLAC CHS&CHT][v2]\*.ja.srt
复制subs1,粘贴到subs2,后面的部分修改为中文字幕的对应
R:\0000\[SweetSub] Super Cub [01-12][BDRip 1080p HEVC-10bit FLAC CHS&CHT][v2]\*.chs.srt
同样,粘贴到video,后面的部分修改为视频文件副档名
R:\0000\[SweetSub] Super Cub [01-12][BDRip 1080p HEVC-10bit FLAC CHS&CHT][v2]\*.mkv

点击output,选取输出文件夹
在naming输入卡组名称

按照下图调整设定

软件主页

主页说明 截图(generate snapshots)大小如果是内嵌字幕的视频请务必使用720p或者更高,太小的话看不清文字
嫌占用空间大可以制作并分享完卡组后再用IrfanView 64之类的软件批量缩小图片
如果你使用的视频不是内嵌字幕的,那么截图大小这里高度设置大于等于360都行
当然我个人是建议任何情况下都直接无脑1920x1080,或者1440x1080,毕竟现在电脑屏幕分辨率越来越高了,而且1080的图也不会比720大太多,分享给别人的时候如果别人觉得大,再用irfanview之类的批量缩小就行

几种常见的16:9与4:3分辨率速查

16:9 分辨率 4:3 分辨率
640 x 360 480 x 360
854 x 480 640 x 480
1024 x 576 768 x 576
1280 x 720 960 x 720
1920 x 1080 1440 x 1080

响度均衡推荐打开
音频质量推荐128K即可,更低其实也无所谓,学习语言没必要320K之类的占用硬盘,只要别低于64k弄得声音都听不清就行
generate video clips是截取视频,卡组会变得超大,任何时候不建议勾选,当然你硬盘大也无所谓,不过如果要分享不建议分享带视频的
点击预览(preview)可以预览效果

预览窗口

预览窗口

点击preview试听,自己随机选几个听听看,有问题的话改一下延时,然后再重新生成预览
如果有像这种特效字幕之类的,点击deactivate删除

确认效果满意后点击go开始
接下来就是漫长的等待时间了,subs2srs好像调用不了硬件编码器,只能cpu楞切,我上一台电脑(amd fx8320)切一部2490句的动画要101分钟

特效字幕示例

特效字幕

导出完成

导出完成

notepad++

还没写,下次要切卡再来写,总之就是用区块编辑、填充、取代功能达成跟excel一样的效果

大概这么回事
ffs "视频文件" -i "字幕文件" -o "视频文件.ffsout.jp.srt"

表格软件

做两个这样的表格来批量生成输出日语字幕用的ffs命令,每一集需要用到一行,建议直接复制个三五十行出来

1
2
3
4
ffs "
" -i "
" -o "
.ffsout.jp.srt"
说明 此处填入视频地址 此处填入字幕地址 此处填入视频地址
ffs " " -i " " -o " .ffsout.jp.srt”

然后另一个表格最后一栏填.ffsout.sc.srt(也就是把jp改成sc),这一个表格用来批量生成输出中文字幕的ffs命令

把视频地址与字幕地址填入表格后,复制表格内容后新建一个txt,粘贴过去,双击点开后在文本编辑器里,批量删除tab(制表符),保存后把副档名改为bat,双击运行即可批量运行ffs命令

图是我上个博客写东西时截的,跟这个教学有些不同,不过影响不大 ffs excel ffs txt

简单示例

取得文件地址

运行命令dir /s/b *.* > b.txt,或者建立这样的一个bat文件,会在运行文件夹生成一个带有文件地址的txt文件

1
2
@echo off 
dir /s/b *.* > b.txt exit
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
D:\BanG Dream! It’s MyGO!!!!!\b.txt
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [02].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [03].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [04].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [05].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [06].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [07].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [08].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [09].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [10].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [11].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [12].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [13].mkv
D:\BanG Dream! It’s MyGO!!!!!\jp
D:\BanG Dream! It’s MyGO!!!!!\sc
D:\BanG Dream! It’s MyGO!!!!!\取得档名.bat
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [01].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [02].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [03].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [04].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [05].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [06].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [07].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [08].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [09].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [10].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [11].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [12].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [13].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [01].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [02].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [03].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [04].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [05].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [06].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [07].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [08].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [09].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [10].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [11].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [12].JPSC.ass
D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [13].JPSC.ass

其中这几行是不要的,之后复制到表格的时候别管

1
2
3
4
D:\BanG Dream! It’s MyGO!!!!!\b.txt
D:\BanG Dream! It’s MyGO!!!!!\jp
D:\BanG Dream! It’s MyGO!!!!!\sc
D:\BanG Dream! It’s MyGO!!!!!\取得档名.bat

表格与文本处理

把表格复制出来,新建一个txt贴进去,或者直接贴在之前生成文件地址的那个txt也行
两个表格都要复制
复制excel

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [01].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [02].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [02].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [02].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [03].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [03].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [03].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [04].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [04].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [04].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [05].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [05].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [05].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [06].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [06].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [06].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [07].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [07].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [07].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [08].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [08].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [08].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [09].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [09].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [09].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [10].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [10].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [10].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [11].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [11].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [11].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [12].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [12].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [12].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [13].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\jp\BanG Dream! It’s MyGO!!!!! [13].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [13].mkv	.ffsout.jp.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [01].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [02].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [02].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [02].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [03].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [03].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [03].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [04].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [04].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [04].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [05].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [05].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [05].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [06].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [06].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [06].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [07].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [07].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [07].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [08].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [08].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [08].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [09].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [09].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [09].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [10].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [10].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [10].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [11].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [11].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [11].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [12].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [12].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [12].mkv	.ffsout.sc.srt"
ffs "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [13].mkv	" -i "	D:\BanG Dream! It’s MyGO!!!!!\sc\BanG Dream! It’s MyGO!!!!! [13].JPSC.ass	" -o "	D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [13].mkv	.ffsout.sc.srt"

选中制表符后点击ctrl + H叫出替换工具,批量替换后保存,然后修改副档名为bat(也可以直接另存一个bat文件)
查找内容:制表符
替换为:留空 取代tab

双击运行此bat文件 运行效果

卡组制作

卡组制作流程概览

  1. 准备制作卡组所需要的文件

    • 视频文件
    • 与视频语言对应的字幕
    • 你看的懂得语言的字幕
      例:你懂中文,想用日本动漫学习日语,你需要准备日本动漫的视频、日文的字幕、中文的字幕
      可能还需要做的操作
    • 提取封装在视频里的字幕文件
    • 删除字幕文件中的一些杂讯
      ps.下载到的字幕很可能是中日双语、听障字幕等,需要剔除他们
  2. 使用ffs调整字幕时间轴(可选)

  3. 使用subs2srs制作卡组

  4. 导入学习软件

实作示例

当前文件介绍

我一步步操作来示范一次怎么操作,另外出于保护字幕组的原因,我修改过文件名称,如果字幕组有意见,希望我标出你们的名字,可以联系我修改
目前我有的文件如下

  • 视频文件BanG Dream! It’s MyGO!!!!! [1].mkv,总共13集,这13集的区别是**[]**中的集数会做改变,我这里就不一一列出了
  • 字幕文件BanG Dream! It’s MyGO!!!!! [1].JPSC.ass,简中日语的双语字幕
  • 字幕文件BanG Dream! It’s MyGO!!!!! [1].JPTC.ass,繁中日语的双语字幕

简中与繁中留一个就行,建议留简中,哪怕你是繁中为主的使用者,简中在使用小屏幕、小窗口学习方面有着巨大的优势,不像繁中画面一小就全部挤在一起了
ps. 我个人有很严重的近视与散光,如果你视力很好,或者联想能力差看不懂简体那就无所谓,我建议如果想要分享卡组的话最好分享简体卡组
初始文件

字幕初步整理

  1. 搜索JPTC删除所有繁日字幕
    删除后
  2. 搜索ass剪切所有简日字幕
    搜索字幕
  3. 新建资料夹,随意命名,把简日字幕贴进去,我这里命名为sc
  4. 复制上一步建立的内含字幕的资料夹,原地粘贴一个,我这里怕忘记重命名为jp
    复制字幕
  5. 整理简体字幕,把日文全部删掉
  6. 建立日文字幕,把简体全部删掉

双语字幕的处理

删除日语字幕

我这里是使用notepad++来开启字幕文件,这是这个字幕文件里面的内容,前面的内容是字幕的标题,使用的字体之类的,28行开始是日文字幕部分

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[Script Info]
Title:BanG Dream! It’s MyGO!!!!! [01].JPSC
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
PlayResX: 1920
PlayResY: 1080
YCbCr Matrix: TV.709
LayoutResX: 1920
LayoutResY: 1080

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,FZCuYuan-M03,70,&H14FFFFFF,&H000000FF,&H14211711,&H00000000,0,0,0,0,100,100,0,0,1,2.8,0,2,10,10,20,1
Style: Dial_JP,FOT-Seurat ProN B,52,&H14FFFFFF,&H000000FF,&H14211711,&H00000000,0,0,0,0,100,100,0,0,1,2.5,0,2,10,10,10,1
Style: Dial_JP2,FOT-Seurat ProN B,52,&H14FFFFFF,&H000000FF,&H14211711,&H00000000,0,0,0,0,90,90,0,0,1,2.5,0,8,10,10,10,1
Style: Dial_CH,FZCuYuan-M03,70,&H14FFFFFF,&H000000FF,&H14211711,&H00000000,0,0,0,0,100,100,0,0,1,2.8,0,2,10,10,60,1
Style: Dial_CH2,FZCuYuan-M03,70,&H14FFFFFF,&H000000FF,&H14211711,&H00000000,0,0,0,0,90,90,0,0,1,2.8,0,8,10,10,56,1
Style: Cmt_CH,FZCuYuan-M03,60,&H14FFFFFF,&H000000FF,&H14211711,&H00000000,0,0,0,0,100,100,0,0,1,2.8,0,7,20,20,20,1
Style: Screen,DFHanziPenW5-A,48,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,0,0,2,10,10,10,1
Style: Title,DFHanziPenW5-A,72,&H00494847,&H000000FF,&H00000000,&H00FFFFFF,0,0,0,0,100,100,0,0,1,0,2,1,10,10,10,1
Style: Staff,DFHanziPenW5-A,48,&H00494847,&H000000FF,&H00000000,&H00FFFFFF,0,0,0,0,100,100,0,0,1,0,1.5,8,10,10,10,1
Style: ED_JP,FOT-Rodin ProN B,54,&H00B28741,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,0,0,2,10,10,24,1
Style: ED_CH,FZLanTingHei-B-GBK,52,&H00B28741,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,0,0,8,10,10,24,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:00.00,Default,,0,0,0,,Dialogue
Dialogue: 0,0:00:31.24,0:00:32.01,Dial_JP,,0,0,0,,祥ちゃん
Dialogue: 0,0:00:32.56,0:00:34.26,Dial_JP,,0,0,0,,良かった 来てくれて
Dialogue: 0,0:00:34.66,0:00:36.62,Dial_JP,,0,0,0,,びしょぬれじゃない 大丈夫
Dialogue: 0,0:00:37.08,0:00:39.94,Dial_JP,,0,0,0,,学校休んでるし 返事も全然ないから
Dialogue: 0,0:00:42.13,0:00:43.86,Dial_JP,,0,0,0,,今日は言うことがあって来ましたの
Dialogue: 0,0:00:46.69,0:00:49.90,Dial_JP,,0,0,0,,CRYCHICを やめさせていただきますわ
Dialogue: 0,0:00:56.22,0:00:57.93,Dial_JP,,0,0,0,,ちょ… ちょっと待って
Dialogue: 0,0:00:58.34,0:00:59.62,Dial_JP,,0,0,0,,いったん座らない
Dialogue: 0,0:01:01.67,0:01:03.79,Dial_JP,,0,0,0,,どうして 何かあった
Dialogue: 0,0:01:04.16,0:01:05.64,Dial_JP,,0,0,0,,私たちには言えない
Dialogue: 0,0:01:06.02,0:01:08.16,Dial_JP,,0,0,0,,それとも私たちが原因
Dialogue: 0,0:01:09.75,0:01:11.78,Dial_JP,,0,0,0,,ダメな所あったら 直すから
Dialogue: 0,0:01:12.29,0:01:14.02,Dial_JP,,0,0,0,,私ひとりの問題ですから
Dialogue: 0,0:01:15.98,0:01:16.99,Dial_JP,,0,0,0,,どうして
Dialogue: 0,0:01:17.42,0:01:19.62,Dial_JP,,0,0,0,,この前のライブ楽しかったじゃない
Dialogue: 0,0:01:20.06,0:01:22.06,Dial_JP,,0,0,0,,またやりたいって話してたよね
Dialogue: 0,0:01:22.06,0:01:23.03,Dial_JP,,0,0,0,,言ってませんわ
Dialogue: 0,0:01:23.31,0:01:26.21,Dial_JP,,0,0,0,,そうだっけ…
Dialogue: 0,0:01:27.39,0:01:30.52,Dial_JP,,0,0,0,,でも CRYCHICを始めたのは祥ちゃんだよ
Dialogue: 0,0:01:30.87,0:01:32.35,Dial_JP,,0,0,0,,祥ちゃんがやめたら…
Dialogue: 0,0:01:36.29,0:01:38.91,Dial_JP,,0,0,0,,本当にやめちゃうの
Dialogue: 0,0:01:40.33,0:01:41.96,Dial_JP,,0,0,0,,燈が聞いてるんだけど
分析字幕文件

我现在需要使用notepad的取代功能批量删除日文部分的字幕,首先我们得先分析一下要怎么批量选中日文字幕而不波及简体字幕
Dialogue: 0,0:00:31.24,0:00:32.01,Dial_JP,,0,0,0,,祥ちゃん 这是第29行的日文字幕
Dialogue: 0,0:14:13.91,0:14:16.47,Dial_JP,,0,0,0,,個性的な人が集まりやすいんだね 这是第275行的日文字幕
Dialogue: 1,0:06:04.30,0:06:05.72,Dial_CH,,0,0,0,,没有这回事啦 而这是第517行的简体字幕
可以看到他们的结构分别为
日文字幕结构

  1. Dialogue: 一个开头
  2. 1,0:06:04.30,0:06:05.72 跳出字幕的时间、字幕结束的时间
  3. ,Dial_JP,,0,0,0,, 表示这部分是日文的字幕跟一些其他参数
  4. 祥ちゃん 日文字幕本体
    简体字幕结构
    只有3,也就是,Dial_CH,,0,0,0,,这部分与日文字幕的结构不同
使用文件查找功能批量删除日文字幕

使用ctrl + shift + F 或者 搜索 => 在文件中查找开启文件查找功能
我这里使用这条正则命令批量删除字幕中的日文字幕
请务必在每次替换之前确认替换目录 Dialogue:.*,Dial_JP.*\r\n
大概解释一下这条正则命令,如果你想细学或者说你以后遇到的字幕文件跟我的不太一样,再进行一些小修小改应该就能用了
几个关键词

  1. Dialogue: 查找Dialogue:开头的东西
  2. .* 匹配任何东西,直到遇到下个关键词
  3. ,Dial_JP 匹配,Dial_JP
  4. .* 继续匹配任何东西,直到遇到下个关键词
  5. \r\n 换行,如果不匹配这个,字幕文件会有一大堆空行,但不是所有字幕文件都是使用\r\n换行
    也可以把匹配命令改为Dialogue:.*,Dial_CH.*,然后使用notepad自带的 移除空行 功能,点击编辑=>行操作=>移除空行即可 批量删除日文字幕
移除op/ed字幕

移除掉日文字幕后拉到文件后方,会发现还有一堆看不懂的东西,这些东西是特效字幕的ed,因为我拿来举例的第一集没有op的关系,所以等会还得开第二集的字幕文件来删除op

1
2
3
4
Dialogue: 0,0:22:13.62,0:22:14.34,ED_JP,,0,0,0,,{\an5\c&HFFEBCA&\move(737,1007,746,1029,0,620)\fscx20\fscy20\t(0,620,\fscx100\fscy100\c&HB28741&)\blur20\alpha80\fad(0,400)}全
Dialogue: 0,0:22:13.62,0:22:14.34,ED_JP,,0,0,0,,{\an5\c&HFFEBCA&\move(703,971,746,1029,0,620)\fscx20\fscy20\t(0,620,\fscx100\fscy100\c&HB28741&)\blur20\alpha80\fad(0,400)}全
Dialogue: 1,0:22:14.24,0:22:17.19,ED_JP,,0,0,0,,{\an5\move(746,1029,779,1038,2150,2950)\t(0,200,\blur0.5)\fad(200,200)\t(2150,2650,\blur20\fscx20\fscy20\alpha80\c&HEBEBEB&)}全
Dialogue: 1,0:22:14.24,0:22:17.19,ED_JP,,0,0,0,,{\an5\move(746,1029,700,1051,2150,2950)\t(0,200,\blur0.5)\fad(200,200)\t(2150,2650,\blur20\fscx20\fscy20\alpha80\c&HEBEBEB&)}全

这些是中文的ed

1
2
3
4
Dialogue: 1,0:22:54.72,0:22:57.34,ED_CH,,0,0,0,,{\an5\move(1033,50,1097,35,1820,2620)\t(0,200,\blur0.5)\fad(200,200)\t(1820,2320,\blur20\fscx20\fscy20\alpha80\c&HEBEBEB&)}都
Dialogue: 1,0:22:54.72,0:22:57.34,ED_CH,,0,0,0,,{\an5\move(1033,50,1005,98,1820,2620)\t(0,200,\blur0.5)\fad(200,200)\t(1820,2320,\blur20\fscx20\fscy20\alpha80\c&HEBEBEB&)}都
Dialogue: 0,0:22:54.16,0:22:54.88,ED_CH,,0,0,0,,{\an5\c&HFFEBCA&\move(1088,51,1076,50,0,620)\fscx20\fscy20\t(0,620,\fscx100\fscy100\c&HB28741&)\blur20\alpha80\fad(0,400)}是
Dialogue: 0,0:22:54.16,0:22:54.88,ED_CH,,0,0,0,,{\an5\c&HFFEBCA&\move(1128,-22,1076,50,0,620)\fscx20\fscy20\t(0,620,\fscx100\fscy100\c&HB28741&)\blur20\alpha80\fad(0,400)}是
1
2
3
Dialogue: 0,0:02:40.22,0:02:43.47,OP_JP,,0,0,0,,{10\pos(960,1068)\alphaF1\blur2\bord0\fad(0,363)\clip(m  526.6015625  981.5  b  497.0015625  981.5  471.1015625  1007.4  471.1015625  1037  b  471.1015625  1066.6  497.0015625  1092.5  526.6015625  1092.5  b  556.2015625  1092.5  582.1015625  1066.6  582.1015625  1037  b  582.1015625  1007.4  556.2015625  981.5  526.6015625  981.5  )}アスファルト染めていく 溢れ出したスコ一ル
Dialogue: 0,0:02:40.01,0:02:40.05,OP_JP,,0,0,0,,{10221\pos(960,1068)\alphaF1\blur2\bord0\fad(0,0)\clip(m  530.935546875  1007  b  522.935546875  1007  515.935546875  1014  515.935546875  1022  b  515.935546875  1030  522.935546875  1037  530.935546875  1037  b  538.935546875  1037  545.935546875  1030  545.935546875  1022  b  545.935546875  1014  538.935546875  1007  530.935546875  1007  )}アスファルト染めていく 溢れ出したスコ一ル
Dialogue: 0,0:02:40.05,0:02:40.09,OP_JP,,0,0,0,,{2\pos(960,1068)\alphaF1\blur2\bord0\fad(0,0)\clip(m  535.26953125  993.5  b  520.06953125  993.5  506.76953125  1006.8  506.76953125  1022  b  506.76953125  1037.2  520.06953125  1050.5  535.26953125  1050.5  b  550.46953125  1050.5  563.76953125  1037.2  563.76953125  1022  b  563.76953125  1006.8  550.46953125  993.5  535.26953125  993.5  )}アスファルト染めていく 溢れ出したスコ一ル
1
2
3
Dialogue: 1,0:02:03.56,0:02:03.97,OP_CH,,0,0,0,,{\an5\pos(1253.5,44)\p1\blur1\3a80\1aFF\t(0,41.7083,\fscx100\fscy100)\t(41.7083,83.4166,\fscx190\fscy190)\t(83.4166,125.1249,\fscx230\fscy230)\t(125.1249,166.8332,\fscx265\fscy265)\t(166.8332,208.5415,\fscx295\fscy295)\t(208.5415,250.2498,\fscx320\fscy320)\t(250.2498,291.9581,\fscx340\fscy340)\t(291.9581,333.6664,\fscx355\fscy355)\t(333.6664,375.3747,\fscx365\fscy365)\t(375.3747,417.083,\fscx370\fscy370)\bord4\t(0,417.083,\bord0)\blur1.5\3a80\3c&H626063&}m 20 0 b 10 0 0 10 0 20 b 0 31 10 40 20 40 b 31 40 40 31 40 20 b 40 10 31 0 20 0 {\p0}
Dialogue: 0,0:02:03.68,0:02:03.72,OP_CH,,0,0,0,,{607681\pos(960,12)\alpha99\1aFF\bord3\3c&H626063&\fad(0,0)\clip(m  607  53  b  599  53  592  60  592  68  b  592  76  599  83  607  83  b  615  83  622  76  622  68  b  622  60  615  53  607  53  )}是第一滴雨让今天的我抬起了头
Dialogue: 0,0:02:03.72,0:02:03.77,OP_CH,,0,0,0,,{2\pos(960,12)\alpha99\1aFF\bord3\3c&H626063&\fad(0,0)\clip(m  607  39.5  b  591.8  39.5  578.5  52.8  578.5  68  b  578.5  83.2  591.8  96.5  607  96.5  b  622.2  96.5  635.5  83.2  635.5  68  b  635.5  52.8  622.2  39.5  607  39.5  )}是第一滴雨让今天的我抬起了头

废话不多说了,自己学习一下分析结构,删除op/ed的代码为
Dialogue:.*,ED_JP.*\r\n 这段能删除日文ed Dialogue:.*,ED_CH.*\r\n 这段则是删除中文ed Dialogue:.*,OP_JP.*\r\n 日文op Dialogue:.*,ED_JP.*\r\n 中文op 删除ed与op的时候可以吧目录选到上级目录,顺便把等会要的简中字幕里的oped都一起删了,省的同一个操作做两次 批量删除oped

检查字幕是否清理干净了

再次检查字幕会发现还有一些没清理干净的,他们的开头不是Dialogue而是Comment,这导致了有一部分不要的字幕还留着
我自己做的时候一般是不会用上面那种命令清理的,而是比较粗暴的.*,ED_CH.*\r\n 这样清理,一步步来主要是带着理解这些东西是干啥的,之后有遇到其他的问题才能自己解决

1
2
3
Comment: 1,0:02:20.41,0:02:22.00,OP_JP,,0,0,0,,{\fad(240,240)}遮って隠れた
Comment: 1,0:02:22.00,0:02:24.87,OP_JP,,0,0,0,,{\fad(240,240)}そっと逃げ込んでいた
Comment: 1,0:02:25.21,0:02:27.75,OP_JP,,0,0,0,,{\fad(240,240)}ビニ一ル越しの空から
1
2
3
4
Comment:.*,OP_JP.*\r\n
Comment:.*,OP_CH.*\r\n
Comment:.*,ED_JP.*\r\n
Comment:.*,ED_CH.*\r\n

删除comment开头的op/ed

之后还有
1
2
3
4
Dialogue: 1,0:16:43.45,0:16:46.90,IN_CH_EP07_M2,,0,0,0,,{\fad(360,360)\blur2}难过却令人喜爱
Dialogue: 1,0:16:46.90,0:16:50.81,IN_CH_EP07_M2,,0,0,0,,{\fad(360,360)\blur2}我现在开始明白了
Dialogue: 1,0:16:50.81,0:16:54.24,IN_CH_EP07_M2,,0,0,0,,{\fad(360,360)\blur2}幸福又疯狂之间
Dialogue: 1,0:16:54.24,0:16:58.02,IN_CH_EP07_M2,,0,0,0,,{\fad(360,360)\blur2}曾经哭不出来的我

这就是我说为什么尽量别选音乐番、一堆人叽叽喳喳的番,清理字幕会让你头非常大,这次的清理命令是

1
2
.*,IN_CH_EP.*\r\n
.*,IN_JP_EP.*\r\n
之后还有!
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
Dialogue: 0,0:03:28.15,0:03:32.11,Staff,,0,0,0,,{\fad(500,500)\blur0.6}本字幕由制作  仅供交流试看之用  请勿用于商业用途\N翻译: 后期: 繁化&特效:
Comment: 0,0:00:00.00,0:00:00.00,Default,,0,0,0,,IN「碧天伴走」
Comment: 0,0:00:00.00,0:00:00.00,Default,,0,0,0,,IN「春日影」
Comment: 0,0:01:58.01,0:01:58.01,Default,,0,0,0,,OP「壱雫空」
Comment: 0,0:20:58.99,0:21:00.82,Default,,0,0,0,,ED「栞」
Comment: 0,0:20:58.99,0:21:00.83,Default,,0,0,0,,ED「栞」
Dialogue: 0,0:09:54.03,0:09:59.45,Cmt_CH,,0,0,0,,注:德彪西《亚麻色头发的少女》。
Comment: 0,0:00:00.00,0:00:00.00,Default,,0,0,0,,Screen
Dialogue: 0,0:09:18.00,0:09:24.50,Screen,,0,0,0,,{\c&HE48885&\frz9.86\fax-0.2\move(86,121,813.6,-2.21,16,6481)}足球部
Dialogue: 3,0:09:18.00,0:09:24.50,Screen,,0,0,0,,{\c&H47524F&\frz4.059\fax-0.1\move(523,371,1250.6,247.79,16,6481)\xshad1\yshad-0.5\4c&H81D0F3&}田径部
Dialogue: 2,0:09:18.00,0:09:24.50,Screen,,0,0,0,,{\c&H47524F&\frz4.059\fax-0.1\move(523,371,1250.6,247.79,16,6481)\xshad2\yshad-1\4c&H81D0F3&\3a&HFF&\1a&HFE&}田径部
Dialogue: 1,0:09:18.00,0:09:24.50,Screen,,0,0,0,,{\c&H47524F&\frz4.059\fax-0.1\move(523,371,1250.6,247.79,16,6481)\xshad3\yshad-1.5\4c&H81D0F3&\3a&HFF&\1a&HFE&}田径部
Dialogue: 0,0:09:18.00,0:09:24.50,Screen,,0,0,0,,{\c&H47524F&\frz4.059\fax-0.1\move(523,371,1250.6,247.79,16,6481)\xshad4\yshad-2\4c&H81D0F3&\3a&HFF&\1a&HFE&}田径部
Dialogue: 0,0:14:00.32,0:14:05.07,Screen,,0,0,0,,{\an7\fs32\c&H6A6D6A&\pos(10,10)}和大家一起看星星噜噜噜!\N\N今天的星星格外闪亮\N\N没事干打扫活动室的时候\N发现了历代天文部成员的有趣物品\N\N\N在活动室角落发现了仙女座星系!\N\N云好多,星星都被遮住了\N\N但愿明天是个晴天\N\N\N今天的月亮好大
Dialogue: 0,0:14:00.32,0:14:05.07,Screen,,0,0,0,,{\an7\fs32\c&H6A6D6A&\pos(1404,10)}今天看星星了!\N\N星空特别噜!\N\N\N居然面临废部危机?!\N\N\N今天把天文望远镜擦干净了\N\N\N欢迎来到天文部!\N\N这间活动室藏着好多谜团和惊喜,找找看吧。\N\N就算成员只剩我也没关系!\N\N只要跟学生会好好汇报活动成绩就好。\N那么从今往后就靠你了,未来的天文部员!

这些看个人,剩下的不多了,可以制作完卡组后遇到了再删掉(因为数量不多),这些一般是特效字幕,比如翻译菜单、手机短信、画面中日记的内容等等,正常看动画的时候那些没有爱的版权字幕是不会翻译这些的,版权字幕或许观看体验差、翻译差,但如果是要拿来当subs2srs材料的话优于字幕组字幕就是这个原因
我习惯是一样删了

1
2
3
4
5
6
7
.*,Default.*\r\n
.*,Screen.*\r\n
.*,Staff.*\r\n
.*,Title.*\r\n
.*,Cmt_CH.*\r\n
.*,Cmt_JP.*\r\n
.*,Phone.*\r\n
最后估计还是会剩点,有看到顺手删了,没看到就算了吧

特效字幕

到这里字幕基本就处理完了,如果有些听障字幕之类的也是批量取代自己想办法删掉,不一一列举了,分离双语字幕在文本处理中已经是几乎最难的了(指的是处理subs2srs需要用到的字幕所需要的文本处理技术)

使用ffs调整时间轴

直接看上方表格软件的示例部分,懒得多写一次了
点此跳转到表格软件>简单示例

使用subs2srs制作卡组

我这里示例的文件名如下,mkv是视频,jp.srt结尾的是日语字幕,sc.srt结尾的是中文字幕

1
2
3
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv.ffsout.jp.srt
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv.ffsout.sc.srt

开启subs2srs.exe,分别填入subs1 output subs2 video,可以点击按钮然后选取目录,也可以直接填入文字框,个人建议sub1填日文字幕,之后导入的时候会方便点

填入文件

这是我希望输出的目录D:\anki_deck\out\mygo

1
2
3
4
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv.ffsout.jp.srt
D:\anki_deck\out\mygo
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv.ffsout.sc.srt
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [01].mkv

因为我希望一次制作一部动画(13集),所以需要修改一下文字框的内容,使用*来匹配

1
2
3
4
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [*].mkv.ffsout.jp.srt
D:\anki_deck\out\mygo
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [*].mkv.ffsout.sc.srt
D:\BanG Dream! It’s MyGO!!!!!\BanG Dream! It’s MyGO!!!!! [*].mkv

也可以

1
2
3
4
D:\BanG Dream! It’s MyGO!!!!!\*.mkv.ffsout.jp.srt
D:\anki_deck\out\mygo
D:\BanG Dream! It’s MyGO!!!!!\*.mkv.ffsout.sc.srt
D:\BanG Dream! It’s MyGO!!!!!\*.mkv

填写卡组名称

在最下方的 Naming区块填写你希望导出的卡组名称

其余选项

请参考我文章的subs2srs界面介绍部分 点此跳转 subs2srs > 页面介绍

预览导出

点击Preview预览会弹出预览窗口,随便选几个句子看看有没有错误
比如说句子前半个音背截掉之类的,如果有的话回去微调一下Pad Timings,没问题的话点击Go

mygo

导入anki

  1. 开启anki
  2. 创建牌组(建议直接写番名)
  3. 左上角文件=>导入,或ctrl + shift + i
  4. 选中subs2srs导出的tsv文件
    如果你sub1是选日文,字段那里点第一个,然后按一下键盘的方向键下,然后再按Enter就行,第六个 导入选项 => 笔记模板:Japanese-sub2srs,牌组:刚刚创建的牌组,现有笔记:复制
    字段匹配 => 1~5 => 2~6. 6 => 无, 标签 => 6
    标签其实可以不用填(我自己都是懒得填),辨别句子或者查出处用其他字段也是一个效果
字段顺序 字段名称 字段对照
1 SequenceMaker 字幕顺序
2 Audio 音频文件名
3 Snapshot 图片文件名
4 Expression 日文字幕
5 Readming 中文字幕
新版在最后面 tag 标签
  1. 导入媒体文件
    媒体文件在subs2srs导出资料夹那tsv格式文件所在的资料夹会有一个卡组名称.media,拷贝这个资料夹里面的文件(不拷贝资料夹)
    拷贝到%apptada%\Anki2\账户 1\collection.media,如果你有把Anki2资料夹移到别的地方,那就贴到那

导入anki 导入媒体文件

处理卡组

删除重复

  1. 点击浏览
  2. 在左方的牌组选择刚刚的卡组
  3. 复制一下上方卡片搜索栏跳出的文字,我这里是deck:mygo
  4. 依次点击笔记=>查找重复
    • 搜索位置选择Expression
    • 可选筛选器填写刚刚复制的东西,我这里是deck:mygo
  5. 删除掉一些低质量卡组,如惊吓声、语气词、表情之类的的
    超过10条的 or 特别短的,稍微看几眼就行了

给汉字添加假名

  1. 点击浏览
  2. 在左方的牌组选择刚刚的卡组
  3. 右边卡片列表随便点一个,然后ctrl + a全选
  4. 点击编辑 => Bulk-add Readings
    anki会卡死一阵子,这是在给卡片添加假名,不要关掉anki,跑完后随便点张带汉字的卡,会发现原本空着的Reading改变了
    添加汉字
    ps. 批量添加的假名其实会有不少错误,有心的话可以稍微改改主要人物名称的假名,去wiki或者萌娘百科之类的查角色假名读法,然后查找并替换,查找字段选Reading,比如四宮[しの]错误,就搜索四宮[しの],替换为四宮[しのみや]
    修正常出现的错误汉字就行,比如主要角色的人名或者像是摇曳露营中的 明明是 まき 但他会填成 まきぎ (这个汉字在动画中出现几十次),别的错误在学习中遇到了再改就好

导出卡组

  1. 导出
  • anki主页面鼠标移动到卡组名称上,右边会显示一个齿轮
  • 点击ctrl + e
  • 点击文件 => 导出
  1. 选择导出anki牌组包(apkg)
  2. 选择需要导出的卡组,勾选包含媒体文件,其余不勾选
0%