人工智能
OpenVoice:通用即时语音克隆

在文本转语音(TTS)合成中, 即时语音克隆(IVC)使TTS模型能够使用短音频样本克隆任何参考发音者的声音,而无需为参考发音者进行额外的训练。这种技术也被称为零次文本转语音合成。即时语音克隆方法允许生成声音的灵活定制,并在包括定制聊天机器人、内容创作和人类与大型语言模型(LLM)交互在内的广泛实际情况下展示了显著的价值。
尽管当前的语音克隆框架做得很好,但它们在领域中存在几个挑战,包括 灵活的语音风格控制,即模型缺乏在克隆声音后灵活操纵语音风格的能力。当前即时克隆框架面临的另一个主要障碍是 零次跨语言语音克隆 ,即,为了进行训练,当前模型需要访问大量的多语言或MSML数据集,无论语言如何。
为了解决这些问题,并为即时语音克隆模型的增强做出贡献,开发人员已经开发了OpenVoice,一种通用的即时语音克隆框架,它可以复制任何用户的声音,并使用参考发音者的短音频剪辑生成多种语言的语音。OpenVoice展示了即时语音克隆模型可以复制参考发音者的音色,并对语音风格(包括口音、节奏、语调、停顿,甚至情感)实现细粒度控制。更令人印象深刻的是,OpenVoice框架还展示了在不需要对该语言进行大量预训练的情况下实现零次跨语言语音克隆的显著能力,使OpenVoice能够将声音克隆到新的语言中。OpenVoice在具有10倍较低的运营成本的同时提供了优越的即时语音克隆结果,而当前可用的API的性能则较差。
在本文中,我们将深入讨论OpenVoice框架,并揭示其允许其实现卓越性能的架构。所以,让我们开始。
OpenVoice:实现通用即时语音克隆
如前所述,即时语音克隆,也被称为 零次文本转语音合成,允许TTS模型使用短音频样本克隆任何参考发音者的声音,而无需为参考发音者进行额外的训练。即时语音克隆一直是一个热门的研究话题,现有的工作包括XTTS和VALLE框架,它们从参考音频中提取发音者嵌入和/或声学令牌,作为自回归模型的条件。自回归模型然后顺序生成声学令牌,并将这些令牌解码为原始音频波形。
尽管自回归即时语音克隆模型在复制音色方面表现出色,但它们在操纵其他风格参数(包括口音、情感、停顿和节奏)方面存在不足。另外,自回归模型还存在低推理速度和高运营成本的问题。像YourTTS框架这样的现有方法采用了一种非自回归方法,展示了比自回归框架更快的推理速度,但仍然无法为用户提供对风格参数的灵活控制。另外,自回归和非自回归即时语音克隆框架都需要访问大量的多语言或MSML数据集以进行跨语言语音克隆。
为了解决当前即时语音克隆框架面临的挑战,开发人员已经开发了OpenVoice,一种开源的即时语音克隆库,旨在解决当前IVC框架面临的以下挑战。
- 第一个挑战是使IVC框架能够在音色之外灵活地控制风格参数,包括口音、节奏、语调和停顿。风格参数对于生成上下文自然对话和语音而不是以单调的方式朗读输入文本至关重要。
- 第二个挑战是使IVC框架能够在零次设置中克隆跨语言的声音。
- 最后一个挑战是实现高实时推理速度而不降低质量。
为了解决前两个障碍,OpenVoice框架的架构被设计为尽可能地解耦组件。另外,OpenVoice独立生成音色、语言和其他语音特征,使框架能够灵活地操纵个别语言类型和语音风格。OpenVoice框架通过默认方式解决第三个挑战,因为解耦结构降低了计算复杂性和模型大小要求。
OpenVoice:方法论和架构
OpenVoice框架的技术框架简单却有效。毫无疑问,克隆任何发音者的音色、添加新语言并同时灵活地控制语音参数是一个具有挑战性的任务。这是因为同时执行这些三个任务需要控制参数使用大量组合数据集。另外,在常规的单发音者 文本转语音合成 中,对于不需要语音克隆的任务,添加对其他风格参数的控制更容易。基于这些,OpenVoice框架旨在将即时语音克隆任务分解为子任务。模型提出使用基础发音者文本转语音模型来控制语言和风格参数,并使用音色转换器将参考音色纳入生成的语音中。以下图表展示了框架的架构。

在其核心,OpenVoice框架采用两个组件:音色转换器和基础发音者文本转语音或TTS模型。基础发音者文本转语音模型可以是单发音者或多发音者模型,允许对风格参数、语言和口音进行精确控制。模型生成的声音然后传递给音色转换器,音色转换器将基础发音者的音色更改为参考发音者的音色。
OpenVoice框架在基础发音者文本转语音模型方面提供了很多灵活性,因为它可以采用VITS模型,并对其进行轻微的修改,以便其在持续时间预测器和文本编码器中接受语言和风格嵌入。框架还可以采用Microsoft TTS等商业廉价的模型,或采用InstructTTS等能够接受风格提示的模型。目前,OpenVoice框架采用VITS模型,尽管其他模型也是可行的选择。
至于第二个组件,音色转换器是一个编码器-解码器组件,中心是一个可逆的正态流。音色转换器中的编码器是一个一维CNN,它接受基础发音者文本转语音模型的短时傅里叶变换光谱作为输入。编码器然后生成特征图作为输出。音色提取器是一个简单的二维CNN,它在输入声音的梅尔谱图上运行,并生成一个单一的特征向量作为输出,编码参考音色的信息。正态流层接受编码器生成的特征图作为输入,并生成保留所有风格属性但消除音色信息的特征表示。OpenVoice框架然后以逆方向应用正态流层,并将特征表示作为输入和输出。然后,框架使用一堆一维转置卷积将正态流层解码为原始波形。
OpenVoice框架的整个架构是前馈的,没有使用任何自回归组件。音色转换器组件在概念上类似于语音转换,但在功能、训练目标和模型结构的归纳偏差方面有所不同。正态流层与基于流的文本转语音模型共享相同的结构,但在功能和训练目标方面有所不同。
此外,存在一种不同的方法来提取特征表示,OpenVoice框架实现的方法提供了更好的音频质量。值得注意的是,OpenVoice框架没有打算在模型架构中发明组件,而是两个主要组件,即音色转换器和基础发音者TTS模型,都来自现有的工作。OpenVoice框架的主要目标是形成一个解耦的框架,分离语言控制和语音风格与音色克隆。虽然这种方法很简单,但它在控制风格和口音或新语言泛化任务方面非常有效。使用耦合框架实现相同的控制需要大量的计算和数据,并且不能很好地泛化到新语言。
在其核心,OpenVoice框架的主要哲学是将语言和语音风格的生成与音色的生成分离。OpenVoice框架的一个主要优势是克隆的声音是流畅和高质量的,只要单发音者TTS模型说话流畅。
OpenVoice:实验和结果
评估语音克隆任务是一个具有挑战性的目标,主要有几个原因。首先,现有的工作通常使用不同的训练和测试数据,这使得比较这些工作在本质上是不公平的。虽然众包可以用于评估平均意见评分等指标,但测试数据的难度和多样性将显著影响结果。其次,不同的语音克隆方法具有不同的训练数据,数据的多样性和规模将显著影响结果。最后,现有工作的主要目标往往彼此不同,因此它们在功能上有所不同。
由于上述三个原因,数值上比较现有的语音克隆框架是不公平的。相反,比较这些方法在质上更有意义。
准确的音色克隆
为了分析其性能,开发人员构建了一个测试集,匿名个体、游戏角色和名人构成了参考发音者基础,并具有广泛的语音分布,包括中性样本和独特的富有表现力的语音。OpenVoice框架能够克隆参考音色,并为任何参考发音者和4个基础发音者生成多种语言和口音的语音。

对语音风格的灵活控制
OpenVoice框架的一个目标是使用音色转换器灵活地控制语音风格,音色转换器可以在保留所有其他语音特征和属性的同时修改音色。
实验表明,模型在转换为参考音色后保留了语音风格。在某些情况下,模型会稍微中和情感,这个问题可以通过减少传递给流层的信息来解决,以便它们无法消除情感。OpenVoice框架能够保留基础声音的风格,这得益于其使用音色转换器。它允许OpenVoice框架轻松地操纵基础发音者文本转语音模型来控制语音风格。

跨语言语音克隆
OpenVoice框架不包括任何未见语言的巨大数据集,但它能够在零次设置中实现近似的跨语言语音克隆。OpenVoice框架的跨语言语音克隆能力有两个方面:
- 模型能够在多语言或MSML数据集中看不到参考发音者的语言时准确地克隆参考发音者的音色。
- 此外,当参考发音者的语言在多语言或MSML数据集中看不到时,OpenVoice框架能够克隆参考发音者的声音,并以基础发音者文本转语音模型支持的语言说话。
最终想法
在本文中,我们讨论了OpenVoice,一种通用的即时语音克隆框架,它可以复制任何用户的声音,并使用参考发音者的短音频剪辑生成多种语言的语音。OpenVoice框架的主要直觉是,只要模型不需要执行参考发音者的音色克隆,就可以使用基础发音者TTS模型来控制语言和语音风格。
OpenVoice展示了即时语音克隆模型可以复制参考发音者的音色,并对语音风格(包括口音、节奏、语调、停顿,甚至情感)实现细粒度控制。OpenVoice在具有10倍较低的运营成本的同时提供了优越的即时语音克隆结果,而当前可用的API的性能则较差。












