Skip to content

语音合成 ​

语音合成 TTS 把文本转换成可播放的语音。它的难点不只是“发出声音”,而是读准文本、控制韵律、保持自然音色,并在真实设备上稳定播放。

TTS 声学模型与声码器

TTS 分成两层问题 ​

TTS 可以拆成“怎么读”和“怎么发声”两层。

层次解决的问题失败表现
文本前端数字、日期、单位、多音字、分词读错字、断错句、金额日期读法不对
声学与波形生成音色、韵律、清晰度、自然度机械、拖沓、破音、气声、卡顿

很多线上 TTS 问题并不是模型音质差,而是文本前端没处理好。例如导航播报、客服金额、设备型号、英文缩写,都需要领域规则。

文本规范化 ​

文本规范化负责把“写给人看的文本”变成“适合朗读的文本”。

原文需要判断的问题
2026-05-17读日期还是读编号
3.14读小数、版本号还是数学常数
100km/h单位读法和语序
RMB 128.5货币、金额、小数位
010-88888888电话区号和号码分组

同一个字符串在不同业务里读法不同。版本号“3.10”不能读成“三点一”,金额“3.10 元”不能读成“三点十版本”。因此 TTS 前端需要业务上下文,而不是只靠通用规则。

分词、多音字和韵律 ​

中文 TTS 要解决词边界和读音。多音字依赖上下文,“重庆”和“重复”的“重”不同,“银行行长”里两个“行”也不同。

韵律决定用户听起来是否自然:

韵律要素作用
停顿让长句可理解,避免一口气读完
重音突出关键信息,如金额、时间、目的地
语速控制信息密度,客服和导航通常不宜过快
语调区分陈述、疑问、提醒和警告
情绪控制品牌角色,但不能牺牲清晰度

长文本合成时,分句非常关键。切分太短会断裂,切分太长会首包慢、韵律漂移。

声学模型 ​

声学模型把文字、音素、韵律和音色条件转成声学特征,例如梅尔谱。它决定一句话的大体“说法”:谁在说、语气如何、哪里停顿、哪里拉长。

常见控制项:

控制项影响
说话人音色和身份感
语速信息密度和响应时长
音高年龄感、情绪和自然度
能量重音、强调和响度趋势
风格客服、导航、播报、角色化表达

控制项不是越多越好。过多可调参数会增加测试矩阵,也容易出现某些组合下不稳定。

声码器 ​

声码器把声学特征还原成波形。它直接影响声音质感、细节和实时性。

关注点说明
音质是否有金属感、毛刺、气泡声
实时率合成是否快于播放速度
稳定性长文本是否漂移或突然变调
算力端侧设备能否长期运行
采样率与设备播放链路是否匹配

端侧 TTS 常常需要在音质、模型大小、功耗和首包延迟之间取舍。云端 TTS 可以使用更大模型,但要承担网络延迟和可用性风险。

流式合成 ​

语音助手和大模型对话需要流式 TTS。流式合成的目标是尽快开始播第一句话,同时避免后续断续。

策略作用风险
按标点切片简单稳定大模型输出没标点时首包慢
按短语切片首包快切错会破坏韵律
缓冲几段再播播放更稳响应变慢
可中断播放支持用户打断需要清理 TTS 和播放器状态

如果文本来自大模型流式输出,不应每来几个字就合成一次。更稳的做法是等待短语或语义边界,再启动合成。

音色和声音克隆 ​

音色是产品体验的一部分。客服、导航、儿童故事、虚拟人对音色要求不同。声音克隆可以用少量样本生成相似音色,但要处理授权、隐私和滥用风险。

场景建议
品牌助手使用授权清晰的固定音色
客服外呼优先清晰、稳定、可懂,不追求强角色化
儿童内容语速、音高、情绪要更保守
个人声音克隆明确授权,增加防滥用策略

高风险场景不应让合成声音冒充真实个人身份。

播放侧适配 ​

TTS 在耳机里好听,不代表在小音箱、车机或手机外放上好听。设备播放链路会改变最终效果。

设备约束处理
小喇叭低频弱限制低频,避免发闷和破音
功放余量小控制峰值和响度,避免削顶
播报和音乐混放统一响度策略,必要时 ducking
播放时要继续听用户TTS 必须进入 AEC 播放参考
多语言混读前端要识别语言和缩写读法

评估指标 ​

指标看什么
读错率数字、单位、多音字、英文缩写是否正确
自然度韵律、停顿、语调是否像真实说话
可懂度噪声和小喇叭下是否听得清
首包延迟从提交文本到开始播放的时间
实时率合成速度是否满足实时播放
播放稳定性长文本是否断续、爆音、变调

TTS 评估要按场景建立样本。导航要测地名、距离、路口;客服要测金额、日期、条款;智能助手要测短回复、长回复和打断。

常见问题 ​

现象优先排查
数字读错文本规范化和业务上下文
多音字错分词、词典、上下文模型
长句不自然分句和韵律预测
首句慢流式切片、模型冷启动、网络
播放破音响度、限幅、功放、扬声器
播放时误唤醒TTS 是否进入 AEC 参考

总结 ​

TTS 的质量来自文本前端、声学模型、声码器和播放链路共同作用。工程上要把“读准、自然、低延迟、可打断、设备上不破音”一起验收,而不是只听离线生成的一段样音。

别急,先让缓存热一下。