AI 模型与平台

OpenVoice:实现多样化的即时语音克隆

mm

在文本转语音(TTS)合成中, 即时语音克隆(IVC)使TTS模型能够使用短音频样本克隆任何参考发音者的声音,而无需为参考发音者进行额外的训练。这种技术也被称为零样本文本转语音合成。即时语音克隆方法允许对生成的语音进行灵活的定制,并在包括定制聊天机器人、内容创建和人类与大型语言模型(LLM)之间的交互等各种实际情况下展示出显著的价值。

尽管当前的语音克隆框架做得很好,但它们在领域中存在几个挑战,包括 灵活的语音风格控制,即模型缺乏在克隆语音后灵活操控语音风格的能力。当前即时克隆框架面临的另一个主要障碍是 零样本跨语言语音克隆 ,即当前模型需要访问大量的多语言数据集,无论语言如何。

为了解决这些问题,并为即时语音克隆模型的增强做出贡献,开发人员已经开发了OpenVoice,一种多样化的即时语音克隆框架,它可以复制任何用户的语音,并使用参考发音者的短音频片段生成多种语言的语音。OpenVoice展示了即时语音克隆模型可以复制参考发音者的语调颜色,并实现对语音风格的细粒度控制,包括口音、节奏、语调、暂停,甚至情感。更令人印象深刻的是,OpenVoice框架还展示了在零样本设置中实现跨语言语音克隆的显著能力,允许OpenVoice在没有对该语言进行广泛预训练的情况下将语音克隆到新语言。OpenVoice在保持计算效率的同时,相比当前可用的性能较差的API,实现了更好的即时语音克隆结果,其运营成本最多可降低10倍。

在本文中,我们将深入讨论OpenVoice框架,并揭示其允许其在即时语音克隆任务中实现卓越性能的架构。让我们开始吧。

OpenVoice :实现多样化的即时语音克隆

如前所述,即时语音克隆,也被称为 零样本文本转语音合成,允许TTS模型使用短音频样本克隆任何参考发音者的语音,而无需为参考发音者进行额外的训练。即时语音克隆一直是一个热门的研究话题,现有的工作包括XTTS和VALLE框架,它们从参考音频中提取发音者嵌入和/或声学令牌,作为自回归模型的条件。自回归模型然后生成声学令牌,接着解码这些令牌为原始音频波形。

尽管自回归即时语音克隆模型在克隆语调颜色方面做得很好,但它们在操控其他风格参数(包括口音、情感、暂停和节奏)方面却存在不足。另外,自回归模型也面临低推理速度和高运营成本的问题。现有的方法,如YourTTS框架,采用非自回归方法,展示了显著更快的推理速度,但仍然无法为用户提供灵活的风格控制。另外,既有自回归又有非自回归的即时语音克隆框架都需要访问大量的多语言数据集,以进行跨语言语音克隆。

为了解决当前即时语音克隆框架面临的挑战,开发人员已经开发了OpenVoice,一种开源的即时语音克隆库,旨在解决当前IVC框架面临的以下挑战。

  1. 第一个挑战是使IVC框架能够在克隆语音后灵活地控制风格参数,包括口音、节奏、语调和暂停。风格参数对于生成自然的对话和语音至关重要,而不是以单调的方式朗读输入文本。
  2. 第二个挑战是使IVC框架能够在零样本设置中克隆跨语言的声音。
  3. 最后一个挑战是实现高实时推理速度而不降低质量。

为了解决前两个挑战,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框架的跨语言语音克隆能力有两方面:

  1. 模型能够在参考发音者的语言未出现在多语言数据集时准确地克隆参考语调颜色。
  2. 另外,当参考发音者的语言未出现在多语言数据集时,OpenVoice框架能够克隆参考发音者的语音,并以基础发音者文本转语音模型支持的语言进行语音合成。

总结

在本文中,我们讨论了OpenVoice,一种多样化的即时语音克隆框架,它可以复制任何用户的语音,并使用参考发音者的短音频片段生成多种语言的语音。OpenVoice框架的主要直觉是,只要模型不需要执行参考发音者的语调颜色克隆,就可以使用基础发音者TTS模型来控制语言和语音风格。

OpenVoice框架展示了即时语音克隆模型可以复制参考发音者的语调颜色,并实现对语音风格的细粒度控制,包括口音、节奏、语调、暂停,甚至情感。OpenVoice框架能够提供更好的即时语音克隆结果,同时保持计算效率,其运营成本最多可降低10倍,相比当前可用的性能较差的API。

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。