一句话进入语音合成,中间发生了什么
你在手机上说了一句“帮我读一下这段文字”,几百毫秒后,一个听起来还算自然的声音开始朗读。这中间到底发生了什么?
今天的TTS系统,无论多复杂,大体可以拆成三段来看:文本进、声学中间、波形出。用2026年工程视角的话说,就是“text → tokens,tokens → mel,mel → waveform”。拆开看,每一段都在解决一个不同层面的问题。
第一段:文本前端,让机器“读懂”再“读对”。
原始文本对机器来说是一串没有结构的字符。前端要做的第一件事是文本正则化:把“2026年”变成“二零二六年”,把“3.5%”变成“百分之三点五”,处理缩写、符号、中英混读的切分。然后是中文TTS的老大难——多音字。“行”在“银行”和“行走”里读音不同,“长”在“长大”和“很长”里也不一样。系统需要借助分词和词性标注来判断每个字在上下文里到底该怎么读。再往上一层是韵律预测:在哪里停顿、哪里该重、句末语调往上走还是往下走。这一步不产出任何声音,但它决定了最终那句话听起来是“念稿子”还是“说话”。
第二段:声学模型,把语言变成声音的“蓝图”。
前端交出的是带注音和停顿标记的发音序列。声学模型负责把它映射成声学参数,最典型的是梅尔频谱——一种对声音频率能量分布的压缩表示。传统方法靠隐马尔可夫模型做统计预测,听起来“机器人腔”很重。现代主流是端到端神经网络:Tacotron 2用编码器—注意力—解码器结构逐帧生成频谱,FastSpeech 2改用非自回归方式一次性预测所有帧,速度提升一个数量级,VITS则把时长预测、频谱生成和波形合成放进同一个变分框架里联合训练。声学模型要回答的核心问题是:每个音发多长、音高怎么走、能量怎么变化——这些参数直接决定了语音的“骨架”。
第三段:声码器,把“蓝图”变成真正的声音。
梅尔频谱不是声音本身,它是一张被压缩过的“地图”。声码器的任务是从这张地图重建出原始音频波形。传统声码器(如Griffin-Lim)重建出来的声音发闷、细节丢失。神经声码器改变了局面:WaveNet逐样本生成,音质好但太慢;HiFi-GAN用生成对抗网络并行上采样,把速度拉到实时的一百倍以上,音质接近真人;BigVGAN进一步提升了跨说话人、跨语言的泛化能力。声码器补上的,恰恰是早期参数合成丢掉的那些高频细节——呼吸声、唇齿音、嗓音的质感,正是“像不像人”的关键所在。
这三段式流水线是理解TTS的“心智模型”。但2026年的前沿已经在模糊这些边界。以Qwen3-TTS为代表的一类系统,把音频离散化成token,用LLM式的自回归生成直接产出语音,独立的声学模型、时长模型正在被一个统一的大模型吸收进去。零样本语音克隆则引入了另一个关键思想:解耦。说话人的音色和说话的内容、韵律被拆成不同的表示,模型可以从一段参考音频中抽出“音色向量”,注入到任意文本的合成过程中,而不需要为每个新说话人重新训练模型。一句话进入系统,中间发生的早已不只是一条流水线,而是一组被精心设计过的表示转换。