跳到主要内容
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。

这一页把文字读出声。粘贴一段文字,或拖入一个文件——.txt、.srt、.vtt,本站认得的十二种字幕格式都行——选一条声线,得到整段内容从头读到尾的单个音频文件。这里不做任何对时,因为没有什么可以对齐:产物是一段连续的朗读,不是铺在画面下面的轨。

拖入的是字幕文件时,时间码会被解析掉并丢弃。被读的是每条 cue 的文字,按顺序拼成段落;一条 cue 内部的换行会变成空格,因为那只是屏幕上的排版决定;cue 的边界则完全不产生任何东西。这与字幕语音配音那一页正好相反,两页并排存在,是为了让选择摆在明面上,而不是藏在某个勾选框里:一页产出跟随时间轴的声音,另一页产出自然流动的声音。

文字是分段合成的,不是一口气合成。模型的 tokenizer 会在 510 个音素之后静默截断——一篇两千字的文章会只剩下开头两句,而文件看起来完全正常。所以文字先按段落切开,再按句末标点切开,单句超过 400 个字符时继续硬切;这些片段依次合成,中间留一段短停顿。取消也在这一步生效:朗读在自己的线程里进行,取消按钮会在一瞬间停住它,而不用等当前句子说完,合成期间页面始终可用。

声线共十条,覆盖七种语言——美国英语、英国英语、西班牙语、法语、意大利语、印地语和巴西葡萄牙语。日语和中文不提供:用来决定发音的音素化器没有这两种语言的声线,一个标着日语的选项只会把汉字按英文字母读出来,听起来还很有把握。约 98 MB 的模型与音素化器下载一次后缓存;你粘贴的文字从不离开浏览器,这在段落是一封客户来信或一份病历的时候尤其重要。

常见问题

把 .srt 拖进文本转语音朗读,会连时间码和序号一起读出来吗?

都不会。文件用与转换页相同的格式层解析,只保留每条 cue 的文字——序号、00:00:01,000 这样的时间码结构,以及 <i> 或 {\pos()} 这类行内标签,都在合成之前被去掉。你听到的是按出现顺序排列的词。若希望时间码被尊重而不是丢弃,请用字幕语音配音那一页,它把每条字幕放在自己的开始时间上。

文本转语音朗读的粘贴框能放一整篇文章吗?

整篇文章也可以,因为文字在进入模型之前会被切块。粘贴的内容会包装成一份纯文本文件,进入与拖入文件相同的队列,因此得到同样的 400 字符切块、同样的进度条和同样的取消按钮。实际限制是内存而不是长度:一篇长文会产生很长的 WAV,而一小时 24 kHz 单声道 PCM 有几百 MB,所以朗读超过几分钟时,选 MP3 是值得的。

为什么文本转语音朗读的句间停顿比字幕配音更长?

因为片段之间会插入四分之一秒静音,避免相邻句子黏在一起;而字幕配音页把每一行放在 cue 的精确起点,并填满字幕本来就有的空隙。这里无论内容如何都是固定的 250 毫秒,因为没有时间轴要忠实于。同一个片段内部的句子由模型按标点自行连接,所以只有片段边界——大约每 400 个字符——才会多出那段停顿。

文本转语音朗读里,西班牙语和葡萄牙语各有哪些声线?

各一种:西班牙语是 ef_dora,巴西葡萄牙语是 pf_dora;此外还有美国英语的 af_heart、af_bella、am_michael,英国英语的 bf_emma、bm_george,法语的 ff_siwis、印地语的 hf_alpha 和意大利语的 if_sara。英语有多种声线,是因为那里的配音需求最多;其他语言只给一条,让列表短到可以逐个试听。声线既决定口音也决定音色,因此也决定文字按哪种语言的音素来读。

文本转语音朗读生成的 MP3 或 M4A 能直接当播客片段发布吗?

技术上可以——两者都是本地 ffmpeg 编出的标准容器,音频是 24 kHz 单声道,对人声够用,对音乐偏薄。编辑上,发布前请先听:模型偶尔会吞掉结尾的辅音、把专有名词的重音放错,或者把缩写逐字母读出来。整个过程没有任何上传,也不含水印或跟踪;但合成声音本身不携带披露信息,如果你的听众预期是真人朗读,请说明这是哪一种。

相关工具