模型先要决定,怎样表示声音
在播放器里,声音是一条连续变化的波形;在文字编辑器里,一篇稿件却由一个个字符组成。语音模型需要把这两种材料接起来:既要知道接下来该说哪个词,也要决定这个词持续多久、音高怎样变化,以及保留哪些说话人的特征。
因此,比较语音模型时可以先问两个问题:它用什么表示声音,又怎样生成这种表示?“离散”与“连续”主要回答前一个问题,“自回归”与“扩散”主要描述后一个问题。把它们当作同一条从旧到新的排行榜,反而会漏掉模型之间真正的区别。
Qwen3-TTS:用离散编码组织语音
Qwen3-TTS 的 12Hz 路线使用多码本语音编码器,把声音压缩成离散编码,再通过自回归建模按序生成,并还原成音频。可以粗略把这些编码理解为一套机器使用的声音记号;它们并不是汉字、音标或一个编码对应一个词。具体结构见Qwen3-TTS 技术报告。
这个家族还把常见输入分成 Base、CustomVoice 和 VoiceDesign:参考录音、固定说话人、文字声音描述,分别进入对应模型。对创作者来说,这种分工首先影响素材准备。拿着一段参考录音时,应当找能使用它的生成路径;写了一段角色描述时,则先做声音设计。
VoxCPM2:在连续声音表示中生成
VoxCPM2 使用连续的音频潜在表示,并采用分层的扩散自回归建模。这里的“无离散语音 tokenizer”不表示完全不压缩声音,而是没有先把语音映射到一套外部离散语音码再建模;AudioVAE 仍负责声音表示与还原。官方报告将这一点作为技术路线的核心。
同一套模型还通过不同的输入组织方式承载声音设计、克隆和表达引导。于是,一个家族里可以围绕文字描述与参考录音进行不同尝试。但从连续表示,不能直接推导出“所有旁白都更自然”;最后听到的效果还受训练数据、参考素材、语言和推理方式影响。
OmniVoice:离散表示也可以做扩散生成
OmniVoice 刚好说明,离散表示和扩散并不冲突。它的技术报告描述了一种扩散语言模型风格的离散非自回归结构,直接把文字映射到多码本声学编码。与逐步接续生成不同,它采用迭代方式完善编码;这里说的是结构差异,不是对某台 Mac 的速度承诺。
这个项目重视广泛的语言覆盖,也提供声音克隆和声音设计。官方同时说明,设计训练主要使用中文与英文数据。语言目录广,不代表每种语言在每种控制方式下都有同等表现;需要把“能处理这门语言”和“能按描述稳定设计这种声音”分别看待。
技术路线能解释什么,不能解释什么
了解表示方式,有助于理解为什么模型接收不同的参考材料,为什么有的引擎提供采样控制,有的提供迭代步数。它不能单独回答哪一个更适合一部长篇小说。模型参数、推理实现、量化版本和稿件内容,都可能改变实际的等待时间与听感。
还要区分两个经常一起出现的“压缩”:语音编码是在表示声音,权重量化是在缩小模型数值的存储与计算开销。看到 4bit、8bit,不应把它理解为成品音频只有四位或八位的音质。反过来,输出采样率更高,也不会自动修复漏句或错误重音。
把比较落在同一件作品上
更有意义的比较,是让几个候选模型读同一段稿件:有长句,也有数字、人物对话和上下文变化。先核对内容,再听声音连续性和表达,最后记录等待与修改的代价。参考声音模型之间尽量使用同一份样本,才更容易判断差别来自哪里。
在 Sonano 中,设计或克隆保存的声音可以作为共享参考材料,交给支持该语言的不同生成模型;Kokoro 和 CustomVoice 的原生预设是另一条路径。模型换了以后,仍要试听声音是否符合角色。搭配关系见声音设计、克隆与生成,具体选项见模型目录。本文是技术路线解读,不提供跨模型实测排名。
资料与延伸阅读
- Qwen3-TTS · Technical report
- VoxCPM2 · Technical report
- OmniVoice · Technical report
- OmniVoice · Design scope
- Sonano · Model selection
资料核对日期:2026 年 11 月 3 日。本文的创作情境与听觉示例用于讨论,不代表已执行的模型测试;App 功能以当前版本为准。