CN117975931A - 语音合成方法、电子设备以及计算机程序产品 - Google Patents
语音合成方法、电子设备以及计算机程序产品 Download PDFInfo
- Publication number
- CN117975931A CN117975931A CN202211294423.XA CN202211294423A CN117975931A CN 117975931 A CN117975931 A CN 117975931A CN 202211294423 A CN202211294423 A CN 202211294423A CN 117975931 A CN117975931 A CN 117975931A
- Authority
- CN
- China
- Prior art keywords
- speaker
- audio
- speech synthesis
- synthesis model
- loss function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004590 computer program Methods 0.000 title claims abstract description 15
- 238000001308 synthesis method Methods 0.000 title abstract description 6
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 136
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 136
- 238000000034 method Methods 0.000 claims abstract description 53
- 239000013598 vector Substances 0.000 claims abstract description 51
- 230000006870 function Effects 0.000 claims description 58
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 abstract description 44
- 238000005381 potential energy Methods 0.000 description 41
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 14
- 238000010367 cloning Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 12
- 238000000605 extraction Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005398 intermolecular potential Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/033—Voice editing, e.g. manipulating the voice of the synthesiser
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Stereophonic System (AREA)
Abstract
本公开的实施例提供了一种语音合成方法、电子设备以及计算机程序产品。该语音合成方法包括:从多个说话者相对应的多个音频中提取该多个说话者的声音特征向量,基于该多个说话者的多个声音特征向量之间的距离计算第一损失函数,根据多个文本与相对应的多个真实音频计算第二损失函数,以及基于第一损失函数和第二损失函数生成语音合成模型。实施该方法,能够优化训练语音合成模型,使其能够基于文本输出具有目标声音特征的高质量音频。
Description
技术领域
本公开的实施例涉及计算机技术领域,并且更具体地涉及一种语音合成方法、电子设备以及计算机程序产品。
背景技术
基于语音的通讯可以向用户提供直观且便利的服务,被称作文本转语音(text-to-speech,TTS)或语音合成的技术为在需要人的语音的应用程序中并且在未事先录音人的真实语音的情况下,根据给定文本合成所需的具有目标人的声音特征的可理解的和自然的语音的技术。
如今,文本转语音技术是语言学习和机器学习的热门研究课题,并且在产业中具有广泛的应用,例如通知广播、语音导航、终端人工智能助手等。目前的语音合成模型的音频输出质量还没有做到与人的自然说话相媲美的效果,亟需优化提高。
发明内容
根据本公开的示例实施例,提供了一种语音合成的技术方案,用于优化基于文本的语音合成模型。
在本公开的第一方面中,提供了一种语音合成的方法,该方法可以包括:从多个说话者相对应的多个音频中提取该多个说话者的声音特征向量,基于该多个说话者的多个声音特征向量之间的距离计算第一损失函数,根据多个文本与相对应的多个真实音频计算第二损失函数,以及基于第一损失函数和第二损失函数生成语音合成模型。
实施第一方面提供的方法,能够优化训练语音合成模型,使其能够基于文本输出具有目标声音特征的高质量音频。
在第一方面的一些实施例中,还包括:将第一文本和第一说话者的声音特征输入语音合成模型,以及输出对应于第一文本的第一音频。在第二方面的一些实施例中,训练语音合成模型所对应的多个说话者的不包括第一说话者,即第一说话者是陌生说话者,不在语音合成模型的训练样本中。在第二方面的一些实施例中,语音合成模型在云端经训练生成,针对第一说话者的对应于第一文本的第一音频在本地端生成。在云端针对多个说话者的大量训练样本进行训练,在边缘端针对第一说话者进行微调模型,能够合理分配架构中的处理资源和处理性能,使得边缘端的语音合成架构***的计算量小、资源需求少,易于在边缘设备上应用。
在本公开的第二方面中,提供了一种用于语音合成的电子设备。该电子设备包括:处理器,以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被电子设备执行时使电子设备执行动作,包括:从多个说话者相对应的多个音频中提取该多个说话者的声音特征向量,基于该多个说话者的多个声音特征向量之间的距离计算第一损失函数,根据多个文本与相对应的多个真实音频计算第二损失函数,以及基于第一损失函数和第二损失函数生成语音合成模型。
实施第二方面提供的电子设备,能够优化训练语音合成模型,使其能够基于文本输出具有目标声音特征的高质量音频。
在第二方面的一些实施例中,该动作还包括:将第一文本和第一说话者的声音特征输入语音合成模型,以及输出对应于第一文本的第一音频。在第二方面的一些实施例中,训练语音合成模型所对应的多个说话者的不包括第一说话者,即第一说话者是陌生说话者,不在语音合成模型的训练样本中。在第二方面的一些实施例中,语音合成模型在云端经训练生成,针对第一说话者的对应于第一文本的第一音频在本地端生成。在云端针对多个说话者的大量训练样本进行训练,在边缘端针对第一说话者进行微调模型,能够合理分配架构中的处理资源和处理性能,使得边缘端的语音合成架构***的计算量小、资源需求少,易于在边缘设备上应用。
在本公开的第三方面中,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行根据本公开的第一方面的方法。
在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序在由设备执行时使得设备执行根据本公开的第一方面的方法。
通过以上描述可以看到,根据本公开的各实施例的方案,能够优化训练语音合成模型,使其能够基于文本输出具有目标声音特征的高质量音频。
应当理解的是,提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其它特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了势能、合力与距离的关系的示意图;
图2示出了根据本公开的一些实施例的语音合成的方法的流程图;
图3示出了根据本公开的一些实施例的另一语音合成的方法的流程图;
图4示出了根据本公开的一些实施例的用于语音合成的架构的示意图;
图5示出了根据本公开的一些实施例的训练模块的示意图;
图6示出了根据本公开的一些实施例的声音克隆模块的示意图;
图7示出了根据本公开的一些实施例的克隆音频生成模块的示意图;以及
图8示出了可以用来实现本公开的实施例的设备的示意性结构图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其它明确的和隐含的定义。
在使用大量高质量单个说话者录音进行训练的情况下,通常文本语音合成模型可以合成自然的人声。文本语音合成模型可以扩展到多个说话者的应用场景。自定义语音服务的文本语音合成的目的是采用源文本语音合成模型,使用目标说话者的少量语音来合成具有目标说话者的个人声音特征的语音。然而,如果训练该源文本语音合成模型的多个说话者不包括目标说话者,这可能需要对源文本语音合成模型中进行微调,不进行微调可能就会获得较低的语音质量,即该源语音合成模型通常针对未知的说话者的适应性能较差,特别是在参考语音长度较短的情况下。
根据本公开的一些实施例,提出了一种语音合成的方法,灵活地利用学习到的说话者特征来合成语音,并提出了改进的线性投射,以提高语音合成模型对未知说话者的适应性能。根据本公开的一些实施例,利用经克隆的目标说话者的声音来合成高质量的语音,借用势能的启发来找到针对说话者声音特征的良好的线性投射,该说话者声音特征的嵌入向量可以用于语音生成。根据本公开的一些实施例,提出了一种说话者声音特征提取器和编码器,所提出的基于势能的方法能够以一种高效、轻量级的方式更好地学习说话者的声音特征。根据本公开的一些实施例,还提出了利用不依赖于中间语言特征的端到端合成网络以及不局限于封闭的说话者集合的不同的说话者嵌入特征向量网络。根据本公开的一些实施例,提出了一种高效的边缘端解决架构,可以使得语音合成架构***的计算量小、资源需求少,易于在边缘设备上应用。
在本公开的实施例中,提出了一种基于势能的声音克隆算法。结合图1简单介绍势能的概念。势能是物理学中一个简单的概念。分子势能是分子间由于存在相互的作用力,从而具有的与其相对位置有关的能。分子之间的势能就是由分子间作用力引起的,所以分子势能与分子间的相互作用力的大小和相对位置有关。分子间作用力分为斥力和引力,在平衡位置时引力和斥力相对平衡,小于平衡位置时表现为斥力,大于平衡位置时表现为引力。但无论何时,引力与斥力都是同时存在的。分子之间存在的引力和斥力作用在一定距离范围内,通常分子间距大于平衡位置的间距r0的10倍以上的时候,它们之间的作用力就变得十分微弱,可以忽略不计。
如图1中所示,坐标图110示意出了分子间合力与距离的关系,坐标图120示意出了分子间势能与距离的关系。两个粒子之间存在距离r,r0是引力和斥力的合力F为零的稳定平衡状态下的距离。由坐标图110、坐标图120的示意可以看出,当分子间距离大于平衡距离r0时,合力表现为引力,此时增大粒子间距离,力作负功,势能增加;当分子间距离小于平衡距离r0时,合力为斥力,此时减小距离,力还是做负功,势能增加。由此可见分子间距离等于平衡距离r0时,合力为零,势能最小,状态最稳定,但势能不一定为零,因为势能是相对的。
在本公开的实施例中,可以借助势能概念的启发来寻找两个声音特征向量之间的完美距离。例如,借助势能来优化质心的位置,使质心易于分类,又不至于太远,以及借用势能来优化同类特征的位置,使它们足够接近。
图2示出了根据本公开的一些实施例的语音合成方法200的流程图,该方法200可以由电子设备来执行。该电子设备可以包括但不限于个人计算机(PC)、服务器计算机、手持或膝上型设备、移动终端、多处理器***、可穿戴电子设备、小型计算机、大型计算机、边缘计算设备、或者包括上述设备中的任意一个或其组合的分布式计算环境等。本公开的实施例对实现方法200的电子设备的设备类型等不作任何限定。应当理解的是,在本公开的实施例中,实现该方法200的主体可以由一个实体设备实现,也可以由多个实体设备共同实现。可以理解的是,实现该方法200的主体可以是实体设备内的一个逻辑功能模块,也可以是由多个实体设备组成的一个逻辑功能模块。应当理解的是,在下述的本公开实施例中,可以由一个实体设备执行本公开实施例提供的方法中的各个步骤,也可以由多个实体设备协作执行本公开实施例提供的方法中的各个步骤,本公开实施例对此不作任何限制。
应当理解的是,方法200还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
在框201,从多个说话者相对应的多个音频中提取多个说话者的声音特征向量。在一些实施例中,该过程可以由训练模块500中的声音特征提取模块501实现。提取声音特征的方式可以有多种,本公开的实施例对此不作限制。
在框202,基于多个说话者的多个声音特征向量之间的距离计算第一损失函数。在一些实施例中,该过程可以由训练模块500中的势能最小化(potential energyminimization,PEM)模块502实现。该第一损失函数是基于分子势能计算公式的启发获得的,套用分子势能的计算公式,根据多个声音特征向量之间的距离关系得到第一损失函数。
在框203,根据多个文本与相对应的多个真实音频计算第二损失函数。在一些实施例中,基于针对多个文本的合成音频与针对多个文本相对应的多个真实音频之间的差,得到第二损失函数。
在框204,基于第一损失函数和第二损失函数生成语音合成模型。在一些实施例中,可以将第一损失函数与第二损失函数加总,得到第三损失函数,以及基于最小化第三损失函数来训练语音合成模型,得到经训练的语音合成模型。
在一些实施例中,同一说话者的声音特征向量之间的距离可能相对较近,不同说话者的声音特征向量之间的距离可能相对较远,方便区分不同说话者的声音特征。例如,多个说话者包括第二说话者和第三说话者,针对第二说话者的第一声音特征向量与第二声音特征向量之间的第一距离,小于针对第二说话者的第一声音特征向量与针对第三说话者的第三声音特征向量之间的第二距离。
实施该方法,能够优化训练语音合成模型,使其能够基于文本输出具有目标声音特征的高质量音频。更具体的实现细节可以结合后面的实施例理解。
在经过方法200之后,可以得到语音合成模型,可以基于目标文本和目标声音特征,使用该语音合成模型进行音频克隆,生成具有目标声音特征的与目标文本相对应的音频。
参考图3所示的方法300,在框301,获取语音合成模型。该语音合成模型可以是使用方法200得到的。在一些实施例中,语音合成模型可以在云端经训练生成,在需要的时候发送给边缘端。在框302,将第一文本和第一说话者的声音特征输入语音合成模型。在框303,输出对应于第一文本的第一音频。在一些实施例中,针对第一说话者的对应于第一文本的第一音频可以在本地端生成。
在一些实施例中,训练语音合成模型所对应的多个说话者的不包括第一说话者。方法300为测试语音合成模型是否符合使用标准,这个使用标准可以是用户主观判断,也可以是通过一些参数指标进行判断,本公开的实施例对此不作限制。
在一些实施例中,判断第一音频是否具有第一说话者的声音特征,如果第一音频具有第一说话者的声音特征,说明该语音合成模型可以用于合成具有第一说话者声音特征的音频,则使用语音合成模型合成第二文本对应的第二音频,第二音频具有第一说话者的声音特征。
在一些实施例中,上述语音合成模型称为第一语音合成模型,如果判断第一音频不具有第一说话者的声音特征,即该第一语音合成模型不合格,则基于第一说话者的声音特征生成第二语音合成模型,即将第一说话者的声音特征加入训练样本,重新训练第二语音合成模型。然后再使用第二语音合成模型合成第三文本对应的第三音频,第三音频具有第一说话者的声音特征。由于训练样本中加入了第一说话者的声音特征,使用第二语音合成模型比第一语音合成模型的输出的克隆音频的质量更好。
图4示出了本公开的实施例提供的一种用于语音合成的架构400的示意图。该架构400中包括训练模块500、声音克隆模块600、克隆音频生成模块700等。其中,训练模块500可以用于基于多个说话者的多个文本音频对来训练语音合成模型,声音克隆模块600可以用于测试语音合成模型对于目标说话者的适应程度,克隆音频生成模块700可以用于针对目标文本生成具有目标说话者声音特征的目标音频。实施该架构400,能够优化训练语音合成模型,使其能够基于文本输出具有目标声音特征的高质量音频。
在一些实施例中,训练模块500可以在云服务器上实现,克隆音频生成模块700可以在边缘设备上实现,应当理解,图4中示意的架构400仅是示意性的,根据实际应用情况,图4中的架构400可以具有其他不同的形式,并且架构400还可以包括更多或更少的用于语音合成的一个或多个功能模块和/或单元,这些模块和/或单元可以部分或者全部地实现为硬件模块、软件模块、固件模块或者其任意组合,本公开的实施例对此不进行限制。
参考图5,训练模块500中可以包括声音特征提取模块501、势能最小化模块502、语音合成模型503、训练文本504、训练音频505和真实音频506等。在一些实施例中,可以将针对多个说话者的训练文本音频对,即训练文本504和真实音频506输入语音合成模型503,输出对应于训练文本504的经合成的训练音频505,通过基于最小化训练音频505与真实音频506的差的目标对语音合成模型503进行训练,最后生成经训练的语音合成模型。
声音特征提取模块501可以从多个真实音频506中提取多个说话者的声音特征嵌入(embedding)向量,又可称为声音特征投射向量。本公开的实施例对声音特征向量的提取和投射方式不作任何限制。
势能最小化模块502可以接收来自于声音特征提取模块501的多个说话者的声音特征嵌入向量并基于势能的原理对其进行优化,然后向语音合成模型503输出经优化的多个说话者的声音特征嵌入向量。
在一些实施例中,为了将声音特征分布转化为可行空间,这些特征分布应该更规则,即更像高斯函数。因此可以在势能最小化模块对特征向量进行优化转换之前,可以将声音特征分布转化为类似高斯分布。例如,可以利用图基(Tukey)的幂阶变换对特征进行变换,使得特征的分布更符合高斯分布。该图基的幂阶变换可以用以下公式1描述:
其中λ是控制分布正则化方式的超参数。根据公式1,为了恢复特征分布,λ应设为1。如果λ减小,分布变得不那么正倾斜,反之亦然。
参考前面对分子势能的描述,平衡距离r0是该变换试图达到的最佳距离。考虑稳定***FS中具有权重WT和特征向量F的线性变换,其满足FS=WTF。在一些实施例中,为了达到这个目标,参考可能有不同的形式的势能表达式,在一些示例中使用以下公式2:
在公式2中,r表示两个粒子之间的距离,E表示势能。然后根据公式2改写声音特征变换的损失函数(又可称为第一损失函数)来学习权重WT:
其中dij=dis(WTfi,WTfj),dis()表示距离计算度量,例如欧几里得距离,N为待比较样本数目,λ为控制该损失函数的超参数。如果想要使它类似作为分子势能优化,设置λ为较低的值则代表高势能(不同类别的质心),而设置λ为较高的值则代表原子之间的低势能(同一类别的特征)。在一些实施例中,同一说话者的声音特征向量之间的距离可能相对较近,不同说话者的声音特征向量之间的距离可能相对较远,方便区分不同说话者的声音特征。
语音合成模型503基于输入的经势能最小化模块502优化过的多个说话者的声音特征嵌入向量和训练文本504进行训练。在一些实施例中,针对多个说话者训练的模型可以接收文本ti,j和说话者标识si。/>中的可训练参数可以由W和/>进行参数化。/>表示对应于si的可训练说话者的声音特征嵌入向量。W和/>都是可以通过最小化损失函数L(又可称为第二损失函数)来优化的,损失函数L关联于语音合成模型针对训练文本所合成的训练音频与真实音频之间的差(例如谱图的回归损失)。可以基于以下公式4训练语音合成模型503:
其中S是说话者集合,是说话者si的文本-音频对训练集,ai,j是说话者si的针对ti,j的真实音频。公式4中的期望E可以通过所有训练说话者的文本-音频对进行估计。可以基于最小化期望E来训练语音合成模型503,期望E可以包括第一损失函数和第二损失函数的加总(又可称为第三损失函数)。/>表示训练后的参数,/>表示训练后的声音特征嵌入向量。说话者声音特征嵌入向量可以有效地捕捉低维向量说话者的声音特征,在说话者嵌入空间中可以区分可辨别的属性,例如性别和口音。可以理解的是,本公开的实施例中包括使用其他形式的损失函数来训练网络,本公开的范围在此方面不受任何限制。
参考图6,声音克隆模块600中可以包括声音特征提取模块601、势能最小化模块602、语音合成模型603、测试文本604、测试音频605和真实音频606等。在这里使用的语音合成模型603是经过训练好的语音合成模型,例如经过训练模块500训练出的可用的语音合成模型。声音克隆模块600用于测试经训练的语音合成模型是否针对目标说话者可用。关于声音特征提取模块601和势能最小化模块602的具体实现可以结合参考前述描述。
适应克隆陌生说话者的声音可以通过使用一些音频-文本对来微调经训练好的针对多个说话者的语音合成模型,以适应一个未知的说话者,克隆出具有该未知说话者声音特征的音频。微调可以应用于声音特征嵌入向量或整个模型。对于仅适应声音特征嵌入向量的调整,其训练目标参考以下公式5:
其中是针对目标说话者sk的一组文本-音频对。对于适应整个模型的调整,其训练目标参考以下公式6:
虽然整个模型为未知说话者的自适应提供了更大的自由度,但由于克隆数据量小,其优化具有一定的挑战性,可以尽早停止,以避免过拟合。与传统的语音克隆框架相比,势能最小化模块几乎是非参数的,可以针对语音合成取得很好的效果,这使得语音合成的测试和应用可以部署在边缘设备上。
在一些实施例中,输入一个未知说话者的多个真实音频该未知说话者是目标说话者(又称为第一说话者),该未知说话者未参与先前的语音合成模型的训练,即经训练的语音合成模型中所训练的多个说话者不包括该未知说话者。声音特征提取模块601可以从输入的一组真实音频606中提取该未知说话者sk的声音特征嵌入向量,然后经过势能最小化模块602的优化,将经优化的声音特征嵌入向量以及测试文本604(如,第一文本)输入语音合成模型603,输出针对该未知说话者的与给定测试文本604相对应的测试音频605(如,第一音频)。之后,将测试音频605与测试音频605进行比较,判断该语音合成模型603是否符合基于文本可以生成针对该未知说话者的音频的标准,例如,判断性能指标可以是语音的自然度和与说话者声音的相似性,即,生成的测试音频听起来是否像目标说话者的发音。对于判断标准的设定和判断方式等方面,本公开的实施例不作限制。
在一些实施例中,如果语音合成模型603(又称为第一语音合成模型)符合设定标准,那么该语音合成模型可以用于克隆音频生成模块700,应用基于目标文本(如,第二文本)生成针对该目标说话者的目标音频(如,第二音频)。在另一些实施例中,如果语音合成模型603不符合设定标准,可以将该未知说话者的多个真实音频606输入训练模块500,重新对语音合成模型进行训练,然后再将重新训练好的语音合成模型(又称为第二语音合成模型)应用到克隆音频生成模块,基于目标文本(如,第三文本)生成针对该目标说话者的目标音频(如,第三音频)。在一些实施例中,由于重新训练的样本中加入了目标说话者的声音特征,重新训练后的语音合成模型比先前语音合成模型603的输出的克隆音频的质量更好,更贴合目标说话者的声音特征。
参考图7,克隆音频生成模块700中可以包括声音特征提取模块701、势能最小化模块702、语音合成模型703、目标文本704、目标音频705和真实音频706等。克隆音频生成模块700用于应用目标说话者的文本-音频的合成。语音合成模型703是可以应用的经验证的效果较好的模型。将真实音频706输入声音特征提取模块701,该声音特征提取模块701提取该目标说话者的声音特征嵌入向量,然后经过势能最小化模块702的优化,将经优化的声音特征嵌入向量以及目标文本704输入语音合成模型703,输出针对该目标说话者的与给定目标文本704相对应的目标音频705,该目标音频705具有该目标说话者的声音特征。因为该语音合成模型703已经经过验证可以很好的适应该目标说话者的声音合成,所以真实音频706可以是较少量的音频。关于声音特征提取模块701和势能最小化模块702的具体实现可以结合参考前述描述。
可以看出,在训练模块500、声音克隆模块600、克隆音频生成模块700的语音生成网络都是端到端的合成网络,它不需要区分语言特征的中间处理,而是基于输入的文本-音频对直接进行语音合成模型的训练,这样可以节省很多时间,以及减少了对于语言识别的依赖。可以理解的,与传统的语音克隆框架相比,势能最小化模块几乎是非参数的,可以针对语音合成取得很好的效果,这可以使得语音合成的声音克隆模块600和/或克隆音频生成模块700可以部署在边缘设备上。而需要消耗大量处理资源的训练模块500可以部署在云端,训练好之后的语音合成模型再发给边缘设备,这样可以合理分配架构中的处理资源和处理性能。
结合实施以上本公开的各实施例,能够基于借用势能的启发来改进针对说话者声音特征的良好的线性投射,实现灵活地利用学习到的说话者特征来合成高质量的语音,以提高语音合成模型对未知说话者的适应性能。本公开的实施例所提出的基于势能的方法能够以一种高效、轻量级的方式,利用不依赖于中间语言特征的端到端合成网络以及不局限于封闭的说话者集合的不同的说话者嵌入特征向量网络更好地学习说话者的声音特征。根据本公开的实施例,实现了一种高效的边缘端解决架构,可以使得语音合成架构***的计算量小、资源需求少,易于在边缘设备上应用。
图8示出了可以用于实施根据本公开的一些实施例的示例设备800的示意性结构图。设备800可以实现为服务器或边缘设备等,本公开的实施例对设备800的具体实现类型不作限制。如图8所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其它设备交换信息/数据。
处理单元801可以执行上文所描述的各个方法和/或处理,例如方法200或方法300。例如,在一些实施例中,方法200或方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由CPU 801执行时,可以执行上文描述的方法200或方法300的一个或多个步骤。备选地,在其它实施例中,CPU 801可以通过其它任何适当的方式(例如,借助于固件)而被配置为执行方法200或方法300。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)等等。
在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如互联网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个框中规定的功能/动作的各个方面的指令。也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个框中规定的功能/动作。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
附图中的流程图和框图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使得本技术领域的其它普通技术人员能理解本文公开的各实施例。
Claims (19)
1.一种语音合成的方法,所述方法包括:
从多个说话者相对应的多个音频中提取所述多个说话者的声音特征向量;
基于所述多个说话者的多个声音特征向量之间的距离计算第一损失函数;
根据多个文本与相对应的多个真实音频计算第二损失函数;以及
基于所述第一损失函数和所述第二损失函数生成语音合成模型。
2.根据权利要求1所述的方法,所述根据多个文本与相对应的多个真实音频计算第二损失函数,包括:
基于针对所述多个文本的合成音频与针对所述多个文本相对应的所述多个真实音频之间的差,得到所述第二损失函数。
3.根据权利要求1所述的方法,所述基于所述第一损失函数和所述第二损失函数生成语音合成模型,包括:
将所述第一损失函数与所述第二损失函数加总,得到第三损失函数;以及
基于最小化所述第三损失函数,得到所述语音合成模型。
4.根据权利要求1所述的方法,还包括:
将第一文本和第一说话者的声音特征输入所述语音合成模型;以及
输出对应于所述第一文本的第一音频。
5.根据权利要求4所述的方法,其中,训练所述语音合成模型所对应的所述多个说话者的不包括所述第一说话者。
6.根据权利要求4所述的方法,还包括:
判断所述第一音频是否具有所述第一说话者的声音特征;以及
如果所述第一音频具有所述第一说话者的声音特征,则使用所述语音合成模型合成第二文本对应的第二音频,所述第二音频具有所述第一说话者的声音特征。
7.根据权利要求6所述的方法,所述语音合成模型为第一语音合成模型,还包括:
如果所述第一音频不具有所述第一说话者的声音特征,则基于所述第一说话者的声音特征生成第二语音合成模型;以及
使用所述第二语音合成模型合成第三文本对应的第三音频,所述第三音频具有所述第一说话者的声音特征。
8.根据权利要求4所述的方法,其中,所述语音合成模型在云端经训练生成,针对所述第一说话者的对应于所述第一文本的所述第一音频在本地端生成。
9.根据权利要求1所述的方法,其中,所述多个说话者包括第二说话者和第三说话者,针对所述第二说话者的第一声音特征向量与第二声音特征向量之间的第一距离,小于针对所述第二说话者的所述第一声音特征向量与针对所述第三说话者的第三声音特征向量之间的第二距离。
10.一种用于语音合成的电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:
从多个说话者相对应的多个音频中提取所述多个说话者的声音特征向量;
基于所述多个说话者的多个声音特征向量之间的距离计算第一损失函数;
根据多个文本与相对应的多个真实音频计算第二损失函数;以及
基于所述第一损失函数和所述第二损失函数生成语音合成模型。
11.根据权利要求10所述的电子设备,所述根据多个文本与相对应的多个真实音频计算第二损失函数,包括:
基于针对所述多个文本的合成音频与针对所述多个文本相对应的所述多个真实音频之间的差,得到所述第二损失函数。
12.根据权利要求10所述的电子设备,所述基于所述第一损失函数和所述第二损失函数生成语音合成模型,包括:
将所述第一损失函数与所述第二损失函数加总,得到第三损失函数;以及
基于最小化所述第三损失函数,得到所述语音合成模型。
13.根据权利要求10所述的电子设备,所述动作还包括:
将第一文本和第一说话者的声音特征输入所述语音合成模型;以及
输出对应于所述第一文本的第一音频。
14.根据权利要求13所述的电子设备,其中,训练所述语音合成模型所对应的所述多个说话者的不包括所述第一说话者。
15.根据权利要求13所述的电子设备,所述动作还包括:
判断所述第一音频是否具有所述第一说话者的声音特征;以及
如果所述第一音频具有所述第一说话者的声音特征,则使用所述语音合成模型合成第二文本对应的第二音频,所述第二音频具有所述第一说话者的声音特征。
16.根据权利要求15所述的电子设备,所述语音合成模型为第一语音合成模型,所述动作还包括:
如果所述第一音频不具有所述第一说话者的声音特征,则基于所述第一说话者的声音特征生成第二语音合成模型;以及
使用所述第二语音合成模型合成第三文本对应的第三音频,所述第三音频具有所述第一说话者的声音特征。
17.根据权利要求13所述的电子设备,其中,所述语音合成模型在云端经训练生成,针对所述第一说话者的对应于所述第一文本的所述第一音频在本地端生成。
18.根据权利要求10所述的电子设备,其中,所述多个说话者包括第二说话者和第三说话者,针对所述第二说话者的第一声音特征向量与第二声音特征向量之间的第一距离,小于针对所述第二说话者的所述第一声音特征向量与针对所述第三说话者的第三声音特征向量之间的第二距离。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211294423.XA CN117975931A (zh) | 2022-10-21 | 2022-10-21 | 语音合成方法、电子设备以及计算机程序产品 |
US17/987,034 US20240185829A1 (en) | 2022-10-21 | 2022-11-15 | Method, electronic device, and computer program product for speech synthesis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211294423.XA CN117975931A (zh) | 2022-10-21 | 2022-10-21 | 语音合成方法、电子设备以及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117975931A true CN117975931A (zh) | 2024-05-03 |
Family
ID=90851921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211294423.XA Pending CN117975931A (zh) | 2022-10-21 | 2022-10-21 | 语音合成方法、电子设备以及计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240185829A1 (zh) |
CN (1) | CN117975931A (zh) |
-
2022
- 2022-10-21 CN CN202211294423.XA patent/CN117975931A/zh active Pending
- 2022-11-15 US US17/987,034 patent/US20240185829A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240185829A1 (en) | 2024-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chou et al. | Multi-target voice conversion without parallel data by adversarially learning disentangled audio representations | |
Kameoka et al. | ACVAE-VC: Non-parallel voice conversion with auxiliary classifier variational autoencoder | |
CN107945786B (zh) | 语音合成方法和装置 | |
CN110600018B (zh) | 语音识别方法及装置、神经网络训练方法及装置 | |
Tjandra et al. | VQVAE unsupervised unit discovery and multi-scale code2spec inverter for zerospeech challenge 2019 | |
Kameoka et al. | ConvS2S-VC: Fully convolutional sequence-to-sequence voice conversion | |
CN111933110B (zh) | 视频生成方法、生成模型训练方法、装置、介质及设备 | |
CN110275939B (zh) | 对话生成模型的确定方法及装置、存储介质、电子设备 | |
CN110246488B (zh) | 半优化CycleGAN模型的语音转换方法及装置 | |
CN107507619B (zh) | 语音转换方法、装置、电子设备及可读存储介质 | |
US11355097B2 (en) | Sample-efficient adaptive text-to-speech | |
KR20220064940A (ko) | 음성 생성 방법, 장치, 전자기기 및 저장매체 | |
CN109697978B (zh) | 用于生成模型的方法和装置 | |
CN110751941B (zh) | 语音合成模型的生成方法、装置、设备及存储介质 | |
CN113327580A (zh) | 语音合成方法、装置、可读介质及电子设备 | |
CN111599339B (zh) | 具有高自然度的语音拼接合成方法、***、设备及介质 | |
An et al. | Speech Emotion Recognition algorithm based on deep learning algorithm fusion of temporal and spatial features | |
CN110827799B (zh) | 用于处理语音信号的方法、装置、设备和介质 | |
Choi et al. | SNAC: Speaker-normalized affine coupling layer in flow-based architecture for zero-shot multi-speaker text-to-speech | |
Kim et al. | WaveNODE: A continuous normalizing flow for speech synthesis | |
CN114550702A (zh) | 一种语音识别方法和装置 | |
CN113963715A (zh) | 语音信号的分离方法、装置、电子设备及存储介质 | |
WO2024055752A1 (zh) | 语音合成模型的训练方法、语音合成方法和相关装置 | |
WO2021229643A1 (ja) | 音声信号変換モデル学習装置、音声信号変換装置、音声信号変換モデル学習方法及びプログラム | |
CN111797220A (zh) | 对话生成方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |