接起一个陌生来电,对方说“您好,请问是……”,句子还没说完,我已经在心里给它贴了标签。不是音色的问题——那些声音早就做得干净、圆润,普通人挑不出毛病。破绽在别处:它不换气,不停顿犹豫,句子和句子之间像用尺子量过。
这其实挺讽刺。我们花了很长时间让机器“说清楚”,真正让人露馅的,却是那些说不清楚的地方。
破绽藏在多余的部分
人说话是有冗余的。一句话说到一半会咽口水,会在“那个”上卡一下,会在句尾把音调放下去表示结束了。这些动作不承载信息,却承载态度:我在想,我不太确定,我说完了。
语音合成过去把力气花在“像不像”,现在更多花在“顺不顺”。声学模型负责把文字变成声学特征,声码器再把这些特征还原成波形。两段都可以做得很精细,但精细不等于自然——一段没有任何瑕疵的音频,反而会让人觉得冷。
技术路线换了几轮,问题没完全换
早期是把人声切成小片段再拼起来,字与字之间常有接缝。后来用参数化方法,声音变平滑了,但也变模糊了,像隔着一层毛玻璃。端到端模型上来之后,自然度确实上了一个台阶,代价是它对数据要求高,遇到训练里没见过的语气,容易答非所问。
所以现在很多团队的做法是“补细节”:显式地建模停顿、重音、气息,甚至专门合成一个吸气声。听着像作弊,其实合理——人说话本来就这样。
它不需要骗过你
我越来越觉得,“能不能听出是机器”这个标准本身值得商榷。语音合成的用途分得很开:导航要的是短、准、不费脑子;有声书要的是长时间听不累;无障碍朗读要的是把结构念对。这些场景里,一个稳定、可预期、不出错的声音,比一个会叹气的声音更有价值。
真正该在意的是它出错时的样子。念错一个多音字,断句断在奇怪的地方,遇到数字和符号就开始含糊——这些问题不性感,但用户每天都在撞上。
- 多音字和专有名词,仍然要靠词典和上下文一起判断;
- 长句的停顿位置,直接决定听的人要不要重听一遍;
- 语速和音量的默认值,往往比音色更影响体验。
声音是可以被借走的
语音合成走到今天,另一件事绕不开:一段几十秒的录音,就可能被用来复刻一个人的声音。技术上这已经不算难题,难的是边界。谁有权同意,同意的范围有多大,用在什么场合需要标明——这些问题目前更多靠约定和平台规则,而不是靠技术本身。
我的判断是,接下来一两年,语音合成的进步大概率不会体现在“更像人”上,而是体现在“更懂场合”上:知道什么时候该停,知道这句话是通知还是安慰,知道自己在替谁说话。
至于那半秒的破绽,也许它会一直存在。就像我们听得出电话里的录音和真人,不是因为录音不够清楚,而是因为真人有迟疑。迟疑这件事,本来就不好复制。