跳到主要内容
SubtitleMatrix

字幕语音配音

媒体输入字幕配音

首次运行会下载声线模型和音素化器 —— 合计约 98 MB,由本站提供,之后浏览器会缓存。你拖入的字幕或文本从不离开这个标签页。选择 MP3 或 M4A 会再下载 31 MB 的编码器,这也是 WAV 成为默认值的原因。

选项

声线决定口音和音色,还有一个不那么明显的作用 —— 决定文本按哪套语音系统朗读。把西班牙语声线配到英文句子上不会报错:它会用西班牙语的发音去读英文单词,这比一条报错更糟。这里提供七种语言,而不是十二种,因为这一页附带的音素化器没有日文或中文声线。在投入长文件之前先听一小段;所有声线共用同一个模型,所以切换的代价是一次合成,而不是一次下载。

声线朗读的快慢,叠加在模型认为自然的语速之上。慢 是 0.8×,快 是 1.2× —— 刻意温和,因为超过大约 1.5× 后模型会开始吞字,听起来像在赶而不是在快说。当某条字幕的时间太短、放不下它的台词时,这一页会自行把速度提高到最多 1.4×,然后再截断,而那次提速会与这里选的设置相乘。

WAV 是未压缩的 24 kHz 单声道,在这里直接写出,完全不需要编码器 —— 所以它是默认值,也不需要为它额外下载任何东西。MP3 和 M4A 需要 31 MB 的视频引擎来压缩,但体积大约是前者的十分之一:十分钟语音作 WAV 约 28 MB,作 MP3 约 2.8 MB。只想试听声线用 WAV,要把文件发给别人用 MP3。

这一页把字幕文件变成一条跟随它的声音轨。每条字幕都会被朗读,并放在它开始的那一刻,产物是一个音频文件 film.wav——文字落在字幕下面,而不是彼此叠在一起。字幕之间的空隙用静音填满,总长度与最后一条字幕的终点一致,所以这段音频可以铺回字幕原本对应的画面上。

这一页与文本转语音朗读分开存在,原因是时间轴才是难点。一句需要四秒说完的话,却只有两秒的字幕,不能直接塞进去:它会压到下一条上,两条声音同时响是噪声,不是配音。所以每一行先按你选的语速合成一次、测量长度;放不下就再合成一次更快的版本,最高到 1.4 倍。仍然放不下的部分会在下一条字幕开始时截断,受影响的条数作为有损记录报出来,而不是被吞掉。

声线一共十条,覆盖七种语言:美国英语、英国英语、西班牙语、法语、意大利语、印地语和巴西葡萄牙语。声线不只是音色——它决定文字按哪种语言的发音来读,所以拿西班牙语声线去读英文,得到的是两者都不是的东西。日语和中文刻意缺席:这一页附带的音素化器没有这两种语言的声线,把它们列出来只会产出自信的胡话,而不是一条错误提示。

工作在本地完成。约 98 MB 的模型与音素化器从本站下载一次,之后由浏览器缓存;字幕文件本身从不离开标签页。默认输出 WAV,因为这完全不需要编码器——选择 MP3 或 M4A 会额外加载 31 MB 的 ffmpeg 核心来压缩结果,对任何要发给别人的成品都值得。

常见问题

SRT 本身没问题,为什么字幕语音配音偶尔会把一句话截短?

因为截断是字幕条的时长造成的,不是文件坏了。一条只显示 1.8 秒的字幕,容不下一句要说三秒的话,除非把语速推过 1.4 倍——而过了这个点,字就听不清了。页面先按你选的语速合成,再按刚好放得下的速度重合成一次,上限 1.4 倍;仍然超时就下一条字幕开始时截断,保证两条声音不同时响,受影响的条数出现在队列下方的有损报告里。

字幕语音配音读取 ASS 时,样式、颜色和屏幕位置会怎样?

会被丢掉,而在这里这是对的——音频没有颜色,也没有屏幕位置。保留下来的是每条字幕的文字与起止时间,这正是摆放所需要的东西。粗体、斜体、卡拉OK 计时和 {\anN} 定位覆写在合成之前就被格式层解析掉了,所以 ASS 里标成斜体的行与其余行用同一条声线朗读。需要保留样式,请先转换字幕;这一页的产物是声音。

一条两行的 SRT 字幕会被读成一句连续的话吗?

会,而且总是如此。cue 内部的硬换行是排版决定——字幕员认为这一行在屏幕上太长了——不是说话人停顿的地方。所以两行会用空格拼起来,作为一句话合成,这就是为什么跨行拆开的字幕听起来仍是一口气,而不是两个人在轮流说。只有 cue 与 cue 的边界才会在产物里产生停顿。

字幕语音配音实际能读哪些语言,日语字幕会怎样?

七种:en-US、en-GB、es、fr、hi、it 和 pt-BR。日语和中文不在其中,因为这一页附带的音素化器(espeak-ng)没有这两种语言的声线,尽管语音模型本身训练过它们。把日语 .srt 喂给英语声线不会响亮地失败——拉丁字母被按英语读,假名和汉字被跳过或读乱。这些语言的诚实做法是等一个带日语音素化器的版本,而不是接受一条听起来像样、其实是错的音轨。

字幕语音配音默认给 WAV,值得为 MP3 多下 31 MB 吗?

只要成品超过几分钟,就值得。WAV 是未压缩的 24 kHz 单声道 PCM,十分钟配音大约 28 MB;同样内容编码成 128 kbps 的 MP3 只有约 2.8 MB。代价是 MP3 和 M4A 要先下载一次 31 MB 的 ffmpeg 核心,这也是 WAV 成为默认值的原因:只想听听声线效果时,一个字节都不用多下。编码器缓存之后,用同样设置再转同一份字幕会很快。

字幕语音配音生成到一半能取消吗?

能,而且是立刻生效。合成引擎跑在它自己的 Web Worker 里,取消就是终止这个线程,不用等当前句子读完;先生成好的片段不会作为半成品提供下载,字幕文件本身也不受影响。这也是它比转写页的取消更快的原因——转写只能在下一个 30 秒窗口之前停下。

相关工具