语音合成之四大语言模型(LLM)与TTS的深度融合

基于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采用了复杂的训练策略,旨在实现高质量的音频合成。对重建损失和特征匹配的关注表明,其目标是捕捉语音的内容和风格细微之处。

表一:技术架构对比

特征LlaSACosyVoice (CosyVoice2)SparkTTS
基础 LLM(如果适用)LlamaLLM (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 的显式参数调整提供了一种更直接的方式来根据特定要求塑造输出。这在需要精确控制声学特征的场景中可能特别有用。

表二:特性对比

特征LlaSACosyVoice (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 等模型代表了该领域的重大进步。它们各自的技术选择和性能特点使其在不同的应用领域具有独特的优势,共同推动着语音合成技术的发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Conda 创建新环境

使用 Conda 创建新环境 在使用 Conda 进行包管理和环境隔离时,创建新环境是一个非常常见的操作。通过创建独立的环境,可以避免不同项目之间的依赖冲突,并且能够灵活地管理各个项目的运行环境。 以下是使用 Conda 创建和管理新环境的详细步骤…

Unity AssetBundle (AB) 打包详解

AssetBundle 是 Unity 提供的一种资源打包机制,允许开发者将游戏资源(如模型、纹理、预制体等)打包成独立的文件,便于动态加载和热更新。 一、AssetBundle 基础概念 1. 什么是 AssetBundle 资源压缩包,包含序列化资源…

Python flask入门

Python flask入门 一、路由1.1 常规路由1.2 动态路由1.3 路由的其他高级用法 二、变量规则2.1 示例1:字符串类型(默认)2.2 示例2:整数类型2.3 示例3:路径类型 三、自定义转换器3.1 核心组件详解3.2 工作流程详解 四、f…

AI赋能守护行车安全新防线,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建驾驶车辆场景下驾驶员疲劳分心驾驶行为智能检测预警系统

在当今社会,随着科技生产力的飞速发展,汽车早已成为人们日常出行不可或缺的交通工具。它不仅极大地提高了人们的出行效率,也为生活带来了诸多便利。然而,随着汽车保有量的不断增加,交通安全问题也日益凸显。疲劳驾驶和…

onloyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springboot+vue2

文章目录 onloyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springbootvue2前提 需要注意把这个 (改成自己服务器的ip或者域名) 改成 自己服务器的域名或者地址我使用的onloyoffice版本 8.1.3.41. onloyoffice服务器部署 搜索其他文章2. 前段代…

概率论与统计(不确定性分析)主要应用在什么方面?涉及到具体知识是什么?

用户问的是概率论与统计(不确定性分析)的主要应用方面,涉及的具体知识以及具体公式。首先,我需要确定概率论与统计在哪些领域有应用,比如工程、金融、医学、数据科学等等。然后,具体知识部分应该包括概率论…

如何利用快照与备份快速恢复服务器的数据

在服务器上利用**快照(Snapshot)**和**备份(Backup)**快速恢复数据,可显著减少停机时间并确保业务连续性。以下是具体操作步骤和最佳实践: --- ### **1. 快照(Snapshot)恢复** **适…

安卓APP开发项目源码

在移动互联网蓬勃发展的今天,安卓应用几乎覆盖了人们生活的方方面面。从社交、购物,到医疗、教育,APP 的需求呈指数级增长。然而,如何高效、低成本地开发一款质量可靠的安卓应用,仍是很多开发者和团队关注的核心问题。…

遨游三防|30200mAh、双露营灯三防平板,见证堆料天花板

在工业4.0与智能化转型的浪潮中,专业设备对性能、防护及场景适应性的要求日益严苛。遨游通讯作为国家级高新技术企业,依托“危、急、特”场景的深耕经验,推出的旗舰级产品AORO-P300三防平板,以30200mAh超大容量电池、双露营灯设计…

【Python】Matplotlib:立体永生花绘制

本文代码部分实现参考自CSDN博客:https://blog.csdn.net/ak_bingbing/article/details/135852038 一、引言 Matplotlib作为Python生态中最著名的可视化库,其三维绘图功能可以创造出令人惊叹的数学艺术。本文将通过一个独特的参数方程,结合极…

OpenCV 图形API(57)颜色空间转换-----将图像从 RGB 色彩空间转换为 YUV 色彩空间函数RGB2YUV()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 将图像从 RGB 色彩空间转换为 YUV 色彩空间。 该函数将输入图像从 RGB 色彩空间转换为 YUV。R、G 和 B 通道值的常规范围是 0 到 255。 在进行线…

Kubernetes(K8S)入门阶段详细指南

Kubernetes(K8S)入门阶段详细指南 一、容器技术基础:Docker核心操作与理解 1.1 Docker核心操作 镜像管理: 拉取镜像:docker pull ubuntu(以Ubuntu为例)查看本地镜像:docker images删除镜像:docker rmi <image_id>容器生命周期管理: 启动容器:docker run -d -…

AI大模型学习十一:‌尝鲜ubuntu 25.04 桌面版私有化sealos cloud + devbox+minio,实战运行成功

一、说明 没意思&#xff0c;devbox私有化不支持&#xff0c;看来这个开源意义不大&#xff0c;和宣传差距很大啊&#xff0c;那devbox就不用玩 用了ubuntu 25.04&#xff0c;内核为GNU/Linux 6.14.0-15-generic x86_64&#xff0c;升级了部分image&#xff0c;过程曲折啊 se…

[GXYCTF2019]Ping Ping Ping

解题步骤 1、先使用 内敛执行 查看当前的php文件 执行 命令执行 发现空格被过滤 ?ip127.0.0.1$IFS|$IFSwhomi 还有一个点就是这个 执行的命令是不能进行拼接的 可能就是被过滤了 | 所以我们使用 ; 进行绕过一下 空格过滤代替 $IFS ${IFS} ${IFS}$9 //这里$1到$9都可以 $IFS$1…

重温TCP通信过程

文章目录 1. 慢启动2. 拥塞避免 3. 快速重传和快速恢复 初识tcp报文 我们先来简单认识一下报文的格式,具体理解需要后面详细介绍 源端口和目的端口:顾名思义就是标识传输双方的信息首部长度:指的是TCP报头的长度,换句话来说,我们需要用一个属性来描述报头的长度,就说明TCP的报…

力扣HOT100之链表:23. 合并 K 个升序链表

这道题我是用最淳朴最简单的思路去做的&#xff0c;用一个while循环持续地将当前遍历到的最小值加入到合并链表中&#xff0c;while循环中使用一个for循环遍历整个指针数组&#xff0c;将其中的最小值和对应下标记录下来&#xff0c;并将其值加入到合并链表中&#xff0c;同时对…

Spring Boot 支持政策

&#x1f9d1;&#x1f4bb; Spring Boot 支持政策 ✒️ Andy Wilkinson 于2023年12月7日编辑本页 32次修订 &#x1f4cc; 核心政策 &#x1f6e1;️ VMware Tanzu 开源支持政策 Spring Boot 针对关键错误和安全问题提供支持 &#x1f4c6; 版本支持周期 1️⃣ 主要版本&a…

WeakAuras Lua Script TOC BOSS2 <Lord Jaraxxus>

WeakAuras Lua脚本&#xff08;WA 字符串&#xff09; 十字军试炼老2 加拉克苏斯 血肉成灰 !WA:2!TIv7VnYrz8UXuDudiDN7PqFfCdTHKYLOeN7sBpXvKDIZf36Kyw7KRT3DYE2Dh7DAwV7CZSoXUOIewf4GdAfgbu13LPasv8MS4diavKoH4RSkIp0phXDT8je5FGYZmZU2oVCqrGLJZUpZZoZZB)EEz1wkr9ewjSU6MD5u…

Spring security详细上手教学(二)用户管理

Spring security详细上手教学&#xff08;二&#xff09;用户管理 这章节主要学习&#xff1a; 如何使用UserDetails接口描述用户在鉴权流中使用UserDetailsService自定义的UserDetailsService实现自定义的UserDetailsManager实现在鉴权中使用JdbcUserDetialsManager 在Spri…

网络安全厂商F5荣登2025 CRN AI 100榜单,释放AI潜力

近期&#xff0c;网络安全厂商F5凭借其应用交付和安全技术与前沿的人工智能洞察&#xff0c;成功入选“2025 CRN AI 100 榜单”&#xff0c;并跻身“领导者”之列。这一荣誉的获得&#xff0c;彰显了F5在助力企业拥抱人工智能创新的过程中&#xff0c;无需牺牲性能、灵活性或安…