仅解码器架构在TTS中让文本与音频争抢同一序列容量,导致长句条件退化——这一根本矛盾驱动了编码器-解码器范式在语音生成领域的复兴。
Google的Tacotron(2017, Wang et al.)将TTS重新定义为序列到序列问题:编码器读入字符序列,解码器逐帧生成梅尔频谱,中间以注意力机制对齐。这是第一次将文本理解与声学生成显式分离到两个模块,文本编码器可以不受时间步约束地充分建模语言结构。Tacotron 2(2018)进一步引入WaveNet声码器,确立了"文本编码器 + 声学解码器 + 神经声码器"三段式架构的工业标准。
随着GPT系列的成功,研究者开始将音频离散化(EnCodec、SoundStream)后用自回归语言模型直接建模。VALL-E(2023, Microsoft)是标志性工作:将说话人prompt和文本拼接成单一序列,用仅解码器Transformer预测音频token。这带来了惊人的零样本克隆能力,但代价是文本token和音频token共享位置编码空间——对于30秒语音,音频token数量可达数千,文本的"注意力份额"被严重稀释,长句韵律崩溃、漏字现象随序列增长而加剧。
多项实验(包括SPEAR-TTS、VoiceCraft等工作)量化了这一退化:当音频序列超过500 token时,仅解码器模型的字符错误率显著上升,而编码器-解码器结构在相同条件下保持稳定。根本原因在于:Transformer的因果自注意力中,文本token对后续音频token的梯度路径随距离指数衰减,而交叉注意力(cross-attention)则为每个解码步骤提供对完整文本表示的直接访问,路径长度恒为O(1)。
T5Gemma-TTS(2025)将Gemma解码器与T5风格编码器结合,文本由编码器独立处理后通过交叉注意力注入每个解码层,音频序列仅占解码器的位置容量。这一设计在保留大语言模型语义理解能力的同时,彻底解耦了文本长度与音频长度的相互干扰。同期,SoundStorm、VoiceBox等非自回归方向也在探索用掩码语言模型替代自回归解码,进一步降低序列长度对条件质量的影响。
设文本序列长度为 $L_t$,音频token序列长度为 $L_a$(通常 $L_a \gg L_t$)。 仅解码器模型中,拼接序列总长 $L = L_t + L_a$,第 $i$ 个音频token对第 $j$ 个文本token的注意力权重为: $$\alpha_{ij} = \frac{\exp(q_i k_j / \sqrt{d})}{\sum_{m=1}^{i} \exp(q_i k_m / \sqrt{d})}$$ 当 $i$ 很大时,分母中音频token的数量远超文本token,文本token的权重被平均稀释,有效条件强度约为 $O(L_t / L_a)$,随音频增长趋近于零。 编码器-解码器模型中,编码器输出 $H_t \in \mathbb{R}^{L_t \times d}$,解码器第 $i$ 步的交叉注意力为: $$c_i = \text{softmax}\left(\frac{q_i H_t^\top}{\sqrt{d}}\right) H_t$$ 每个解码步骤的查询 $q_i$ 直接与完整文本表示 $H_t$ 交互,路径长度恒为1跳,注意力权重不受 $L_a$ 影响。文本条件强度为 $O(1)$,与音频序列长度无关。 此外,编码器可使用双向注意力(非因果),使每个文本位置能看到全局上下文,而仅解码器中文本token只能看到前缀,建模能力受限。这两点共同解释了为何编码器-解码器在长语音条件保持上具有结构性优势。
编码器-解码器TTS的整体逻辑是:文本经双向编码器充分理解后,以交叉注意力的形式为每个音频生成步骤提供恒定强度的语义锚点,解码器专注于声学序列建模而无需分心处理文本理解。
编码器对输入文本(字符/音素/BPE token)运行完整的双向Transformer,每个位置可看到左右全部上下文。这与仅解码器中文本token只能看到前缀形成对比——双向编码使"发音"能感知后续标点、"重音"能感知句子结构。实现上通常去掉因果掩码,或直接复用T5/BERT风格编码器。输出为 $H_t \in \mathbb{R}^{L_t \times d}$,是与时间步无关的静态表示。
原始波形经神经编解码器(如EnCodec、DAC)量化为离散token序列。EnCodec使用残差向量量化(RVQ),每帧产生 $N_q$ 个codebook索引(通常8层),75fps下1秒音频产生600个token。这一步将连续声学生成问题转化为离散序列预测,使语言模型架构可直接适用。关键设计选择:是否展平多层RVQ(VALL-E方式)还是分层预测(SoundStorm方式),影响序列长度和并行度。
解码器每一层包含自注意力(建模音频内部依赖)和交叉注意力(访问文本编码)两个子层。交叉注意力的Key和Value来自 $H_t$,Query来自当前解码状态。无论当前生成第几个音频token,都能以相同的计算代价访问全部文本信息。这是与仅解码器最本质的区别:后者依赖注意力权重在长距离上传播文本信息,前者通过架构保证了访问路径的恒定长度。
参考音频经同一编解码器提取声学prompt,或经独立说话人编码器提取全局嵌入 $e_{spk} \in \mathbb{R}^d$。注入方式有三种:①拼接到文本编码序列末尾(与文本一起参与交叉注意力);②通过AdaLN(自适应层归一化)调制解码器每层的均值和方差;③作为前缀token拼接到解码器输入。T5Gemma-TTS采用方式①,使说话人信息与文本信息在同一交叉注意力中被统一访问。
训练时使用teacher forcing,推理时自回归生成。由于 $L_a$ 可达数千,推理延迟是核心工程问题。常见优化:KV Cache缓存自注意力的历史Key/Value(交叉注意力的KV在编码器运行后即固定,只需计算一次);投机解码(Speculative Decoding)用小草稿模型预生成候选token;非自回归变体(掩码预测)可将生成步数从 $O(L_a)$ 降至 $O(\log L_a)$。
编码器-解码器架构是工业级TTS系统的主流选择:Google的SoundStorm、微软的VALL-E-X、ElevenLabs的生产系统均采用类似设计。其核心价值在于提供了一个可扩展的条件注入框架——文本、情感、风格、说话人可以分别编码后统一通过交叉注意力注入,模块化程度高。随着音频序列越来越长(播客、有声书生成),仅解码器的条件退化问题将更加突出,编码器-解码器的结构性优势将持续放大。
当前核心开放问题:①如何在保持交叉注意力优势的同时引入流式推理(编码器需要完整文本才能运行,与流式输入矛盾);②多层RVQ的分层建模策略(并行 vs 串行)对质量和速度的最优权衡;③如何将编码器-解码器与扩散解码器结合(连续扩散 vs 离散语言模型);④超长文本(书籍级)的分段策略与跨段韵律一致性。