1987WEB视界-分享互联网热点话题和事件

您现在的位置是:首页 > 短视频 > 正文

短视频

利用人工智能生成字幕srt文件,在剪映里进行批量配音的方法

1987web2023-06-09短视频136
用过剪映桌面版都知道,它提供了几十种声音的朗读生成,而且都是很自然的声音,但是到目前为止有一个很大痛点,就是无法把一大段文本直接朗读.你得一句一句在剪映添加好文本后才能朗读,效率太低了

用过剪映桌面版都知道,它提供了几十种声音的朗读生成,而且都是很自然的声音,但是到目前为止有一个很大痛点,就是无法把一大段文本直接朗读.你得一句一句在剪映添加好文本后才能朗读,效率太低了

但是剪映提供了导入srt字幕文件,字幕文件可以一次性生成全部视频文本.全选后就能全部朗读了.这不失一种间接但高效的方法.

现在的问题就变成如何找到把大段文本变成srt字幕文件的方法了.如果人工来转换,还是直接剪映里一句一句字幕加还来得快.

然而人工智能对话工具chatGPT的出现,除了生成程序代码外,我试试过常见的不同文本文件也能生成,而srt恰好就是一种文本格式.

SRT文本格式

srt的全称是SubRip Text,每个字幕段,即一句字幕

由四部分构成:

字幕序号字幕显示的起始时间字幕内容(可多行)空白行(表示本字幕段的结束)

以下就一句字幕样例

1

00:00:00,000 --> 00:00:06,000

用chatGPT写代码已经不稀奇了.

2

因此我们只要让ai把大段文本生成这个格式就行.

生成srt字幕的关键字

但是让chatGPT明白生成srt字幕,必须要告诉它,每行带时间标注.否则他会生一段格式化的文本而且srt ,而且每句字幕无论长短为固定5秒,所以你可开始告诉设置别的间隔.

所以成功生成字幕可以以下说明开头:

"把下面一段文案用人类正常语速断句生成SubRip Text格式字幕文本,每行开始每一行前面要包含srt时间标签,每句6秒钟"

这样chatGPT就明白要生成srt.注意必须要是SubRip Text全称.后面接你要生成文本内容即可

下面就是chatGPT生成的srt文本

1 00:00:00,000 --> 00:00:06,000 用chatGPT写代码已经不稀奇了.

2 00:00:06,000 --> 00:00:12,000 我突发奇想,能不能直接用一段文本描述生成日程呢?

3 00:00:12,000 --> 00:00:18,000 比如这一段:"明天10:30在深圳北站坐G2303列车前往长沙".

4 00:00:18,000 --> 00:00:24,000 刚开始它是生成失败了.

5 00:00:24,000 --> 00:00:30,000 因为chatGpt表示不能生成文件.

6 00:00:30,000 --> 00:00:36,000 建议用日历软件去生成.

7 00:00:36,000 --> 00:00:42,000 最后我换了问法:"示范一个iCalendar文本例子".

8 00:00:42,000 --> 00:00:48,000 然后就生成一个标准的iCalendar日程文本.

9 00:00:48,000 --> 00:00:54,000 把这段代码文本另存为ics文件.

10 00:00:54,000 --> 00:01:00,000 就能导入到各种日程文件当中.

11 00:01:00,000 --> 00:01:06,000 当然手动操作这一过程是很麻烦.

12 00:01:06,000 --> 00:01:12,000 但是如果用app使用它的api自动完成这一步呢?

13 00:01:12,000 --> 00:01:18,000 这一直是我使用日程软件一个痛点.

14 00:01:18,000 --> 00:01:24,000 一个简单小事要在日历app或软件控件上上写一堆文字才能用.

15 00:01:24,000 --> 00:01:30,000 用语言分

把输出结果拷贝出来到保存到一个文本文件,后缀名为srt,这样字幕文件就能导入剪映来操作了

生成字幕产生的问题及解决

注意文本太长,chatGPT生成有可能输出不完全,这时可以输入"continue"或者 继续.

chatGPT会把剩余内容输出

在实践中发现,ai对于字幕的断句是句号或等效的?,!等为换行标志,但是这样往往让一句字幕太长了,因此可以把逗号置换成句点或句号,就是每句分割更短了.

后来反应过来,它是一个智能工具啊,只要在对话中对他说明:"逗号也分割",它就会执行你的指令!

如果你对结果不太满意,可以继续对话,叫他重新排版,比如调整时间等,chatGPT也会照做不误.

当然现在最大问题是当文本过长时,整个对话就停止了,现象就是输出光标的闪烁,但没有输出,你也无法在对话框输入.

在没有找到原因之前,我的解决办在之前,我只能要求chatGPT只生成五句字幕

把下面一段文案用人类正常语速断句生成SubRip Text格式字幕文本,每行开始每一行前面要包含序号,srt时间标签,每句6秒钟,逗号也分割,只需部分生成,最多生成五句字幕

chatGPT执行后,我再继续通知他:"生成第6句以后字幕",它听懂照做.如果还是太长可以9句生成一次问题不大.

在生成时发现最后一句字幕太长了,于是通知它把这句再拆分成3句,还是执行了

最后在剪映中导入字幕统一生成即可,这里发现一个问题,字幕时间间隔是固定的,但是里面文字长短不一,这样生成音频会有重叠,要手工调整很久.

后面想起来,我直接命令他按文字长度调整时长啊,于是我输入如下对话

把每句字幕的时长由文字长度决定?

令人兴奋到有点后怕的结果出来,chatGPT照做了!

运行下,感觉chatGPT是就一个聪明助手,会听懂你的意思反复调整,这样如果性能够,很多以前用脚本或者程序来做文本处理部分,直接由chatGPT代替即可,你是否有其它玩的法