17.1 TTS 概述
文本到语音的任务,是使用用户指定的特定声音,生成与期望文本对应的语音波形。
历史上,TTS 的做法是在实验室中收集单个说话人的数百小时语音,再在这些数据上训练大型系统。所得 TTS 系统只能使用一个声音;如果需要第二个声音,就必须重新收集第二个说话人的数据。
现代方法则是在来自数千名说话人的数万小时语音上,训练与说话人无关的合成器。为了生成训练中从未见过的新声音,只需使用少量目标说话人的语音来引导声音创建。因此,现代 TTS 系统的输入是一段文本提示,可能还包括目标声音约 3 秒的语音样本。由于目标声音可能从未出现在训练数据中,这种 TTS 任务称为零样本 TTS。
现代 TTS 系统使用语言建模,尤其是条件生成来解决这一任务。其直觉是:取海量语音数据集,使用基于音频编解码器的音频分词器,从语音中诱导表示语音的离散音频词元。然后训练一个语言模型,其词表同时包含语音词元和文本词元。
训练该语言模型时,输入两条序列:文本转写,以及目标说话人的一小段语音;将文本和语音都分词为离散词元,然后以条件方式生成与文本字符串对应、且使用目标声音的离散语音样本。
推理时,用经过分词的文本字符串和目标声音样本提示语言模型(声音样本已由编解码器转换为离散音频词元),以条件方式生成目标音频词元。随后可以把这些词元转换为波形。

图 17.1 个性化 TTS 的 VALL-E 架构(图源:Chen et al., 2025)。
Chen et al.(2025)的图 17.1 展示了一个这类 TTS 系统的直觉,该系统称为 VALL-E。VALL-E 在超过 7,000 名独立说话人的 60,000 小时英语语音上训练。VALL-E 等系统包含两个组件:
音频分词器,通常基于音频编解码器;下一节将介绍这种系统。编解码器有三个部分:编码器(把语音转换为嵌入向量)、量化器(把嵌入转换为离散词元)和解码器(把离散词元转换回语音)。
两阶段条件语言模型,能够生成与目标文本对应的音频词元。我们将在 17.3 节概述它。