文字转语音时长:我的文字读出来要多久?
在为脚本配音之前,通常需要先知道时长:30 秒的广告位、60 秒的短视频、10 分钟的播客、必须控制在一节课内的课程。光看字数说明不了问题,因为每种语言、每个声音的语速都不同。请注意:Supertonic 3 暂不支持中文,下面的数据适用于其他语言。
我们用 SuperClonica 引擎以默认语速朗读同一个故事的七种语言版本并做了测量,你可以在配音前估算时长,然后用一行 Python 得到精确秒数。
实测语速
测量使用一段平静的叙事文字,男女两个标准声音、默认语速;两个声音相差不到百分之三。
- 英语:每分钟约 190 个单词,约 1000 个字符。
- 西班牙语、德语和法语:每分钟约 165 个单词。
- 葡萄牙语:每分钟约 150 个单词。
- 俄语:每分钟约 130 个单词。
- 日语:每分钟约 320 个字。
在线免费试听语速
在任意声音页面输入 30 到 100 个字符并点击生成按钮,几秒后就能听到该声音在你所选语言中的语速,无需注册。
快速估算
留出几秒余量:把时段填满到最后一秒的脚本,加上音乐和停顿后会显得很赶。
- 30 秒广告:英语约 95 个单词。
- 60 秒短视频:英语约 190 个单词。
- 10 分钟播客或视频:英语约 1900 个单词。
- 英语 1000 个单词:约 5 分 15 秒。
脚本的精确时长
语速几乎按比例改变时长:默认是 1.05,--speed 0.85 会让同一段文字长约四分之一。要得到精确时长,请用 python -m pip install superclonica-cpu 安装免费引擎,把脚本存为 script.txt 并运行:from superclonica import Superclonica; tts = Superclonica(); audio, rate = tts.synthesize(open('script.txt', encoding='utf-8').read(), 'M1', 'en'); print(round(len(audio) / rate, 1), 'seconds')。Docker 服务器也会在 X-Duration-Seconds 响应头中返回同样的数值。
为什么实际会更长
数字会被转写成单词,1250 或 2027 会变成好几个读出来的词。缩写可能被完整读出。句号多、行与行之间插入静音都会增加时长,而没有逗号的长句读得更快。不要只依赖平均值,用真实脚本测一次。