OuteTTS-0.1-350M:TTS合成模型,利用纯语言建模,无需外部适配器

https://www.outeai.com/blog/outetts-0.1-350m

在日益增长的语音合成需求中,文本转语音(TTS)技术快速进步,但也面临不少挑战。传统TTS模型往往依赖复杂的多模块架构,如深度神经网络、语音合成器、文本分析器等适配器,以生成自然的人类语音。这种复杂度带来了大量资源消耗,对设备的要求极高,使得许多设备无法轻松使用。尤其是个性化的语音生成和应用场景,传统TTS技术往往需要庞大的数据集和较高的硬件配置,对此,Oute AI发布了OuteTTS-0.1-350M,为TTS领域带来了革新。OuteTTS-0.1-350M是一款不依赖外部适配器、纯语言建模的轻量级TTS模型。通过直接整合文本和语音生成流程,这款模型实现了简洁高效的自然语音合成,并具备“零样本语音克隆”能力,仅凭几秒钟的参考音频即可模仿新的声音。OuteTTS的推出,不仅为开发者带来了全新机遇,也大大降低了TTS技术的门槛,为更多个性化、实时语音生成的需求提供了高效方案。

OuteTTS-0.1-350M:无需复杂适配器的TTS模型

在语音合成领域,OuteTTS-0.1-350M开创性地使用纯语言模型进行语音合成,而无需传统的语音生成模块,如语音编码器和其他适配器。这一模型基于LLaMa架构构建,通过直接生成音频标记(tokens)来实现语音合成,大幅简化了TTS流程并降低了资源消耗。不同于庞大复杂的传统模型,OuteTTS的核心在于它的纯语言建模方法,它直接将语音生成视作文本生成的任务,通过对音频数据进行标记化处理,使模型能够理解并生成自然语音。这种架构不仅提高了模型的简洁性,还实现了高效的语音生成。OuteTTS能够在零样本语音克隆的模式下快速适应新音色,仅需几秒钟的参考音频即可模仿新的声音,非常适用于个性化的语音助手、有声读物和内容本地化等应用场景。

技术亮点:OuteTTS-0.1-350M的三大创新

OuteTTS-0.1-350M通过以下三步流程实现了高效的文本转语音:

  • WavTokenizer音频标记化OuteTTS使用WavTokenizer将音频转换为标记序列,每秒生成75个音频标记,这样能够快速将音频转换为模型可处理的序列。
  • CTC强制对齐采用连接时序分类(CTC)技术,确保模型能够将每个文字精准对齐到音频标记,生成自然流畅的语音输出。
  • 结构化提示创建:通过将转录、持续时间、音频标记等信息整合为结构化提示,将语音生成过程简化成一系列清晰的任务。

这些技术整合使得OuteTTS能够以纯语言建模的方式高效地实现语音合成,避免了传统模型的繁琐中间步骤,进一步降低了对计算资源的需求。OuteTTS还兼容llama.cpp库,能够在多种设备上实现语音生成,不必依赖云端服务,适合实时应用场景。

OuteTTS-0.1-350M的实际应用价值

OuteTTS-0.1-350M的独特之处在于其轻量高效的设计使得TTS技术不再需要高昂的硬件资源,具备了高度的实用性与适配性:

  • 低资源需求:这款模型无须庞大的适配器或深度神经网络模块,大大简化了部署过程,使其适用于各种硬件环境,包括移动设备、嵌入式设备等,实现了真正的“上设备”语音生成。
  • 个性化应用:OuteTTS的“零样本语音克隆”能力为个性化应用提供了可能。只需几秒钟的参考音频,用户即可定制专属语音,非常适合个性化语音助手、有声读物配音等场景。
  • 开源许可证:OuteTTS采用了CC-BY开源许可证,支持开发者将模型自由集成到项目中,为语音合成技术的普及和创新应用提供了广阔空间。

通过对传统TTS架构的简化和对个性化的支持,OuteTTS-0.1-350M带来了实用高效的语音生成体验,不仅提升了语音合成的可及性,还为开发者和企业带来了新的灵活选择。

OuteTTS-0.1-350M的性能分析:小模型也有大作为

OuteTTS-0.1-350M尽管只有3.5亿参数,依然在语音生成领域表现出色。它的高效性和轻量化特性使其在语音质量上毫不逊色,甚至与传统大型模型相媲美:

  • 音质自然:初步测试显示,OuteTTS生成的语音具有自然的语调和流畅的音质,极少出现失真或人工痕迹,适合各类语音应用场景。
  • 低计算成本:相比于参数数十亿的大型模型,OuteTTS保持高质量的同时,计算成本显著降低,非常适合资源有限的设备。
  • 快速响应:得益于模型架构的优化,OuteTTS能够在设备端实现快速响应,为实时语音交互提供了理想选择。

OuteTTS展示了小规模模型的潜力,使得语音合成不再依赖于庞大的计算资源,为轻量化的TTS模型树立了新标杆。

OuteTTS-0.1-350M的未来前景

OuteTTS-0.1-350M的发布不仅仅是一次技术创新,它开启了未来TTS应用的无限可能性。随着更多开发者和研究人员的加入,基于OuteTTS的应用场景将更加多样化:

  • 辅助技术:OuteTTS在语音生成上的便捷性和高效性使得其可以广泛应用于视障人士的辅助设备中,提供语音导航、信息提示等功能。
  • 内容创作:对于需要快速生成个性化语音内容的创作者,OuteTTS为他们提供了成本更低的配音解决方案。
  • 人机交互:语音交互是智能设备未来的关键方向,OuteTTS的实时生成能力使其能够在智能家居、车载语音助手等领域大展身手。

结语

OuteTTS-0.1-350M的发布标志着TTS技术的一个重要里程碑。通过采用纯语言建模,OuteTTS不仅降低了语音合成的门槛,还让个性化语音应用更为可行。无论是零样本语音克隆能力、实时生成表现,还是其对多设备兼容性,OuteTTS都为TTS领域带来了全新的发展思路。未来,随着更多技术的突破,基于OuteTTS的TTS应用将会为语音生成带来更加丰富的可能性。OuteTTS-0.1-350M展示了小而强的TTS模型可以达到与大型模型媲美的效果。Oute AI的这一创新,为未来的语音合成技术铺平了道路,也让我们期待更多轻量、智能、高效的语音合成技术的出现。

Hertz-dev: 首个开源的超低延迟的实时交互语音对话模型

官方介绍:Hertz-dev 在 RTX 4090 上的理论延迟为 65 毫秒,实际平均延迟为 120 毫秒。这比世界上任何公共模型的延迟都低约 2 倍——这是模型能够以类似人类的方式与您互动的先决条件,而不是感觉像延迟、断断续续的电话通话。作者目前正在训练更大、更先进的 Hertz 版本,它将使用缩放的基础模型配方和 RL 调整来大幅提高模型的原始功能和最终一致性。Hertz-dev 是实时语音交互未来的一瞥,也是世界上最容易让研究人员进行微调和构建的对话音频模型。

代码地址:https://github.com/Standard-Intelligence/hertz-dev

体验地址:https://si.inc/hertz-dev/

在过去的几个月里,Standard Intelligence 团队一直在进行跨模态学习研究。我们很高兴地宣布,我们将开源这项研究的早期产品,即 8.5B、全双工、纯音频基础模型:hertz-dev。

音频模态对于创建感觉自然的交互式代理至关重要。目前,利用音频与生成式 AI 的两种方法是基于扩散的方法或自回归方法。虽然基于扩散的音频模型被证明擅长音乐生成和小样本,但真正的交互式音频生成需要是自回归的。

该领域最大的问题是 1) 获得听起来像人类的音频生成(即非合成的以及很好地处理中断)和 2) 使用两个实时频道处理实时生成,这两个频道都在产生信息,就像正常的人类对话一样。

我们的模型处于这两者的最前沿,原生适应双扬声器格式,具有比人类更快的反应时间,并且完全能够解析和生成重叠的双扬声器音频。我们通过在潜在空间中操作以及使用量化语音位来实现这一点,从而允许 80ms 的理论平均延迟,每个时间步长只有一个采样的延迟。目前,我们在单个 RTX 4090 上对 120ms 的实际延迟进行了基准测试,比之前最先进的延迟低 2 倍。

模型架构:

Figure 1: hertz-codec architecture diagram for our VAE. The input is 6s 16kHz mono audio and the output is a 32-dim latent.
图 2:我们模型的自回归部分的 hertz-ar 架构图。(2a) 是单通道自回归潜在预测,(2b) 是双工自回归潜在预测。

hertz-dev 由两部分组成 – 产生音频latents的 hertz-codec 和根据过去音频latents未来音频latents的 hertz-ar。音频latents是极其丰富的先验数据,可用于许多下游任务。

hertz-codec:卷积音频 VAE,采用单声道、16kHz 语音,并使用 KL 正则化的 1kbps 比特率编码 8Hz latents数据。我们利用因果卷积(功能上在序列左侧添加填充)来实现流式推理。

编解码器输出高斯参数(均值和方差),这些参数每 125ms 帧仅被采样为单层 32 维latent数据。在主观评估中,Hertz-codec 在 6kbps 时优于 Soundstream 和 Encodec,在 8kbps 时与 DAC 相当,同时每秒的标记数低于任何流行的标记器,这对于语言建模至关重要。 Hertz-codec 有 500 万个编码器参数和 9500 万个解码器参数

inference_apatosaurus_95000.pt — 在混合重建、对抗和 KL 正则化损失上训练的 hertz-codec 权重。
inference_volcano_3.pt — hertz-codec 量化器,一种学习投影,可提取每个潜在语音中最相关的 15 位。

hertz-ar:40 层 84 亿参数解码器专用转换器,上下文为 2048 个输入token(约 4.5 分钟)。输出是可以传递到 hertz-codec 的latent数据。前 32 层接收潜在历史作为输入,并预测下一个latent音频token的 15 位量化投影。我们称之为 hertz-lm,因为它可以独立训练或从语言模型权重初始化。

最后 8 层网络利用潜在历史和 15 位量化latent来预测未来的潜在音频标记。

双工音频作为后训练任务处理,两个投影头连接在一起,然后分成两个量化投影管道,以各自的残差为条件

inference_caraway_112000.pt — 从在 2T 标记上训练的语言模型初始化的hertz-lm 权重。
inference_syrup_110000.pt — 随机初始化的hertz-lm 权重,并完全在音频潜在上进行训练。
inference_whip_72000.pt — 最后 8 层的hertz-ar 权重
inference_care_50000.pt & inference_scion_54000.pt — hertz-ar 的双工检查点


Hertz-dev 是第一个公开发布的对话音频基础模型。基础模型可以准确预测训练数据的分布,而那些经过大量强化学习调优以压缩生成分布的模型则不同。这使得这些模型成为大量不同任务的下游微调的最佳起点。我们目前正在训练更大、更先进的 Hertz 版本,它将使用缩放的基础模型配方和强化学习调优来大幅提高模型的原始能力和最终一致性。Hertz-dev 是实时语音交互未来的一瞥,也是世界上最容易让研究人员进行微调和构建的对话音频模型。

类似的端到端的音频模型:


2、mini-omni2 

https://github.com/gpt-omni/mini-omni2…

3、GLM-4-Voice 

https://github.com/THUDM/GLM-4-Voice…

4、moshi 

https://moshi.chat

5、Spiritlm 

https://github.com/facebookresearch/spiritlm

TTS语音克隆开源模型-Fish、F5、GPT、CosyVoice、MaskGCT

GPT-SoVITS

https://github.com/RVC-Boss/GPT-SoVITS

GPT-SoVITS项目是TTS克隆领域内效果常年霸榜的模型之一,具有以下功能:

  • 零样本文本到语音(TTS): 输入 5 秒的声音样本,即刻体验文本到语音转换。
  • 少样本 TTS:仅需 1 分钟的训练数据即可微调模型,提升声音相似度和真实感。
  • 跨语言支持:支持与训练数据集不同语言的推理,目前支持英语、日语、韩语、粤语和中文。
  • WebUI 工具:集成工具包括声音伴奏分离、自动训练集分割、中文自动语音识别(ASR)和文本标注,协助初学者创建训练数据集和 GPT/SoVITS 模型。

部署和使用教程:【34.8k点赞量!】TTS领域内明星模型GPT-SoVITS实操教程来啦;2秒语音就能克隆,效果过于惊艳,请谨慎使用!

  1. https://github.com/RVC-Boss/GPT-SoVITS
  2. https://huggingface.co/lj1995/GPT-SoVITS

MaskGCT

https://github.com/open-mmlab/Amphion/blob/main/models/tts/maskgct/README.md

文本转语音TTS系统通常被分为自回归和非自回归系统。自回归系统隐式地建模持续时间,但在鲁棒性方面存在一定的缺陷,并且缺乏持续时间的可控性。非自回归系统在训练期间需要显式的文本和语音之间的对齐信息,并预测语言单位(例如音素)的持续时间,这可能会影响其自然性。在10月24日,趣丸科技&香港中文大学提出一种完全非自回归的TTS模型——掩码生成编解码器变换器(MaskGCT),它消除了对文本和语音监督之间显式对齐信息的需求,以及对音素级别持续时间预测的需求。

MaskGCT模型框架如下:

  • 语音语义表示编解码器:这部分将语音转换为semantic tokens,这是将语音信号的声学特征抽象成更高层次的语义信息的过程。
  • 文本到语义模型:这个模型使用文本和提示semantic tokens来预测语义标记。它的作用是理解文本内容并将其映射到相应的语义空间。
  • 语义到声学模型:在得到语义标记后,这个模型会基于这些语义标记来预测声学标记,即将语义信息进一步转换为声学特征,这些声学特征更接近于实际的语音波形。
  • 语音声学编解码器:最后,这个部分负责从声学标记重建语音波形,即将预测的声学特征转换成可以被听到的语音信号。

在训练期间,MaskGCT学习基于给定条件和提示预测掩码的语义或声学标记。在推理期间,模型以并行方式生成指定长度的标记。MaskGCT模型是基于10万小时数据集Emilia训练而来的,精通中英日韩法德6种语言的跨语种合成。数据集Emilia是全球最大且最为多样的高质量多语种语音数据集之一。

MaskGCT模型实验性能

可以看出 MaskGCT模型整体性能超了CosyVoice,XTTS-v2模型性能。

MaskGCT模型运行占用显存(大约10G左右)

部署和使用教程:【又又一款王炸级别TTS模型】趣丸科技&港中大开源MaskGCT语音大模型,性能超过CosyVoice,XTTS-v2!

  1. https://arxiv.org/pdf/2409.00750
  2. https://hf-mirror.com/amphion/MaskGCT
  3. https://maskgct.github.io/
  4. github: https://github.com/open-mmlab/Amphion/tree/main/models/tts/maskgct
  5. 在线体验: https://huggingface.co/spaces/amphion/maskgct

F5-TTS语音模型

https://github.com/SWivid/F5-TTS

E2-TTS 语音模型介绍

E2-TTS是由微软公司(Microsoft Corporation, USA)的研究团队开发的,具有以下特点:

  1. 简单架构:E2-TTS具有非常简单的架构,仅由填充标记的文本序列和基于流匹配的mel频谱图生成器组成。
  2. 无需额外组件:E2-TTS不需要额外的组件,例如持续时间模型(duration model)、字素到音素转换器(grapheme-to-phoneme converter)或复杂的对齐搜索技术(如单调对齐搜索)。
  3. 高性能:尽管架构简单,E2-TTS在零样本(zero-shot)TTS能力上达到了与之前工作相当或更好的性能,包括Voicebox和NaturalSpeech 3。
  4. 灵活性:E2-TTS在输入表示上具有灵活性,允许在推理期间提高可用性。

F5-TTS 语音模型介绍 :

F5-TTS是一款基于流匹配的全非自回归文本到语音转换模型,由上海交通大学(Shanghai Jiao Tong University)、剑桥大学(University of Cambridge)、以及极氪汽车研究院(Geely Automobile Research Institute (Ningbo) Company Ltd.)的研究团队联合开发的。具有以下特点:

  1. 改进的文本表示:F5-TTS使用ConvNeXt对输入文本进行细化,以改善与语音的对齐,解决了E2-TTS中存在的鲁棒性问题。
  2. Sway Sampling策略:F5-TTS提出了一种新的推理时采样策略,称为Sway Sampling,它显著提高了模型的性能和效率。这种采样策略可以轻松地应用于现有的基于流匹配的模型,而无需重新训练。
  3. 更快的训练与推理:F5-TTS的设计允许更快的训练,并且在推理时实现了0.15的实时因子(Real-Time Factor, RTF),与现有的基于扩散的TTS模型相比,这是一个显著的改进。
  4. 零样本能力:F5-TTS在公共100K小时多语言数据集上训练,展示了高度自然和富有表现力的零样本能力,以及无缝的代码切换能力。
  5. 开源:F5-TTS的代码和检查点被开源,以促进社区发展。

F5-TTS在E2-TTS的基础上进行了改进,特别是在文本表示的细化和推理时采样策略上。这些改进使得F5-TTS在保持简单架构的同时,提供了更好的性能和更快的推理速度。此外,F5-TTS的零样本能力更强,且完全开源。开源协议MIT。

F5-TTS模型性能介绍

这是F5-TTS和E2-TTS在测试集上的结果;

可以看出F5-TTS模型的整体效果是超过CosySense效果的;

部署和使用教程:【克隆TTS领域又更新啦】上海交大开源F5-TTS: 只需要2秒就能克隆语音,可商用,合成语音效果让我震惊不已!

  1. https://github.com/SWivid/F5-TTS
  2. F5-TTS: https://arxiv.org/pdf/2410.06885
  3. E2-TTS:https://arxiv.org/pdf/2406.18009
  4. https://hf-mirror.com/SWivid/F5-TTS
  5. https://hf-mirror.com/SWivid/E2-TTS

FishSpeech1.4模型

https://hf-mirror.com/fishaudio/fish-speech-1.4

https://github.com/fishaudio/fish-speech

fish.audio团队最新开源的FishSpeech1.4;支持中文、英文等8种语音,具有以下特点:

  • 零样本和少样本文本转语音(TTS):输入一个10到30秒的语音样本,即可生成高质量的TTS输出。有关详细指南,请参见语音克隆最佳实践。
  • 多语言和跨语言支持:只需将多语言文本复制粘贴到输入框中——无需担心语言问题。目前支持英语、日语、韩语、中文、法语、德语、阿拉伯语和西班牙语。
  • 无需音素依赖:该模型具有强大的泛化能力,不依赖于音素进行TTS。它可以处理任何语言脚本的文本。
  • 高度准确:对于5分钟的英文文本,实现了约2%的低CER(字符错误率)和WER(词错误率)。
  • 快速:借助fish-tech加速技术,在Nvidia RTX 4060笔记本电脑上实时因子约为1:5,在Nvidia RTX 4090上为1:15。
  • WebUI推理:功能强大,基于Gradio的Web UI,兼容Chrome、Firefox、Edge等浏览器。
  • GUI推理:提供与API服务器无缝协作的PyQt6图形界面。支持Linux、Windows和macOS。见GUI。
  • 部署友好:可以轻松设置推理服务器,原生支持Linux、Windows和MacOS,最小化速度损失。目前在huggingface社区下载量高达5.1K!

部署和使用教程: 【又一款王炸级别语音克隆TTS模型】FishSpeech重磅开源1.4版本!语音合成更逼真!跟最近爆火F5-TTS相比如何呢?

  1. https://hf-mirror.com/fishaudio/fish-speech-1.4
  2. https://speech.fish.audio/zh/inference/#_2
  3. https://github.com/fishaudio/fish-speech
  4. https://hf-mirror.com/SWivid/F5-TTS
  5.  https://github.com/SWivid/F5-TTS

CosyVoice模型

https://github.com/FunAudioLLM/CosyVoice

CosyVoice 是一个语音生成模型,能够合成自然声音,适用于多种应用。模型支持五种语言:中文、英语、日语、粤语和韩语。CosyVoice 包含三个开源模型:

  • CosyVoice-base-300M:擅长准确代表说话者身份,无需微调即可适应不同上下文,能够跨语言克隆声音。
  • CosyVoice-instruct-300M:能够生成富有情感表现力的语音,允许通过指令文本进行精细调整。
  • CosyVoice-sft-300M:已针对七位多语言说话者进行了微调,适合立即部署使用。

语音合成模型 CosyVoice 功能特点:

  • 多语言支持:CosyVoice 支持包括中文、英文、日语、粤语和韩语在内的五种语言。
  • 零样本学习:能够无需训练即可适应新说话者(zero-shot in-context learning),能够在不同语言之间复制声音。
  • 情感共鸣:能够创建情感共鸣的声音, CosyVoice-instruct 版本通过情感指令显著提高了情感控制的准确性。
  • 高质量语音合成:生成的样本在词错误率(WER)和说话者相似性方面达到人类水平。
  • 语音定制化:能够根据特定说话者生成多语言语音,适应新说话者而无需训练。
  • 语音克隆与风格迁移:支持在不同语言之间进行语音克隆和情感风格迁移。

部署和使用教程:【语音领域-又双叒更新】阿里开源FunAudioLLM: 2大核心模型、5大亮点功能!效果炸裂!手把手带你理论+实战部署推理!

  1. CosyVoice: https://github.com/FunAudioLLM/CosyVoice
  2. SenseVoice: https://github.com/FunAudioLLM/SenseVoice
  3. FunAudioLLM论文报告: https://fun-audio-llm.github.io/pdf/FunAudioLLM.pdf
  4. CosyVoice论文报告: https://fun-audio-llm.github.io/pdf/CosyVoice_v1.pdf
  5. https://fun-audio-llm.github.io/
  6. https://www.modelscope.cn/studios/iic/SenseVoice
  7. https://www.modelscope.cn/studios/iic/CosyVoice-300M

参考链接

  1. https://github.com/SWivid/F5-TTS
  2. https://hf-mirror.com/amphion/MaskGCT
  3. https://hf-mirror.com/fishaudio/fish-speech-1.4
  4. https://github.com/RVC-Boss/GPT-SoVITS
  5. https://github.com/FunAudioLLM/CosyVoice

CleanS2S-语音到语音 (S2S) 的原型智能体

https://github.com/opendilab/CleanS2S

CleanS2S 是一个语音到语音 (S2S) 的原型智能体,提供高质量的流式交互,并采用单文件实现。其设计简洁明了,旨在提供类似 GPT-4o 风格的中文交互原型智能体。该项目希望让用户直接体验语言用户界面 (LUI) 的强大功能,并帮助研究人员快速探索和验证 S2S pipeline 的潜力。

功能

📜 单文件实现

每个智能体管道的细节都放在一个独立的文件中。无需额外配置依赖项或理解项目文件结构。这对于那些想快速了解 S2S 管道并直接验证新想法的人来说,是一个很好的参考实现。所有管道实现都易于修改和扩展,用户可以快速更换喜欢的模型(例如 LLM)、添加新组件或自定义管道。

实时流式接口

整个 S2S 管道主要由 ASR(自动语音识别)、LLM(大型语言模型)和 TTS(文本转语音)组成,配合两个 WebSockets 组件接收器(包含 VAD)和发送器。管道设计为实时流模式,用户可以像人与人对话一样实时与智能体互动。所有音频和文本信息通过 WebSocket 流式发送和接收。为此,我们利用多线程和队列机制确保流过程顺畅,避免阻塞问题。所有组件都设计为异步和非阻塞,处理输入队列的数据并将结果输出到另一个队列。

🧫 全双工交互与打断机制

基于 WebSockets 提供的强大机制,管道支持全双工交互,这意味着用户可以同时与智能体对话和听取回复。此外,管道支持中断,用户可以在对话中随时通过新语音输入打断智能体。智能体将停止当前处理,开始处理新输入,并结合之前的对话和中断内容进行处理。此外,我们发现聊天机器人常用的“助理风格”和“轮流式”回应是人类对话的主要缺点之一。我们为智能体添加了更有趣的策略,以使对话更具互动性和吸引力。

🌍 网络搜索和 RAG

通过集成网络搜索功能和检索增强生成(RAG)模型,管道得到了进一步增强。这些功能使智能体不仅能实时处理和响应用户输入,还能从网络中获取和整合外部信息到响应中。这为回答用户提出的各种实际问题提供了扩展和灵活性。

  • WebSearchHelper 类负责根据用户查询进行在线搜索或收集与对话相关的附加信息。这使智能体能够参考最新或外部数据,增强响应的丰富性和准确性。
  • RAG 类实现了检索增强生成方法,首先从数据库中检索相关信息,然后使用这些信息生成响应。这一两步过程确保智能体的回复基于相关的事实数据,使互动更加知情和符合上下文。

快速上手

后端

安装

## clone the repository
git clone https://github.com/opendilab/CleanS2S.git
cd CleanS2S/backend
pip install -r requirements.txt
  • 根据此处的说明安装 funasr 以支持 paraformer-zh
  • 根据此处的说明安装 cosyvoice 以支持 CosyVoice-300M

下载模型

您需要下载以下四个必要的模型(3个 ASR 模型 + 1个 TTS 模型),可以通过以下链接下载,并放置在合适的目录中。

对于 LLM,我们默认使用 LLM API,您也可以按照下方的说明定制自己的本地 LLM(如 DeepSeek-V2.5、Qwen2.5 等)。

删除 --enable_llm_api 和 --lm_model_url 参数,修改 --lm_model_name 参数为您的本地 LLM 模型路径(例如 --lm_model_name /home/users/deepseek-v2.5)。

您还需要准备一个参考音频目录,其中包含用于韵律和音色转换的参考音频。我们在此仓库中准备了一个示例参考音频目录

如果您想使用自己的参考音频,需要保持与示例参考音频目录相同的格式。音频应为 10~20 秒长,发音清晰。

运行服务器

以下是使用默认设置运行服务器的示例:

export LLM_API_KEY=<your-deepseek-api-key>
python3 -u s2s_server_pipeline.py \
        --recv_host 0.0.0.0 \
        --send_host 0.0.0.0 \
        --stt_model_name <your-asr-path> \
        --enable_llm_api \
        --lm_model_name "deepseek-chat" \
        --lm_model_url "https://api.deepseek.com" \
        --tts_model_name <your-tts-path> \
        --ref_dir <ref-audio-path> \
        --enable_interruption

ℹ️ 支持自定义LLM:在这里,我们使用 deepseek-chat 作为默认 LLM API ,您也可以根据 OpenAI 接口更改为其他 LLM API。(修改--lm_model_name--lm_model_url,设置您自己的 API 密钥)

ℹ️ 支持其他自定义:您可以参考后端管道文件(例如s2s_server_pipeline.py)中由argparse库实现的参数列表,根据自己的需求进行自定义。所有参数在其帮助属性中都有详细文档,易于理解。

使用 Websearch+RAG 运行服务器

您首先需要安装 Websearch 和 RAG 所需的依赖。

pip install -r backend/requirements-rag.txt

其次,为 RAG 中嵌入 Websearch 结果选择一个嵌入模型,例如以下嵌入模型:

git lfs install
git clone https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2

然后,为 Websearch 和 RAG 模块提供令牌,在s2s_server_pipeline_rag.py中,我们使用Serper作为 Websearch 工具,使用Deepseek进行 RAG 。

export LLM_API_KEY=''
export SERPER_API_KEY=''

最后,在运行服务器的示例代码中,将s2s_server_pipeline.py替换为s2s_server_pipeline_rag.py,并添加参数--embedding_model_name

这是使用默认设置和 Websearch+RAG 运行服务器的示例:

python3 -u s2s_server_pipeline_rag.py \
        --recv_host 0.0.0.0 \
        --send_host 0.0.0.0 \
        --stt_model_name <your-asr-path> \
        --enable_llm_api \
        --lm_model_name "deepseek-chat" \
        --lm_model_url "https://api.deepseek.com" \
        --tts_model_name <your-tts-path> \
        --embedding_model_name <embedding-model-path> \
        --ref_dir <ref-audio-path> \
        --enable_interruption

前端

我们建议使用Docker镜像来安装和运行客户端。以下是具体步骤:

## 运行基本的Docker镜像
docker run -it -p 3001:3001 amazonlinux:2023.2.20231011.0 sh
## 安装必要的包
dnf install vim git nodejs -y
npm install -g pnpm
git clone https://github.com/opendilab/CleanS2S.git
cd CleanS2S/frontend_nextjs
pnpm install

frontend_nextjs目录中准备适当的.env.local文件,您可以参考.env.example文件以获取所需的环境变量。

## 运行客户端
pnpm dev --port 3001

然后您可以在浏览器中访问客户端,地址为http://localhost:3001(推荐使用 Chrome 浏览器)。

附注:如果您想在本地运行客户端,请首先安装 node.js 和 pnpm ,然后使用 pnpm 安装必要的包并运行客户端。

MaskGCT-国产最强TTS语音大模型

近期,港中大(深圳)联手趣丸科技联合推出了新一代大规模声音克隆 TTS 模型 ——MaskGCT。该模型在包含 10 万小时多语言数据的 Emilia 数据集上进行训练,展现出超自然的语音克隆、风格迁移以及跨语言生成能力,同时保持了较强的稳定性。MaskGCT 已在香港中文大学(深圳)与上海人工智能实验室联合开发的开源系统 Amphion 发布。

本文介绍了一种名为 Masked Generative Codec Transformer(MaskGCT)的全非自回归 TTS 模型。

现有大规模文本到语音(TTS)系统通常分为自回归和非自回归系统。自回归系统隐式地建模持续时间,但在鲁棒性和持续时间可控性方面存在一定缺陷。非自回归系统在训练过程中需要显式的文本与语音对齐信息,并预测语言单元(如音素)的持续时间,这可能会影响其自然度。

该模型消除了文本与语音监督之间的显式对齐需求,以及音素级持续时间预测。MaskGCT 是一个两阶段模型:在第一阶段,模型使用文本预测从语音自监督学习(SSL)模型中提取的语义标记;在第二阶段,模型基于这些语义标记预测声学标记。MaskGCT 遵循掩码预测学习范式。在训练过程中,MaskGCT 学习根据给定的条件和提示预测掩码的语义或声学标记。在推理过程中,模型以并行方式生成指定长度的标记。通过对 10 万小时的自然语音进行实验,结果表明 MaskGCT 在质量、相似度和可理解性方面优于当前最先进的零样本 TTS 系统。

一、方法

MaskGCT 模型由四个主要组件组成:

1. 语音语义表示编解码器:将语音转换为语义标记。

2. 语音声学编解码器:从声学标记重建波形。

3. 文本到语义模型【 非自回归Tranformer 】:使用文本和提示语义标记预测语义标记。

4. 语义到声学模型【非自回归Tranformer】:基于语义标记预测声学标记。

所提出的两阶段 MaskGCT 框架的概述。它由四个主要部分组成:(1)语音语义表示编解码器将语音转换为语义标记; (2)文本到语义模型用文本和提示语义标记来预测语义标记; (3) 语义到声学模型预测以语义标记为条件的声学标记; (4) 语音声学编解码器根据声学标记重建波形

语音语义表示编解码器用于将语音转换为离散的语义标记,这些标记通常通过离散化来自语音自监督学习(SSL)模型的特征获得。与以往使用 k-means 方法离散化语义特征相比,这种方法可能导致信息损失,从而影响高质量语音的重建或声学标记的精确预测,尤其是在音调丰富的语言中。为了最小化信息损失,本文训练了一个 VQ-VAE 模型来学习一个向量量化码本,该码本能够从语音 SSL 模型中重建语音语义表示。具体来说,使用 W2v-BERT 2.0 模型的第 17 层隐藏状态作为语音编码器的语义特征,编码器和解码器由多个 ConvNext 块组成。通过改进的 VQ-GAN 和 DAC 方法,使用因子分解码将编码器输出投影到低维潜在变量空间。

图 5:语义编解码器(左)和声学编解码器(右)概述。语义编解码器被训练为使用单个码本量化语义特征并重建语义特征声学编解码器经过训练,使用 RVQ 量化和重建语音波形,并使用时间和频谱鉴别器进一步提高重建质量

语音声学编解码器旨在将语音波形量化为多层离散标记,同时尽可能保留语音的所有信息。本文采用残差向量量化(Residual Vector Quantization, RVQ)方法,将 24K 采样率的语音波形压缩为 12 层的离散标记。此外,模型使用 Vocos 架构作为解码器,以提高训练和推理效率。

文本到语义模型采用非自回归掩码生成 Transformer而不使用自回归模型或任何文本到语音的对齐信息。在训练过程中,我们随机提取语义标记序列的前缀部分作为提示,以利用语言模型的上下文学习能力。我们使用 Llama 风格的 Transformer 作为模型的主干,结合门控线性单元(GLU)和 GELU 激活函数、旋转位置编码等,但将因果注意力替换为双向注意力。还使用了接受时间步 t 作为条件的自适应 RMSNorm。在推理过程中,我们生成任意指定长度的目标语义标记序列,条件是文本和提示语义标记序列。本文还训练了一个基于流匹配的持续时间预测模型,以预测基于文本和提示语音持续时间的总持续时间,利用上下文学习。

语义到声学模型同样采用非自回归掩码生成 Transformer,【基于 SoundStorm】,该模型以语义标记为条件,生成多层声学标记序列以重建高质量语音波形。对于 S2A 模型的输入,由于语义令牌序列中的帧数等于提示声学序列和目标声学序列中帧数的总和,我们简单地将语义令牌的嵌入和从层 1 到层 j的声学令牌的嵌入相加。在推理过程中,我们从粗到细为每层生成令牌,在每层内使用迭代并行解码。

图 2:T2S(左)和 S2A(右)模型的训练图概述。 T2S 模型经过训练,可以预测以文本和提示语义标记为前缀的屏蔽语义标记。 S2A 模型经过训练,可以根据提示声学标记、语义标记和前一层的声学标记来预测随机层的屏蔽声学标记
SoundStorm 架构

二、支持的功能

MaskGCT 能超自然地模拟参考音频音色与风格,并跨语言生成音频

Zero-shot In-context Learning 根据提示音频自动生成下文

MaskGCT 可以模仿名人或动画节目中角色的声音。

MaskGCT 可以学习提示语音的韵律、风格和情感。

MaskGCT 可以从提示语音中学习如何说话,包括情感和口音等风格。

MaskGCT 具有控制生成音频的总持续时间的能力,从而使我们能够将生成的语音的速度调节在合理的范围内。

与 AR 模型相比,MaskGCT 表现出更高的稳健性(更低的 WER),在一些具有挑战性的情况下(例如绕口令和 AR 模型容易产生幻觉的其他样本)表现出增强的稳定性。

Speech Editing 语音编辑。

基于掩码和预测机制,我们的文本到语义模型支持在文本-语音对齐器的帮助下进行零镜头语音内容编辑。通过使用对齐器,我们可以识别原始语义标记序列的编辑边界,屏蔽需要编辑的部分,然后使用编辑后的文本和未屏蔽的语义标记来预测被屏蔽的语义标记。

语音对话。MaskGCT 通过使用改进的训练策略微调 S2A (语义到声学)模型来支持零镜头语音转换。我们仍在努力提高语音转换的有效性。源和提示示例来自 Seed-TTS 的 demo 页面。

跨语言视频翻译。

三、实验结果

SOTA 的语音合成效果:MaskGCT 在三个 TTS 基准数据集上都达到了 SOTA 效果,在某些指标上甚至超过了人类水平。

此外,MaskGCT 在风格迁移(口音、情感)也达到了 SOTA 的水准:

我们还研究了 MaskGCT 在中、英外其它语言的能力:

四、应用场景

目前,MaskGCT 在短剧出海、智能助手、有声读物、辅助教育等领域拥有丰富的应用场景。为了加快落地应用,在安全合规下,趣丸科技打造了多语种速译智能视听平台 “趣丸千音”。一键上传视频即可快速翻译成多语种版本,并实现音话同步、口型同步、去字幕等功能。该产品进一步革新视频翻译制作流程,大幅降低过往昂贵的人工翻译成本和冗长的制作周期,成为影视、游戏、短剧等内容出海的理想选择平台。
《2024 年短剧出海白皮书》显示,短剧出海成为蓝海新赛道,2023 年海外市场规模高达 650 亿美元,约为国内市场的 12 倍,短剧出海成为蓝海新赛道。以 “趣丸千音” 为代表的产品的出现,将加速国产短剧 “走出去”,进一步推动中华文化在全球不同语境下的传播。

五、总结

MaskGCT 是一个大规模的零样本 TTS 系统,利用全非自回归掩码生成编解码器 Transformer,无需文本与语音的对齐监督和音素级持续时间预测。MaskGCT 通过文本预测从语音自监督学习(SSL)模型中提取的语义标记,然后基于这些语义标记预测声学标记,实现了高质量的文本到语音合成。实验表明,MaskGCT 在语音质量、相似度和可理解性方面优于最先进的 TTS 系统,并且在模型规模和训练数据量增加时表现更佳,同时能够控制生成语音的总时长。此外,我们还探索了 MaskGCT 在语音翻译、语音转换、情感控制和语音内容编辑等任务中的可扩展性,展示了 MaskGCT 作为语音生成基础模型的潜力。

Emilia:用于大规模语音生成的广泛、多语言和多样化的10wh+语音数据集

ArXiv: https://arxiv.org/abs/2407.05361
GitHub: https://github.com/open-mmlab/Amphion/tree/main/preprocessors/Emilia
Homepage: https://emilia-dataset.github.io/Emilia-Demo-Page/
HuggingFace: https://huggingface.co/datasets/amphion/Emilia

Emilia 数据集是一个全面的多语言数据集,具有以下功能:

  • 包含超过 101K 小时的语音数据;
  • 涵盖六种不同的语言:英语 (En)、中文 (Zh)、德语 (De)、法语 (Fr)、日语 (Ja) 和韩语 (Ko);
  • 包含来自互联网上各种视频平台和播客的各种说话风格的多样化语音数据,涵盖脱口秀、访谈、辩论、体育评论和有声读物等各种内容类型。
Language 语言Duration (hours) 持续时间 (小时)
English 英语46,828
Chinese 中文49,922
German 德语1,590
French 法语1,381
Japanese 日语1,715
Korean 朝鲜语217

Emilia 数据集结构:

|-- openemilia_all.tar.gz (all .JSONL files are gzipped with directory structure in this file)
|-- EN (114 batches)
|   |-- EN_B00000.jsonl
|   |-- EN_B00000 (= EN_B00000.tar.gz)
|   |   |-- EN_B00000_S00000
|   |   |   `-- mp3
|   |   |       |-- EN_B00000_S00000_W000000.mp3
|   |   |       `-- EN_B00000_S00000_W000001.mp3
|   |   |-- ...
|   |-- ...
|   |-- EN_B00113.jsonl
|   `-- EN_B00113
|-- ZH (92 batches)
|-- DE (9 batches)
|-- FR (10 batches)
|-- JA (7 batches)
|-- KO (4 batches)

JSONL 文件示例:

{"id": "EN_B00000_S00000_W000000", "wav": "EN_B00000/EN_B00000_S00000/mp3/EN_B00000_S00000_W000000.mp3", "text": " You can help my mother and you- No. You didn't leave a bad situation back home to get caught up in another one here. What happened to you, Los Angeles?", "duration": 6.264, "speaker": "EN_B00000_S00000", "language": "en", "dnsmos": 3.2927}
{"id": "EN_B00000_S00000_W000001", "wav": "EN_B00000/EN_B00000_S00000/mp3/EN_B00000_S00000_W000001.mp3", "text": " Honda's gone, 20 squads done. X is gonna split us up and put us on different squads. The team's come and go, but 20 squad, can't believe it's ending.", "duration": 8.031, "speaker": "EN_B00000_S00000", "language": "en", "dnsmos": 3.0442}

Emilia-Pipe 概述 👀

Emilia-Pipe 是第一个开源预处理管道,旨在将原始的野生语音数据转换为高质量的训练数据,并带有用于语音生成的注释。此管道可以在几分钟内将一小时的原始音频处理为模型就绪数据,只需要原始语音数据。
Emilia 和 Emilia-Pipe 的详细说明可以在我们的论文中找到。

The Emilia-Pipe includes the following major steps:
Emilia-Pipe 包括以下主要步骤:

  1. Standardization:Audio normalization
    标准化:音频标准化
  2. Source Separation: Long audio -> Long audio without BGM
    源分离: 长音频 -> 无 BGM 的长音频
  3. Speaker Diarization: Get medium-length single-speaker speech data
    说话人分类:获取中等长度的单个说话人语音数据
  4. Fine-grained Segmentation by VAD: Get 3-30s single-speaker speech segments
    按 VAD 进行精细分割:获取 3-30 秒的单说话人语音片段
  5. ASR: Get transcriptions of the speech segments
    ASR:获取语音段的听录
  6. Filtering: Obtain the final processed dataset
    筛选:获取最终处理后的数据集

具体使用的模型:

关于ASR:

缺乏文本转录限制了 Emilia 数据集在 TTS 任务中的直接使用。为了解决这个问题,我们应用 ASR 技术对分段的语音数据进行转录。为了平衡速度和准确性,我们使用了最先进的多语言 ASR 模型 Whisper-Medium。为了进一步提高效率,我们使用了 WhisperX ,它基于更快的 Whisper 后端和 CTranslate2 8 推理引擎。该设置的速度是官方 Whisper 实现的四倍,同时几乎保持相同的准确性。为了避免重复处理,我们绕过了 WhisperX 的 VAD 组件,直接使用VAD的结果。此外,我们还实现了基于更快 Whisper 后端的批处理推理,以并行转录语音数据。这些优化显著提高了整个流程的效率。

关于筛选:

在实际场景中,一些噪声可能无法通过源分离完全处理,Whisper 模型可能会出现幻觉,某些原始语音数据可能质量较低。为了确保生成数据集的质量,我们应用以下过滤标准。首先,我们使用 Whisper 模型的语言识别结果,丢弃任何未被预测为我们目标语言(英语、法语、德语、中文、日语、韩语)或模型语言置信度低于 80% 的语音数据。其次,我们使用 DNSMOS P.835 OVRL 评分来评估整体语音质量,仅保留评分高于 3.0 的语音数据。最后,对于每个原始语音样本,我们计算其对应片段的平均字符持续时间。平均音素持续时间超出第三四分位数上方 1.5 倍四分位距(IQR)或低于第一四分位数的片段被视为异常值,相关的语音片段将被丢弃。经过过滤后,生成的数据集将用于训练语音生成模型。

DNSMOS:评估噪声抑制效果的非侵入性客观语音质量指标。人类主观评估语音质量时音频质量的“黄金标准”。传统音频评估指标需要参考干净的语音信号,这无法对真实的应用环境中的音频作出准确评估。因为真实应用中干净的语音信号难以获得。然而,传统的无参考方法与人类主观评估质量相关性很差,没有被广泛采用。本文介绍了来自微软的深度学习多阶段噪声抑制评估方法

OpenMusic:音乐生成更高质量,更有乐感

中科大&科大讯飞重磅开源OpenMusic

文章链接:https://arxiv.org/pdf/2405.15863
代码链接:https://github.com/ivcylc/qa-mdt
Huggingface链接:https://huggingface.co/spaces/jadechoghari/OpenMusic
Demo链接:https://qa-mdt.github.io/  (chatgpt * 30, musiccaps * 30)

  • 提出了一种质量感知训练范式,使模型在训练过程中能够感知数据集的质量,从而在音乐性(美学角度)和音频质量方面实现卓越的音乐生成效果。
  • 创新性地将masked扩散Transformer引入到音乐信号中,展示了其在建模音乐潜在空间上的独特效果,以及其在质量控制感知方面的卓越能力,从而进一步提升了生成音乐的质量和音乐性。
  • 解决了大型音乐数据集中文本与音频低相关性的问题,有效提高了文本对齐度和生成的多样性。

背景

近年来,基于扩散的文本到音乐(TTM)生成方法逐渐受到重视,提供了一种创新的方法,将文本描述合成音乐内容。要在这一生成过程中实现高准确性和多样性,必须依赖大量高质量的数据,包括高保真音频波形和详细的文本描述,但这些通常仅占现有数据集中的一小部分。在开源数据集中,低质量音乐波形、标签错误、弱标签和无标签数据等问题显著阻碍了音乐生成模型的发展。为了解决这些挑战,今天和大家分享一种全新的高质量音乐生成范式,该范式结合了质量感知训练策略,使生成模型能够在训练过程中辨别输入音乐波形的质量。利用音乐信号的独特特性,首先针对TTM任务调整并实现了一个掩码扩散Transformer(MDT)模型,展现出其在质量控制和音乐性增强方面的独特能力。此外,还通过字幕优化数据处理方法解决了TTM中低质量字幕的问题。实验结果表明,在MusicCaps和Song-Describer数据集上取得了当前最先进的(SOTA)性能。

当前音乐生成(音效生成)领域的问题为质量低,具体来说分为三个方面:

  • 大部分的开源数据集音质低(FMA,AudioSet,MSD),旋律杂乱
  • 音乐性(美学角度)差
  • 文本对齐度低,大多数的音频处于少标签,弱标签,错标签。其中, 第1点可以由下图蓝色分布CLAP分数表征,2,3点可以由数据集的平均MOS分布表征(颜色由 μ +α * σ 分割)
图 1:大规模开源音乐数据库 AudioSet 和 FMA 的 CLAP 相似性和伪 MOS 的分布曲线,其中较暗的区域代表较高的文本音频对齐或音频质量。

创新方法及思路

质量信息注入

解决: 引入质量感知训练策略。采用主观数据集中的MOS分训练出的质量评分模型,在训练过程中注入(伪MOS分)音频质量信息。

两种注入方法:

  • 利用 text encoder 对分级后的 low quality, medium quality, high quality 质量文本进行cross attn嵌入 【粗粒度,适配unet架构和transformer类架构】
  • 参考U-ViT内 时间信息和label信息的融入方式,以量化(阈值由 决定)后转换为quality embedding, 以token 形式进行控制注入,【细粒度,并且只适配transformer类架构】

结论:质量感知策略允许了在推理阶段以高质量文本和质量token进行引导,从而生成显著高于训练集平均质量的音频。

以类似解耦的方式在训练中感知音频的质量(类似TTS中分离出音色训练),从而更好地促进了模型的训练(大幅降低FAD,KL,并提升IS,REL,CLAP等指标)

我们还发现,粗粒度文本控制和细粒度token控制相结合,更有助于模型训练中解耦,感知,并控制更高质量音频的生成,从而解决训练数据集影响的问题

质量感知型 masked扩散Transformer

解决:从音乐性建模角度,我们发现 U-ViT/DiT 类架构对频谱隐空间建模也具有图像上表达的scale ability,并能更好建模谐波,音色等方面(反应在主观评分)

优化

  • 对频谱切片而言,此类结构的收敛速度慢。消融数据集中,20w步时依然不能很好控制收敛,推测来源于时域/频域相关性弱。故在预训练阶段加入掩码,加速训练速度和频谱关联性。微调阶段以高质量数据进一步强化模型(5W步就有收敛迹象)。
  • 相比于U-Net,transformer based架构对text encoder的质量信息感知能力增强,并且U-ViT 式 token 质量融入策略显著有效进一步提升质量并降低客观指标
  • 图像中切块未考虑 overlap,探究了overlap策略在合成中的作用(大幅降低FAD,但在主观听感上有trade off)

优化音乐标注描述

解决:首次在音乐生成领域使用预训练标注模型(LP-Musiccaps)进行大规模标注优化

  • 考虑到标注模型的不充分训练导致错标,以CLAP文本-音频分数+阈值筛选低分数据
  • 考虑到原始标注中有些词(例如说American,R&B等标注器不一定能标注出的词)。使用CLAP分数过滤出生成的与原始的文本相似度低低数据,利用语言模型 融合原始标注中有用信息

实验

总体对比与,对比U-net架构和transformer based架构

对比overlap策略和patch size:

质量感知消融

此图证明了相比于无质量感知,大幅提升了生成质量和客观指标。并且,MDT(我们的架构)比 U-Net 在文本质量控制感知上的独特优势(生成质量更高,总体客观指标更好)

左图展示了 token as control 的准确感知控制生成能力,生成的高质量数据(黄色区域)显著高于训练集MOS分。

右图展示了文本质量控制和token质量控制的结合效果与单纯token和文本控制的对比。

主观评测结果

  • PO:产品运营
  • PMP:专业音乐制作人
  • VE:视频编辑人
  • BEGINNERS:不懂音乐的小白

各个人的评分下,均有优势。

结论与展望

本研究识别出大规模音频质量不均和文本标注未对齐所带来的挑战,这些挑战阻碍了基于扩散的文本到音乐(TTM)生成的发展。通过采用基于p-MOS的新型质量感知学习方法,以及以masked扩散Transformer作为扩散过程的主干,在音乐生成中实现了更高的生成质量和音乐性。

基于MEL谱+VAE的latents的TTS相关工作

Zero-Shot TTS目前有不少工作用了MEL谱作为中间特征,然后在梅尔谱的基础上,或是用VQ提供离散token,或是用CNN来提取连续latent。对于MEL+latents的工作,有:AudioLDM 1&2、StyleTTS 1&2。我们来简单看看是它们是怎么做的。

AudioLDM 1&2

AudioLDM: Text-to-Audio Generation with Latent Diffusion Models

[Paper on ArXiv][Code on GitHub][Hugging Face Space]

AudioLDM 2: Learning Holistic Audio Generation with Self-supervised Pretraining

[Paper on ArXiv][Code on GitHub][HuggingFace Demo][Discord Community]

AudioLDM 1&2使用的语音latents是一致的,均通过MEL+VAE获得。既然是连续的latents,使用扩散模型来建模也合情合理。解码过程也相当简单:VAE decoder获得梅尔谱,然后用声码器转换为音频波形。该系列工作的核心创新点是利用多模态模型统一了扩散模型条件输入侧的信息:AudioLDM 1用CLAP统一了文本模态和音频模态,用单模态的音频数据就能完成模型的训练;AudioLDM 2则包含了图像、文本、转录文本等更多模态,模型泛用性也更强,既能做语音合成,也能做音乐生成、音频事件生成。

StyleTTS 1&2

StyleTTS: A Style-Based Generative Model for Natural and Diverse Text-to-Speech Synthesis

StyleTTS 2: Towards Human-Level Text-to-Speech through Style Diffusion and Adversarial Training with Large Speech Language Models

StyleTTS系列的模型一众zero-shot TTS模型显得比较老派,整体结构基本上沿袭了非自回归的FastSpeech 2,不同之处在于增加了基于参考音频抽取的风格信息。说是风格,其实跟megatts的音色很像。StyleTTS 2的工作则将风格进一步拆分成声学风格和韵律风格。训练时的风格信息由音频提供,推断时的风格信息则由扩散模型提供。StyleTTS 2通过一个扩散模型桥接了文本韵律和语音风格之间的联系,摆脱推断时对参考音频的依赖。不用参考音频其实对产品的意义还挺大的,要都用现实世界中真人尤其是名人的声音作为参考音频,那这势必会引起版权纠纷。这种纠纷在国内国外都有相关的事件。最近寡姐投诉OpenAI的事件就是一例。

在 StyleTTS 中,我们提出了“全局风格迁移”(GST),这是一个在Tacotron(最先进的端到端语音合成系统)中联合训练的嵌入库。嵌入在没有明确标签的情况下进行训练,但学会了对大范围的声学表现力进行建模。商品及服务税会带来一系列丰富的重要结果。它们生成的软可解释“标签”可用于以新颖的方式控制合成,例如改变速度和说话风格 – 独立于文本内容。它们还可用于风格转换,在整个长格式文本语料库中复制单个音频剪辑的说话风格。当对嘈杂的、未标记的发现数据进行训练时,GST 学会分解噪声和说话人身份,为高度可扩展但强大的语音合成提供了一条途径。

StyleTTS 2的不同之处在于,通过扩散模型将风格建模为潜在随机变量,以生成最适合文本的风格,而无需参考语音,实现高效的潜在扩散,同时受益于扩散模型提供的多样化语音合成。 此外采用大型预训练SLM(如WavLM)作为鉴别器,并使用新颖的可微分持续时间建模进行端到端训练,从而提高了语音自然度。

TTS+指令prompt的遵循 系列工作

SLM(speech language model, SLM)不仅要合成合乎上下文语义的高表现力语音,合成的语音还要符合用户的即时要求。一些text-guided zero-shot TTS的工作值得参考。这些工作一般都是在已有的zero-shot TTS模型或者text-to-audio模型上改造而来,同时吸收transcription和description两路条件。其中的重点还是在于数据集的构建。这方面的工作有:PromptTTS、InstructTTS、ParlerTTS、VoiceLDM和Audiobox。

TTS模型同样可以遵循文本指令或者语音指令,合成符合用户即时要求的语音,摆脱对参考音频的依赖。text-guided zero-shot TTS在模型架构上和zero-shot TTS有非常大的相似性,但训练数据可能较为缺乏。因此,先开发zero-shot TTS,再用类似SALMONN 或者 Qwen2-audio那样的多模态理解模型来打标签(类似DALLE3的做法),这样数据集构造方式,可能会是更好的选择

ParlerTTS

 Natural language guidance of high-fidelity text-to-speech with synthetic annotations

训练代码开源:https://github.com/huggingface/parler-tts

ParlerTTS。VALL-E/VoiceCraft的增强版,通过T5编码器和cross-attention旁路引入了描述性文本的信息。该工作的目的是想使用自然语言prompt来指定说话风格和环境信息,摆脱对参考音频的依赖。描述性标签文本的收集过程也显得相当朴素:通过定制化的监督式模型获取语音数据的口音特征、录音质量特征、音高语速特征。然后用LLM将这些特征转换为自然语言的描述。在我看来,这个工作有这么几点局限性吧:其一,缺乏情绪标签;其二,语音描述性标签的收集并不具备通用性,较为繁琐,远不如一个强大的多模态语音理解模型来得实在。文章demo虽然达到了预期的效果,但场景似乎局限在朗读的情景中。

VoiceLDM

VoiceLDM: Text-to-Speech with Environmental Context

VoiceLDM。在VoiceLDM1的基础上增加了转录文本的输入。这个工作和AudioLDM 1很像,同样使用CLAP注入语音的描述性信息。不同地是,为了做TTS任务,该工作通过cross-attention旁路增加了transcription的信息。

基于MEL谱+VQ的TTS相关工作

Zero-shot TTS中有不少工作用了MEL谱作为中间特征,然后在梅尔谱的基础上,或是用VQ提供离散token,或是用CNN来提取连续latent。对于MEL+VQ的工作,有tortoise-tts、xtts 1&2、megatts1&2、base TTS。

Tortoise-tts

论文:https://arxiv.org/abs/2305.07243

该工作是著名的开源英文TTS模型。其作者目前在OpenAI就职,同时也是GPT-4o的重要Contributor(他自个儿在博客中说的)。Tortoise-tts使用MEL+VQVAE的方法得到语音的MEL token,然后对MEL token以及text token做GPT自回归建模。对于语音的解码,自然也是分为两步:先是用扩散模型将MEL token转换为MEL谱,这一步和文生图很像,用扩散模型是很自然的选择;然后用声码器将MEL谱转换为音频波形。tortoise-tts和VALL-E的主体都是自回归建模,二者的不同主要在于token的不同。

MegaTTS 1&2

Mega-TTS: Zero-Shot Text-to-Speech at Scale with Intrinsic Inductive Bias

Mega-TTS 2: Boosting Prompting Mechanisms for Zero-Shot Speech Synthesis

字节跳动的MegaTTS系列对语音token编码信息做了显式的信息压缩处理,让语音token仅编码上下文依赖强的韵律信息,然后用GPT自回归来建模语音的韵律。对于其他方面的信息,模型的处理显得较为常规:音色一般具有全局性,使用单一的音色编码器从参考音频中提取就性;对于文本语义内容的处理,模型在很大程度上参考了非自回归的FastSpeech 2。

对于语音的解码,也是分为两步:先通过MEL decoder还原为MEL谱,然后通过声码器解码为音频波形。MegaTTS 2和1总体上类似,在音色编码(音素级编码、多条参考音频)、语音提示长度(扩展同speaker语音上下文长度硬train,音频prompt长度更长)和时长建模(也用GPT自回归)上做了改进,同时堆了更大规模的数据。剪映的后端TTS模型用的就是megatts2。该工作在各论文的评测中表现也都不错。

认为语音可以分解为几个属性(例如,内容、音色、韵律和相位),每个属性都应该使用具有适当归纳偏差的模块进行建模。从这个角度出发,我们精心设计了一个新颖的大型零样本 TTS 系统,称为 Mega-TTS,该系统使用大规模的野生数据进行训练,并以不同的方式对不同的属性进行建模:1) 我们没有使用音频编解码器编码的潜在作为中间特征,而是仍然选择频谱图,因为它很好地分离了相位和其他属性。Phase 可以由基于 GAN 的声码器适当构建,不需要由语言模型建模。2) 我们使用全局向量对音色进行建模,因为音色是一个随时间缓慢变化的全局属性。3) 我们进一步使用基于 VQGAN 的声学模型来生成频谱图,并使用潜在代码语言模型来拟合韵律的分布,因为句子中的韵律会随着时间的推移而快速变化,并且语言模型可以捕获局部和长期依赖关系。

本文介绍了一种通用的零样本 TTS 提示机制 Mega-TTS 2,以应对上述挑战。具体而言,我们设计了一个强大的声学自动编码器,将韵律和音色信息分别编码到压缩的潜在空间中,同时提供高质量的重建。然后,我们提出了一个多参考音色编码器和一个韵律潜在语言模型 (P-LLM),用于从多句提示中提取有用信息。我们进一步利用从多个 P-LLM 输出得出的概率来产生可转移和可控制的韵律。实验结果表明,Mega-TTS 2 不仅可以使用来自任意来源的看不见的说话者的简短提示来合成身份保留语音,而且当数据量从 10 秒到 5 分钟不等时,其表现始终优于微调方法。