Tokenizer-Free TTS 是一种直接生成连续语音表示(而非离散 token 序列)的语音合成范式,通过可微分的端到端架构绕过传统语音 tokenizer 的语义-声学鸿沟。
是什么
传统 TTS 系统通常先将语音编码为离散 token(如 HuBERT 编码、RVQ 编码),再训练语言模型或扩散模型来生成这些 token,最后通过 vocoder 重建音频。这种”先离散、再生成”的范式存在根本性矛盾:离散 token 保证了稳定性但牺牲了表现力。
Tokenizer-Free TTS 取消了中间的离散 tokenization 步骤,直接在连续语音表示空间中进行建模和生成。核心是通过可微分量化瓶颈(Differentiable Quantization Bottleneck)或类似的连续潜空间建模方法,让模型在语义和声学层面同时优化。
为什么重要
- 表现力更强:连续表示保留了原始语音的细微韵律变化、情感色彩等难以被离散 token 捕捉的信息
- 消除 tokenizer 依赖:不再需要预训练的语音 tokenizer,简化了训练 pipeline
- 统一优化:语义和声学信息在同一目标下端到端训练,不存在 tokenizer 引入的信息损失
- 语义理解驱动韵律:模型能直接从文本理解语义,自动推断合适的韵律和情感
工作原理
以 VoxCPM 为代表的工作采用分层语义-声学建模,其流程为:
- 文本编码(LocEnc)— 将输入文本编码为局部上下文表示
- 语义-韵律计划(TSLM)— 自回归生成高层语义和韵律计划
- 残差声学建模(RALM)— 在语义计划之上逐步恢复细粒度声学细节
- 连续语音解码(LocDiT)— 基于扩散的局部解码器,从潜空间生成高保真连续语音
关键创新在于半离散残差表示:将语音信息分解为语义层(较稀疏、可离散化)和声学残差层(稠密、需连续建模),前者用自回归语言模型处理,后者用扩散模型处理。
历史与演进
| 阶段 | 代表工作 | 特点 |
|---|---|---|
| 传统 TTS | Tacotron, FastSpeech | 从频谱直接生成,需外部 vocoder |
| VAE/扩散 TTS | WaveGrad, Grad-TTS | 扩散模型用于声学特征生成 |
| 离散 token TTS | VALL-E, CosyVoice, Bark | 语音离散化为 token,用 LLM 范式生成 |
| Tokenizer-Free TTS | VoxCPM, DiTAR | 端到端连续表示,无离散 tokenization |
Tokenizer-Free 是 TTS 领域的最新范式,VoxCPM 是首个在开放数据集上达到 SOTA 的开源实现。目前该方向仍在快速发展中。
与相邻概念的区别
| 概念 | Tokenizer-Free | 离散 Token TTS | 传统参数 TTS |
|---|---|---|---|
| 中间表示 | 连续潜变量 | 离散 token | 频谱/Mel |
| Tokenizer | 不需要 | 需要预训练 | 无需(但需 vocoder) |
| 表现力 | 高 | 中 | 低 |
| 稳定性 | 中-高 | 高 | 中 |
| 端到端 | ✅ | ❌ | ❌ |