雨夜开车,导航说“前方路口请慢行”。每个字都清晰,语气也礼貌,可我还是下意识把音量调小了一点。不是听不清,而是那句话里没有任何属于人的犹豫——没有换气,没有把某个词放轻,也没有说话人自己的一点点不耐烦。
语音合成这几年进步很快,字正腔圆早就不算难题。真正被反复打磨的,是那些看起来“没必要”的东西。
把字念对之后,剩下的是什么
从拼接式到参数化,再到端到端的神经方法,路线换了几轮,目标却一直相似:让机器发出的声音接近一段真人录音。问题在于,“像”可以在单句上验证,放到长段落就会露出破绽:语调一路平推,句与句之间缺少呼吸,情绪没有起伏,听三分钟就累。
行业内常用“自然度”描述这件事,但这个说法太笼统。拆开看,是重音落在哪个字上、停顿放在哪里、音量是渐弱还是干脆收住、一句话结束时气息还剩多少。语音合成要处理的,正是这些没有写在文本里的信息。
停顿里其实有内容
真人说话很少一路顺畅。想词的时候会拖一下,被打断会重来,说到激动处会抢半拍。这些不流畅,通常被当作瑕疵,但在对话里恰恰是信号:对方在思考,对方在意,对方还没说完。
合成语音如果过度平滑,信息是完整的,关系却是冷的。短视频里那种每个字都饱满、句尾一律上扬的配音,听多了会让人出戏,原因大概就在这里——它把说话人省略掉了,只留下文本。
难的是“多余”的部分
呼吸声、气口、轻微的吞音、说到一半的笑,这些在录音里往往被当作噪声清理掉。等到要合成时才发现,它们其实是判断“这是不是一个人在说话”的线索。让模型学会在合适的位置留下一点不完美,比让它把每个音素发准要麻烦得多:标注难以统一,评价也不容易。
试听打分能测出一部分,却测不出“愿不愿意听完”。人对着一段声音的判断,往往在几秒钟内就完成了,是整体感受,很难归因到某个参数上。
也说说边界
语音合成不是万能工具。需要明确责任归属的场合,合成声音的可信度天然受限;涉及他人声线的复制,授权与使用范围必须说清楚,这不是技术能自行解决的问题。技术越容易用,越需要在使用前想一遍:这段声音由谁负责。
回到开头那个雨夜。我想要的其实不是一段完美的播报,而是一点点人的痕迹——哪怕只是句尾收得没那么整齐。语音合成走到今天,拼的可能不再是发音准不准,而是敢不敢保留那些不必要的地方。