基于LLM的语音合成
- 1.技术架构
- 1.1 LlaSA
- 1.2 CosyVoice (和 CosyVoice2)
- 1.3 SparkTTS
- 2 特性对比
- 2.1 零样本语音克隆
- 2.2 多语种支持
- 2.3 可控语音生成
- 2.4 计算效率和模型大小
- 总结
当前,在大型语言模型(Large Language Models,LLMs)的驱动下,TTS模型在语音自然度、表现力以及多功能性方面都实现了质的飞跃 。这些模型通过利用大规模语言理解和生成能力,在零样本语音克隆和多语种支持等领域取得了显著的进展 。
LLM作为这些TTS系统的核心组件或基础架构被反复提及,标志着TTS领域从传统的声学建模方法向利用LLM的语义理解和生成能力的重大转变。这种范式转变直接促成了零样本语音克隆和多语种支持等功能的进步 。
LlaSA、CosyVoice 和 SparkTTS 作为近期涌现的优秀TTS模型,均展现了基于LLM的强大能力。
1.技术架构
1.1 LlaSA
LlaSA 模型建立在强大的 Llama 架构之上,为了使 Llama 模型能够处理音频数据,LlaSA 采用了 XCodec2 作为语音标记器(Tokenizer)。XCodec2 的作用是将原始音频波形转换为离散的语音标记(Token) 。这种转换使得 Llama 模型能够像处理文本一样直接生成语音。LlaSA 的核心是一个单一的 Transformer 架构,该架构以自回归的方式进行训练,即通过预测序列中的下一个标记来生成语音 。这种单一架构的设计简化了传统的 TTS 流程,传统TTS通常包含独立的声学模型、韵律预测器和声码器等多个组件(如上一篇博客)。
LlaSA 模型提供不同参数规模的版本,包括 10 亿参数、30 亿参数以及即将推出的 80 亿参数版本 。这表明 LlaSA 在模型容量和性能方面具有可扩展性,用户可以根据计算资源和所需的合成质量进行选择。LlaSA 支持 16kHz 的音频输出 。
LlaSA 基于 Llama LLM 构建,并利用特定的语音标记器,其设计重点在于利用语言模型的强大能力进行语音合成。不同的模型尺寸也体现了在性能和计算资源之间进行权衡的考虑。通过构建在 Llama 架构之上,LlaSA 继承了其强大的语言理解和生成能力。
XCodec2 的集成弥合了连续音频信号和离散标记 LLM 之间的差距,使得模型能够直接生成语音标记。这种单阶段自回归方法与更复杂的TTS多阶段系统不同,带来更精简和高效的过程。多种模型尺寸的可用性使得用户能够选择适合其特定计算约束和性能要求的模型。
1.2 CosyVoice (和 CosyVoice2)
CosyVoice 采用从多语种语音识别模型中提取的监督语义标记 。与无监督标记方法相比,这种方法旨在捕获显式的语义信息,并改善与相应文本的对齐,从而可能提高内容一致性。
CosyVoice 的架构结合了一个用于文本到标记生成的 LLM 和一个用于标记到语音合成的条件流匹配模型 。这种两阶段方法将生成语义表示的任务与合成实际语音波形的任务分开,允许在每个阶段进行专门的建模。CosyVoice2 引入了针对流式语音合成的优化,包括用于改进语音标记码本利用的有限标量量化(Finite-Scalar Quantization,FSQ)和精简的文本-语音 LM 架构 。这些优化对于降低延迟和实现实时应用至关重要。
CosyVoice2 允许直接使用预训练的 LLM 作为骨干,无需单独的文本编码器和说话人嵌入,这可以通过直接利用强大的 LLM 的能力来增强上下文理解和跨语言性能 。CosyVoice2 采用分块感知的因果流匹配模型,以支持单个模型中的流式和非流式合成,实现超低延迟(首包延迟低至 150 毫秒),这对于语音聊天等交互式应用至关重要 。该模型支持多种推理模式,包括零样本、跨语言和指令式推理,为不同的语音合成任务提供了灵活性,并允许用户使用自然语言指令来指导模型 。
CosyVoice 使用监督语义标记,其侧重于改进文本和语音之间的对齐,从而可能带来更好的内容一致性和说话人相似性。CosyVoice2 对流式传输和直接 LLM 集成的强调突显了其对实时应用的适用性以及对 LLM 最新进展的利用。选择监督语义标记意味着该模型受益于显式的语言信息以及与文本的对齐,因为这些标记是从语音识别模型导出的。
两阶段架构允许LLM专门建模语义内容,而流匹配模型则专门建模声学特征。CosyVoice2 的进步,特别是对流式传输的关注以及简化架构以直接使用预训练 LLM,表明其正朝着更高效、更快速的语音合成方向发展,这对于交互式应用至关重要。
1.3 SparkTTS
SparkTTS 由 BiCodec 提供支持,这是一种新颖的单流语音编解码器,可将语音分解为用于语言内容的低比特率语义标记和用于说话人属性的固定长度全局标记。这种解耦表示是其核心创新,允许独立控制语言内容和说话人身份。
BiCodec作为SparkTTS的核心组件,是一种新颖的单流语音编解码器 。它的主要作用是将语音分解为两种互补的令牌类型:低比特率的语义令牌(semantic tokens)用于捕获语言内容,以及固定长度的全局令牌(global tokens)用于表示说话人属性 。这种解耦的表示方式使得对语言内容和说话人身份的控制可以相互独立进行 。具体来说,全局令牌编码器利用梅尔频谱图(Mel spectrograms)来生成全局令牌,这些令牌封装了说话人的身份特征 。而语义令牌编码器则借鉴了wav2vec 2.0模型的技术来提取语义令牌,确保在紧凑表示语言的同时不丢失上下文信息 。为了提高模型的鲁棒性并最小化训练崩溃的风险,BiCodec采用了量化技术,对语义令牌使用向量量化(VQ),对全局令牌使用有限标量量化(FSQ) 。
Qwen2.50.5B作为SparkTTS的基石 ,它不仅提供了强大的语言建模能力,还直接预测BiCodec的令牌序列(包括语义令牌和全局令牌),这些令牌随后被BiCodec的解码器用于重建音频 。这消除了对诸如流匹配等额外生成模型的依赖,此外还结合了Qwen2.5和思维链(Chain-of-Thought,CoT)生成方法,可以实现粗粒度(例如,性别、说话风格)和细粒度(例如,精确的音高值、语速)的控制。这种架构的简化是SparkTTS的关键创新之一,它通过直接利用LLM的输出来进行音频重建,无需单独的声学特征生成模型,潜在地提高了效率并降低了复杂性。
SparkTTS的训练依赖于一个名为VoxBox的大规模数据集 。VoxBox是一个经过精心策划的包含10万小时语音的数据集,并且带有全面的属性标注 。该数据集的创建旨在促进可控TTS的研究 。开发者计划在Hugging Face Datasets hub上公开发布该数据集 ,其总大小约为6TB 。如此庞大的数据集规模表明在数据收集和标注方面进行了大量的投入,这对于训练高质量且可控的TTS模型至关重要。全面的属性标注则表明其侧重于实现对语音各个方面的细粒度控制。
在训练方法方面,BiCodec采用了端到端的方式,并使用生成对抗网络(GAN)方法 。训练目标包括最小化重建损失和L1特征匹配损失(通过判别器),同时优化VQ码本 。频率域重建损失通过对多尺度梅尔频谱图使用L1损失来计算 。多周期和多频带多尺度短时傅里叶变换(STFT)判别器分别用于波形判别和频率域判别 。VQ码本学习结合了码本损失和承诺损失,并使用直通估计器(straight-through estimator)进行反向传播 。训练代码之前说计划发布,目前看起来概率较低 。使用基于GAN的训练方法,结合多个判别器和特定的损失函数,表明SparkTTS采用了复杂的训练策略,旨在实现高质量的音频合成。对重建损失和特征匹配的关注表明,其目标是捕捉语音的内容和风格细微之处。
表一:技术架构对比
特征 | LlaSA | CosyVoice (CosyVoice2) | SparkTTS |
---|---|---|---|
基础 LLM(如果适用) | Llama | LLM (Qwen2.5) | Qwen2.5 |
语音标记器 | XCodec2 | 监督语义标记 | BiCodec |
模型架构 | 单一 Transformer (自回归) | LLM (文本到标记) + 条件流匹配 (标记到语音) | 单一 LLM (解码器) |
关键架构特征 | 基于 Llama,单一阶段,多种参数规模 | 两阶段,监督语义标记,CosyVoice2 优化流式 | 单流,解耦标记,思维链生成 |
2 特性对比
2.1 零样本语音克隆
LlaSA 仅需几秒钟的音频即可实现零样本语音克隆 。github上的一些issue表明,其输出可能存在噪声或在音色上与原始声音不太一致 ,这表明在捕获个人声音的细微差别方面仍有改进空间,其质量在不同用户或场景中可能并不一致,拿来即用的概率不高,多半需要retrain或者fine-tune后使用。
CosyVoice 支持零样本语音克隆,并展现出高韵律自然度、内容一致性和说话人相似性 。CosyVoice2 在零样本合成过程中也能保持稳定的语音输出 ,这表明其无需特定的训练数据即可稳健地复制说话人特征,实现了与人类相当的合成质量 。
SparkTTS 在零样本语音克隆方面是三者最好的(目前感觉是业界中文最先进的开源模型),仅需一段参考音频即可。用户反馈表明,即使使用很短的参考音频,它也能生成非常逼真的中文语音 ,这表明其可能在处理声调语言方面具有优势或进行了专门优化。SparkTTS 在使用短音频样本进行高质量中文语音克隆方面的显著成功可能归因于其 BiCodec 架构有效捕获说话人特定属性的能力或其使用的训练数据。这也可能意味着该模型特别适合像中文这样的声调语言。
所有三个模型在零样本语音克隆方面都表现出色,这证明了 LLM 在学习说话人特征方面的强大能力。然而,感知质量和所需的参考音频时长可能有所不同。SparkTTS 在语音克隆方面,尤其是在中文方面拥有很高的声誉,零样本语音克隆在所有三个模型中都是一项关键特性,这突显了其在当前 TTS 技术领域的重要性。
2.2 多语种支持
LlaSA 在中文和英文中都展现出逼真且富有情感的语音 。还有一个多语种版本(Llasa-1B-Multilingual),包括对法语、德语、荷兰语、西班牙语、意大利语、葡萄牙语、波兰语、日语和韩语的支持,尽管由于训练数据有限,某些语言的性能可能不太理想 ,合成的语音质量也不太稳定,这表明 LlaSA 正在努力扩展其语言覆盖范围,但对于数据较少的语言,质量可能会有所权衡。
CosyVoice 被描述为一个可扩展的多语种合成器,支持 100 多种语言 。CosyVoice2 特别提到了对中文、英文、日语、粤语和韩语的支持 ,在日语和韩语的基准测试中表现出色 。这表明其具有广泛的多语种合成能力,并且在某些非英语语言中表现出强大的性能。
SparkTTS 支持中文和英文,并在这两种语言之间具备零样本语音克隆能力。这种重点双语支持和跨语言克隆表明其优先考虑在这两种语言中的高性能。
在三个模型中,CosyVoice 提供了最广泛的多语种支持,而 LlaSA 和 SparkTTS 主要关注中文和英文,LlaSA 具有一定的扩展多语种能力。CosyVoice 和 SparkTTS 都具备跨语言语音克隆功能。支持的语言数量是衡量 TTS 模型多功能性的重要因素。CosyVoice 声称支持 100 多种语言,使其成为多语种应用的首选。虽然 LlaSA 和 SparkTTS 专注于广泛使用的中文和英文,但 LlaSA 的多语种版本表明其正在努力扩展语言覆盖范围。跨语言语音克隆的能力进一步增强了这些模型在国际和混合语言场景中的实用性。
2.3 可控语音生成
LlaSA 能够捕捉情感并提供对语音风格的一定程度的控制 。表达情感的能力增强了合成语音的自然度和表现力。CosyVoice 提供情感控制和粤语合成 。
CosyVoice2 提供了更精细的情感控制和方言口音调整 。这表明其侧重于为用户提供对生成语音特征的精细控制。
SparkTTS 支持通过调整性别、音高和语速等参数来创建虚拟说话人,并且可以进行粗粒度(例如,性别、说话风格)和细粒度(例如,精确的音高、语速)的调整。这种详细的控制水平允许高度定制的语音生成。SparkTTS 似乎提供了对性别、音高和语速等语音参数最明确和最细粒度的控制。
虽然 LlaSA 和 CosyVoice 也提供了一定程度的控制,尤其是在情感和风格方面,但 SparkTTS 的方法似乎更侧重于参数驱动。精确控制语音的各个方面对于许多应用至关重要。SparkTTS 提供的可调参数的全面集合,为用户提供了高度的灵活性来创建所需的语音特征。虽然 LlaSA 侧重于捕捉更广泛的方面(如情感和风格),而 CosyVoice2 在精细的情感和方言控制方面取得了进展,但 SparkTTS 的显式参数调整提供了一种更直接的方式来根据特定要求塑造输出。这在需要精确控制声学特征的场景中可能特别有用。
表二:特性对比
特征 | LlaSA | CosyVoice (CosyVoice2) | SparkTTS |
---|---|---|---|
零样本语音克隆 | 支持 (质量可能不一致) | 支持 (说话人相似性好) | 支持 (尤其擅长中文) |
多语种支持 | 中文、英文 + 部分其他语言 | 100+ 种语言 (CosyVoice),中文、英文、日语、粤语、韩语 (CosyVoice2) | 中文、英文 |
跨语言克隆 | 是 | 是 | 是 |
可控语音生成 | 情感、风格 | 情感、粤语、方言口音 (CosyVoice2) | 性别、音高、语速 (粗细粒度控制) |
优劣 | 基于广泛被支持的Llama,输出可能存在噪音,合成/克隆不够稳定 | 提供指令遵循指导合成控制,克隆的相似度非业界领先,多语种效果待明确 | 擅长中文克隆,issue上提到了奇怪的声音、停顿、吞字等 |
2.4 计算效率和模型大小
LlaSA 运行资源密集 。提供 1B和 3B 参数的变体,并且正在开发 8B亿参数的版本 。较大的模型尺寸表明更高的计算需求。
CosyVoice 高效 。CosyVoice2 的参数大小为 0.5B 。强调低延迟和实时因子 。较小的模型尺寸和对低延迟的关注表明其设计优先考虑效率。
SparkTTS 设计高效且简单,完全基于 Qwen2.5 构建。仅使用 1B 个参数即可实现优于其他需要高达 7B个参数的模型的性能 。生成语音的速度比竞争模型快 1.8 倍 。Spark-TTS-0.5B 的参数大小为 0.5B。较小的参数大小和明确的效率和速度声明表明其侧重于资源友好性。
SparkTTS (0.5B) 和 CosyVoice2 (0.5B) 的参数尺寸较小,并且明确提到了效率和低延迟,这表明这些模型旨在更加资源友好,并且适合具有计算约束或需要实时生成的应用程序。相比之下,LlaSA 的参数尺寸较大(1B、3B,以及正在开发的 8B),并且用户反馈也表明其资源密集,这表明它可能需要更强大的硬件,并且更适合计算资源不太重要但需要高质量输出的应用程序。
总结
基于LLM的方法摆脱了音素建模,采用了LLM+Decoder架构,在大大简化了TTS的复杂度的同时,提高了合成的可控性,LLM作为这些TTS系统的核心组件或基础架构被反复提及,标志着TTS领域从传统的声学建模方法向利用LLM的语义理解和生成能力的重大转变。这种范式转变直接促成了零样本语音克隆和多语种支持等功能的进步 。
基于 LLM 的 TTS 技术正在迅速发展,LlaSA、CosyVoice 和 SparkTTS 等模型代表了该领域的重大进步。它们各自的技术选择和性能特点使其在不同的应用领域具有独特的优势,共同推动着语音合成技术的发展。