CN117957610A - 语音转换方法、模型训练方法、设备、介质及程序产品 - Google Patents
语音转换方法、模型训练方法、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN117957610A CN117957610A CN202380013302.XA CN202380013302A CN117957610A CN 117957610 A CN117957610 A CN 117957610A CN 202380013302 A CN202380013302 A CN 202380013302A CN 117957610 A CN117957610 A CN 117957610A
- Authority
- CN
- China
- Prior art keywords
- voice
- training
- voiceprint
- speech
- network
- 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
- 238000012549 training Methods 0.000 title claims abstract description 339
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 112
- 239000013598 vector Substances 0.000 claims abstract description 211
- 239000013604 expression vector Substances 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 105
- 238000004590 computer program Methods 0.000 claims description 19
- 238000001228 spectrum Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000011176 pooling Methods 0.000 claims description 6
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 description 46
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明涉及语音处理技术领域,具体是一种语音转换方法、模型训练方法、设备、介质及程序产品,所述语音转换方法用于电子设备,包括:确定待转换的目标语音及与所述目标语音对应的内容表示向量;其中,所述目标语音具有第一内容和第一声纹,所述内容表示向量基于所述目标语音的语音波形得到;确定参考语音及与所述参考语音对应的声纹表示向量,所述参考语音具有第二声纹,所述第二声纹与所述第一声纹不同;根据所述内容表示向量和所述声纹表示向量,基于语音生成器生成转换语音;其中,所述转换语音具有第一内容和第二声纹;其中,所述语音生成器是通过利用具有第二声纹的训练语音对预设的语音生成网络和判别器网络进行联合训练得到的。
Description
技术领域
本发明涉及语音处理技术领域,特别涉及一种语音转换方法、模型训练方法、设备、介质及程序产品。
背景技术
游戏中常常会出现各种类型的非玩家角色,为了提高游戏玩家体验,这些游戏角色通常由配音演员根据脚本进行配音。针对使用不同语言的游戏玩家,由于原始配音演员不可能精通所有语言,因此一个游戏往往需要聘请不同语言的替代配音演员,这将耗费大量配音的时间,且花费较大。借助语音转换技术,即可实现使用配音演员的声音为不同语言版本的游戏角色配音。
语音转换技术旨在将源语音转换成配音演员的声音,即将配音演员的声纹克隆至源语音,使得生成的目标语音听起来像是配音演员在说与源语音同样的内容。根据转换使用的源/参考语音数据是否平行可将语音转换技术分为两类:平行转换技术及非平行转换技术。平行转换技术要求源说话者和配音演员说同样的内容,非平行转换技术则无此要求。然而,对于跨语言的语音转换技术,只能使用非平行语音数据。
目前,跨语言语音转换主要通过对源语音进行分析得到对应的语音学特征,再借助声码器将频域特征变换为时域波形,这种方法容易出现在实际进行语音转换的时候输入声码器的语音学特征与声码器训练时所用的语音学特征失配的问题。
随着人工智能的发展,目前也有许多基于神经网络模型的语音转换方法出现,例如基于循环生成对抗网络(Cycle Generative Adversarial Network,CycleGAN)或者变分自编码器(VariableAuto-Encoder,VAE)的语音转换方法。但由于语音具有高度周期性,且人耳对音频的不连续性很敏感,因此基于神经网络模型的方法很难生成高保真音频,并且转换出的语音容易存在过度平滑的问题。
发明内容
针对现有技术的上述问题,本发明的目的在于提供一种语音转换方法、模型训练方法、设备、介质及程序产品,能够避免将语音学特征转换为时域波形时的特征失配问题,从而提高语音转换的准确性。
为了解决上述问题,本发明提供一种语音转换方法,用于电子设备,所述方法包括:
内容表示向量确定步骤,确定待转换的目标语音及与所述目标语音对应的内容表示向量;其中,所述目标语音具有第一内容和第一声纹,所述内容表示向量基于所述目标语音的语音波形得到;
声纹表示向量确定步骤,确定参考语音及与所述参考语音对应的声纹表示向量,所述参考语音具有第二声纹,所述第二声纹与所述第一声纹不同;
语音转换步骤,根据所述内容表示向量和所述声纹表示向量,基于语音生成器生成转换语音;其中,所述转换语音具有第一内容和第二声纹;
其中,所述语音生成器是通过利用具有第二声纹的训练语音对预设的语音生成网络和判别器网络进行联合训练得到的。
进一步地,所述语音生成器是通过利用所述训练语音,基于第一损失函数和第二损失函数对所述语音生成网络和所述判别器网络进行联合训练得到的;
其中,所述第一损失函数的值为根据所述训练语音对应的训练转换语音计算得到的,所述第二损失函数的值为将所述训练语音及其对应的训练转换语音输入所述判别器网络进行判别并计算得到的,所述训练转换语音为将所述训练语音对应的训练内容表示向量和训练声纹表示向量输入所述语音生成网络得到的,所述训练内容表示向量根据所述训练语音的语音波形得到。
可选地,所述内容表示向量确定步骤包括:
确定所述目标语音的语音波形;
将所述目标语音的语音波形输入内容编码器得到对应的内容表示向量。
可选地,所述声纹表示向量确定步骤包括:
提取所述参考语音的梅尔谱特征;
将所述梅尔谱特征输入声纹编码器得到对应的均值向量和方差对角矩阵;
根据所述均值向量和所述方差对角矩阵确定所述参考语音对应的声纹表示向量。
可选地,所述方法进一步包括:
将所述声纹表示向量进行1×1卷积,得到一个或者多个卷积后的声纹表示向量;
其中,每个所述卷积后的声纹表示向量的维度至少与所述语音生成器中的一个解码器的输入维度相同;
所述语音转换步骤包括:
将所述内容表示向量和所述一个或者多个卷积后的声纹表示向量输入所述语音生成器,得到所述转换语音。
进一步地,所述参考语音具有第二内容,所述第二内容与所述第一内容不同。
本发明另一方面提供一种模型训练方法,用于电子设备,所述方法包括:
训练语音获取步骤,获取具有第二声纹的多个训练语音;
训练表示向量确定步骤,确定各个所述训练语音对应的训练内容表示向量和训练声纹表示向量,所述训练内容表示向量基于所述训练语音的语音波形得到;
训练语音转换步骤,将各个所述训练语音对应的训练内容表示向量和训练声纹表示向量输入预设的语音生成网络,得到对应的训练转换语音;
第一计算步骤,基于所述训练转换语音计算第一损失函数的值;
第二计算步骤,将各个所述训练语音及其对应的训练转换语音输入预设的判别器网络进行判别,并计算第二损失函数的值;
参数更新步骤,基于所述第一损失函数的值更新所述语音生成网络的网络参数,并基于所述第二损失函数的值更新所述判别器网络的网络参数;
迭代训练步骤,基于更新参数后的所述语音生成网络和所述判别器网络进行迭代训练,直至所述第一损失函数的值和所述第二损失函数的值均符合模型收敛条件;
生成器确定步骤,将训练完成后的所述语音生成网络作为语音生成器。
可选地,所述训练表示向量确定步骤包括:
基于预设的内容编码网络确定各个所述训练语音对应的训练内容表示向量;
基于预设的声纹编码网络确定各个所述训练语音对应的训练声纹表示向量;
所述模型训练方法还包括:
基于所述第一损失函数的值更新所述内容编码网络和所述声纹编码网络的网络参数;以及,
将训练完成后的所述内容编码网络作为内容编码器,将训练完成后的所述声纹编码网络作为声纹编码器。
可选地,所述内容编码网络和所述声纹编码网络均为基于注意力机制的编码网络,所述语音生成网络为基于注意力机制的解码网络。
可选地,所述内容编码网络包括多个Transformer编码器,所述声纹编码网络包括多个Transformer编码器以及平均池化层,所述语音生成网络包括多个Transformer解码器,所述判别器网络包括多个判别器。
本发明另一方面提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如上述的语音转换方法或者模型训练方法。
本发明另一方面提供一种计算机可读存储介质,其上存储有计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上述的语音转换方法或者模型训练方法。
本发明另一方面提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上述的语音转换方法或者模型训练方法。
由于上述技术方案,本发明具有以下有益效果:
根据本发明实施例的语音转换方法,通过将目标语音和参考语音的内容和声纹分离编码,并利用预先训练的语音生成器,根据基于目标语音的语音波形得到的内容表示向量以及参考语音的声纹表示向量进行波形生成,从而能够直接在目标语音的波形上使用参考语音的声纹编码结果进行约束来生成转换语音的波形,无需使用目标语音的语音学特征,能够避免将语音学特征转换为时域波形时的特征失配问题,从而提高语音转换的准确性。
根据本发明实施例的模型训练方法,通过将训练语音的内容和声纹分离编码,将得到的训练声纹表示向量以及基于训练语音的语音波形得到的训练内容表示向量输入语音生成网络来训练语音生成器,并将语音生成网络生成的训练转换语音输入判别器网络来训练判别器,训练得到的语音生成器能够直接根据目标语音的波形转换得到转换语音的波形,无需使用目标语音的语音学特征,能够避免将语音学特征转换为时域波形时的特征失配问题,从而提高语音转换的准确性。
并且,本发明实施例中的语音生成器可以仅通过利用具有第二声纹的训练语音进行训练得到,在跨语言语音转换场景中,无需目标语音语言的语料库,且无需配音演员使用目标语音语言的语料库,因此可以克服配音演员使用目标语音语言的语料库较少的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明一个实施例提供的电子设备的结构示意图;
图2是本发明一个实施例提供的语音转换方法的流程图;
图3是本发明一个实施例提供的模型结构示意图;
图4是本发明另一个实施例提供的模型结构示意图;
图5是本发明一个实施例提供的模型训练方法的流程图;
图6是本发明另一个实施例提供的模型结构示意图;
图7是本发明另一个实施例提供的模型训练方法的流程图;
图8是本发明一个实施例提供的语音转换装置的结构示意图;
图9是本发明一个实施例提供的模型训练装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
本发明实施例提供的方法可以应用于对游戏中的非玩家角色配音的场景中,由于配音演员不可能精通所有语言,因此可以借助语音转换技术实现使用配音演员的声音为不同语言版本的游戏角色配音。例如,配音演员可以使用第一语言对第一语言版本游戏的游戏角色配音,而对于第二语言版本游戏的游戏角色,可以将配音演员配音的第一语言语音作为参考语音,并结合第二语言的目标语音,借助语音转换技术将配音演员的声纹克隆至目标语音,从而得到使用配音演员的声音为第二语言版本游戏的游戏角色配音的语音。
需要说明的是,上述应用场景仅是示例性的。在实际的应用中,本发明实施例提供的方法还可以应用于其他需要进行语音转换的场景,例如影视配音场景或者语音播报场景等等,本发明对此不做具体限制。下面以应用于对游戏中的非玩家角色配音的场景中为例,对本发明实施例提供的方法进行详细描述。
根据一些实施例的语音转换方法,可以使用声学特征及声码器进行语音转换:首先使用自动语音识别技术(Automatic Speech Recognition,ASR)对源语音进行分析,得到源语音的语音后验图特征(Phonetic Posteriorgram,PPG),然后将PPG输入转换模型得到声学语音参数送入声码器,最终声码器根据语音声学特征转换为目标语音。
根据一些实施例的语音转换方法,可以使用音标映射的方法,将非母语音标映射到母语音标体系中,然后使用母语语音合成器合成语音。但是由于音标的映射关系仅仅是基于简单的发音相似性,合成的非母语语音会出现明显的发音不准确甚至错误,从而导致整体效果不自然。
根据一些实施例的语音转换方法,可以采集配音演员的多语言数据进行建模,再根据得到的模型进行语音转换。大多数配音演员除母语外的语言并不纯正,说非母语时通常会带有较重的口音。因此,采用这样的带有较重口音的数据训练得到的模型在合成配音演员非母语的语音时,会出现发音均不够标准的问题,影响用户体验。作为替代方案,可以聘请更为专业的多母语配音演员,但是这势必导致更高的数据采集成本。此外,某些受欢迎的配音演员未必精通双语或多语,这使得目前获得特定配音演员的高质量多语言语音合成器变得非常困难。
上述三种方法均需借助声码器将频域特征变换为时域波形,这种方式容易导致在实际进行语音转换的时候输入声码器的语音学特征与声码器训练时所用的语音学特征失配的问题。
根据一些实施例的语音转换方法,可以基于CycleGAN的机制,通过两个语音生成器及两个判别器不断循环生成、判别目标语音来实现语音转换的目的。但是,与图像领域内的GAN能实现高质量的图像风格迁移不同,由于语音具有高度周期性,且人耳对音频的不连续性很敏感,因此基于GAN的语音转换方法很难生成高保真音频。
根据一些实施例的语音转换方法,可以基于VAE,通过训练一个负责将语音学特征转换为隐表示的编码器和一个负责从隐表示中恢复出语音学特征解码器,将隐表示中的语音学内容和配音演员的声纹信息解耦,实现语音转换。但是,这种方法转换出的语音存在过度平滑的问题。
为了解决上述问题,本申请实施例提供了一种语音转换方法,该语音转换方法可以应用于对游戏中的非玩家角色配音的场景中,能够避免将语音学特征转换为时域波形时的特征失配问题,从而提高语音转换的准确性,还可以建立语音的长期依赖,提高转换得到的语音的连续性和流畅性,确保转换得到的语音是高保真的,同时还可以抑制平滑,避免转换出的语音出现过度平滑的问题。
应理解,本发明实施例提供的方法可以在多种电子设备中执行,例如移动终端、计算机终端、服务器或者类似的运算装置和系统等。具体地,该电子设备可以包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行该计算机程序以实现本发明实施例提供的语音转换方法或者模型训练方法。
其中,存储器可用于存储计算机程序以及模块,处理器通过运行存储在存储器的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、功能所需的计算机程序等;数据存储区可存储根据该设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
参考说明书附图1,其示出了本发明一个实施例提供的电子设备的硬件结构示意图。如图1所示,该电子设备可以为服务器100,该服务器100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Unit,CPU)110(例如,一个或一个以上处理器)和存储器130,一个或一个以上存储计算机应用程序123或数据122的存储介质120(例如一个或一个以上海量存储设备)。其中,存储器130和存储介质120可以是短暂存储或持久存储。存储在存储介质120的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器110可以设置为与存储介质120通信,在服务器100上执行存储介质120中的一系列指令操作。服务器100还可以包括一个或一个以上电源160,一个或一个以上有线或无线网络接口150,一个或一个以上输入输出接口140,和/或,一个或一个以上存储于存储介质120中的操作系统121,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本领域技术人员可以理解,图1所示的结构仅为示例性的,服务器100还可包括比图1中所示更多或者更少的组件,或者虽实现相同功能但具有与图1所示不同的配置。
参考说明书附图2,其示出了本发明一个实施例提供的语音转换方法的流程,该方法可以应用于电子设备的处理器中。具体地,如图2所示,该方法可以包括以下步骤:
S210:内容表示向量确定步骤,确定待转换的目标语音及与目标语音对应的内容表示向量;其中,该目标语音具有第一内容和第一声纹,该内容表示向量基于目标语音的语音波形得到。
在内容表示向量确定步骤S210中,待转换的目标语音可以为具有第一内容和第一声纹的语音,例如可以为普通母语者根据脚本(作为第一内容的实例)进行配音的语音(普通母语者的语音的声纹作为第一声纹的实例),或者可以为借助语音合成(Text toSpeech,TTS)技术根据待转换的目标文本(作为第一内容的另一实例)合成的语音(合成目标语音的语音库中的语音的声纹作为第一声纹的另一实例)。内容表示向量可以为直接基于目标语音的语音波形得到的内容表示向量。
可选地,内容表示向量确定步骤S210可以包括:确定目标语音的语音波形;将目标语音的语音波形输入内容编码器得到对应的内容表示向量。
具体地,在获取到待转换的目标语音后,可以将目标语音的语音波形输入预先训练的内容编码器中,由内容编码器将目标语音的语音波形编码为对应的内容表示向量。
可选地,参考说明书附图3,内容编码器可以为基于注意力机制的编码器,例如,可以使用如图3中所示例性地示出的注意力机制编码器1到注意力机制编码器n堆叠形成。其中,内容编码器的输入可以是目标语音的语音波形,输出可以是目标语音对应的内容表示向量,各个注意力机制编码器均可以为Transformer编码器,各个Transformer编码器的输出维度逐渐变小,从而完成下采样过程。该内容编码器中注意力机制编码器的数量可以根据实际需要进行预先设置,本发明实施例对此不做具体限制,该内容编码器的具体训练过程将在后续进行详细描述。
可以理解,通过基于注意力机制的Transformer编码器对目标语音的波形进行提取得到内容表示向量,而非通过目标语音的语音学特征提取,能够避免频域的内容特征在后续转换为时域波形时的特征失配问题。
S220:声纹表示向量确定步骤,确定参考语音及与参考语音对应的声纹表示向量;其中,该参考语音具有第二声纹,第二声纹与第一声纹不同。
在声纹表示向量确定步骤S220中,参考语音可以为具有第二内容和第二声纹的语音,例如可以为配音演员根据脚本(作为第二内容的实例)进行配音的语音(配音演员的语音的声纹作为第二声纹的实例)。其中,由于不同人的声音的声纹(音色或音品)不同,因此第二声纹与目标语音的第一声纹不同,第二内容与目标语音的第一内容可以相同,也可以不相同,优选为第二内容与第一内容不同。
可选地,声纹表示向量可以基于参考语音的语音特征确定,声纹表示向量确定步骤S220可以包括:提取参考语音的梅尔谱(Mel-Spectrograms)特征;将梅尔谱特征输入声纹编码器得到对应的均值向量和方差对角矩阵;根据均值向量和方差对角矩阵确定参考语音对应的声纹表示向量。
具体地,可以采用现有的语音特征提取算法提取参考语音的梅尔谱特征,本发明实施例在此不再赘述。
具体地,在获取到参考语音的梅尔谱特征后,可以将梅尔谱特征输入预先训练的声纹编码器中,由声纹编码器将梅尔谱特征编码为对应的声纹表示向量。假设p(z|x)服从条件独立高斯分布,声纹编码器将输入的参考语音的梅尔谱特征作为输入,输出一个均值向量μ和一个方差对角矩阵σ2I,即可得到参考语音对应的声纹表示向量z~N(μ,σ2I),即z=μ+σ·ε,其中ε~N(0,I)。
可选地,参考说明书附图3,声纹编码器可以为基于注意力机制的编码器,例如可以由如图3中所示例性地示出的注意力机制编码器1到注意力机制编码器n堆叠后连接平均池化层组成。其中,声纹编码器的输入可以是参考语音的梅尔谱特征,输出可以是参考语音对应的均值向量和方差对角矩阵,各个注意力机制编码器均可以为Transformer编码器,即声纹编码器可以包括多个Transformer编码器以及平均池化层(Average Pooling)。该声纹编码器中注意力机制编码器的数量可以根据实际需要进行预先设置,本发明实施例对此不做具体限制,该声纹编码器的具体训练过程将在后续进行详细描述。
需要说明的是,目标语音可以为各种语言的语音,参考语音也可以为各种语言的语音,本发明实施例对此不做具体限制。具体地,参考语音和目标语音可以为相同语言的语音,也可以为不同语言的语言,优选为参考语音和目标语音为不同语言的语音。
可以理解,由于本发明实施例中将语音的内容和声纹编码分离,在目标语音的内容编码结果的基础上,使用参考语音的声纹编码结果进行约束从而生成转换语音,从而将参考语音的声纹克隆至目标语音的语音波形,因此本发明实施例并不限定目标语音的语言,可支持多语种混杂表达情况下的语音转换。
S230:语音转换步骤,根据内容表示向量和声纹表示向量,基于语音生成器生成转换语音;其中,该转换语音具有第一内容和第二声纹。
在语音转换步骤S230中,可以将内容表示向量和声纹表示向量输入预先训练的语音生成器,由语音生成器根据内容表示向量及声纹表示向量生成转换语音的语音波形,进而得到具有第一内容和第二声纹的转换语音。也就是说,语音生成器生成的转换语音具有与目标语音相同的内容,以及与参考语音相同的声纹,即可以得到配音演员根据与目标语音对应的脚本进行配音的语音。可见,本发明实施例可以将参考语音的声纹克隆至目标语音,从而使得目标语音被转换为具有与参考语音相同声纹的生成语音。
可选地,可以将内容表示向量和声纹表示向量相加作为语音生成器的输入,最终获得转换后的语音。
需要说明的是,本发明实施例中内容编码器、声纹编码器和语音生成器内部都可使用图形处理器(Graphics Processing Unit,GPU)并行计算,提高了语音转换的转换速率。
在语音转换步骤S230中,语音生成器是通过利用具有第二声纹的训练语音对预设的语音生成网络和判别器网络进行联合训练得到的。
可选地,语音生成器是通过利用训练语音,基于第一损失函数和第二损失函数对语音生成网络和判别器网络进行联合训练得到的;其中,第一损失函数的值为根据训练语音对应的训练转换语音计算得到的,第二损失函数的值为将训练语音及其对应的训练转换语音输入判别器网络进行判别并计算得到的,训练转换语音为将训练语音对应的训练内容表示向量和训练声纹表示向量输入语音生成网络得到的,训练内容表示向量根据训练语音的语音波形得到。
需要说明的是,语音生成器的具体训练过程将在后续进行详细描述。
可以理解,本发明实施例中的语音生成器可以仅通过利用具有第二声纹的训练语音进行训练得到,在跨语言语音转换场景中,无需目标语音语言的语料库,且无需配音演员使用目标语音语言的语料库,因此可以克服配音演员使用目标语音语言的语料库较少的问题。换言之,在目标语音语言的语料库较少的情况下,也能将配音演员的声纹克隆至目标语音,并且得到的语音是高保真的。
可选地,参考说明书附图3,语音生成器可以为基于注意力机制的解码器,例如可以使用如图3中所示例性地示出的注意力机制解码器1到注意力机制解码器n堆叠形成。其中,语音生成器的输入可以是目标语音对应的内容表示向量以及参考语音对应的声纹表示向量,输出可以是转换语音的语音波形。各个注意力机制解码器均可以为Transformer解码器,各个Transformer解码器的输出维度逐渐变大,从而完成上采样过程。该语音生成器中注意力机制解码器的数量可以根据实际需要进行预先设置,本发明实施例对此不做具体限制。
可以理解,通过使用基于注意力机制的Transformer编/解码器对语音波形进行编解码,可建立语音的长期依赖,使得转换得到的语音连续性更强,更自然,从而提高转换语音的真实性和流畅性。
需要说明的是,上述通过Transformer编/解码器构成内容编码器、声纹编码器和语音生成器的实施方式仅为示例,在一些可能的实施例中,也可以采用其他神经网络或者其他基于注意力机制的编码网络(如基于Transformer的衍生网络)来构成内容编码器、声纹编码器和语音生成器,本发明实施例对此不做具体限制。
在一个可能的实施例中,在获取到声纹表示向量后,该方法进一步可以包括:将声纹表示向量进行1×1卷积,得到一个或者多个卷积后的声纹表示向量;其中,每个卷积后的声纹表示向量的维度至少与语音生成器中的一个解码器的输入维度相同。
相应地,语音转换步骤S230具体可以包括:将内容表示向量和一个或者多个卷积后的声纹表示向量输入语音生成器,得到转换语音。
具体地,由于语音生成器中的各个解码器的输入维度可能不相同,因此在将声纹表示向量输入语音生成器之前,可以先将声纹表示向量进行多次1×1卷积,得到具有与语音生成器中的各个解码器的输入维度相同维度的一个或者多个声纹表示向量,并输入语音生成器。
相应地,在语音转换步骤S230中,语音生成器可以根据一个或者多个卷积后的声纹表示向量以及内容表示向量生成转换语音的语音波形,进而得到具有第一内容和第二声纹的转换语音。其中,语音生成器中的第一个解码器的输入可以包括与之维度相同的声纹表示向量以及内容表示向量,语音生成器中除第一个解码器之外的各个解码器的输入可以包括与之维度相同的声纹表示向量以及前一层解码器的输出结果。
示例性地,结合参考说明书附图4,假设语音生成器中包括两种不同维度的解码器(如注意力机制解码器1-3为第一维度,注意力机制解码器4-6为第二维度),则可以通过1×1卷积操作获得第一维度和第二维度两种不同维度的声纹表示向量,可以将内容编码器输出的内容表示向量以及上述两种不同维度的声纹表示向量均输入语音生成器。
相应地,语音生成器可以将内容表示向量和第一维度的声纹表示向量相加作为注意力机制解码器1的输入,并得到输出结果;可以将注意力机制解码器1的输出结果和第一维度的声纹表示向量相加作为注意力机制解码器2的输入,并得到输出结果;可以将注意力机制解码器2的输出结果和第一维度的声纹表示向量相加作为注意力机制解码器3的输入,并得到输出结果;可以将注意力机制解码器3的输出结果和第二维度的声纹表示向量相加作为注意力机制解码器4的输入,并得到输出结果;依次类推,即可最终得到转换后的语音。
在一个可能的实施例中,也可以直接将内容表示向量和声纹表示向量输入语音生成器,由语音生成器先将声纹表示向量进行1×1卷积,得到具有与语音生成器中的各个解码器的输入维度相同维度的一个或者多个声纹表示向量,再根据一个或者多个卷积后的声纹表示向量以及内容表示向量生成转换语音的语音波形,进而得到具有第一内容和第二声纹的转换语音。在本发明实施例中,各个步骤的具体实现方法与上述先进行卷积操作再输入语音生成器的实施例类似,本发明实施例在此不再赘述。
综上所述,根据本发明实施例的语音转换方法,通过将目标语音和参考语音的内容和声纹分离编码,并利用预先训练的语音生成器,根据基于目标语音的语音波形得到的内容表示向量以及参考语音的声纹表示向量进行波形生成,从而能够直接在目标语音的波形上使用参考语音的声纹编码结果进行约束来生成转换语音的波形,无需使用目标语音的语音学特征,能够避免将语音学特征转换为时域波形时的特征失配问题,从而提高语音转换的准确性。
下面对上述实施例中提供的内容编码器、声纹编码器和语音生成器的具体训练过程进行详细描述。
参考说明书附图5,其示出了本发明一个实施例提供的模型训练方法的流程,该方法可以应用于电子设备的处理器中。具体地,如图5所示,该方法可以包括以下步骤:
S510:训练语音获取步骤,获取具有目标声纹(作为第二声纹的实例)的多个训练语音。
在训练语音获取步骤S510中,可以获取多个具有第二声纹但内容不同的语音作为训练语音,其中,各个训练语音可以为相同语言的语音,也可以为不同语言的语音,本发明实施例对此不做具体限制。例如,可以获取配音演员根据脚本进行配音得到的多个语音,作为训练语音。
可以理解,本发明实施例中可以仅通过利用具有第二声纹的训练语音训练内容编码器、声纹编码器和/或语音生成器,在跨语言语音转换场景中,无需目标语音语言的语料库,且无需配音演员使用目标语音语言的语料库,因此可以克服配音演员使用目标语音语言的语料库较少的问题。
S520:训练表示向量确定步骤,确定各个训练语音对应的训练内容表示向量和训练声纹表示向量,该训练内容表示向量基于训练语音的语音波形得到。
在训练表示向量确定步骤S520中,各个训练语音对应的训练内容表示向量可以为直接基于训练语音的语音波形得到的内容表示向量,各个训练语音对应的训练声纹表示向量可以为基于训练语音的语音特征确定的声纹表示向量。
可选地,可以通过将各个训练语音的语音波形输入预先训练好的内容编码器,得到对应的训练内容表示向量;可以通过将各个训练语音的梅尔谱特征输入预先训练好的声纹编码器得到对应的均值向量和方差对角矩阵,进而得到对应的训练声纹表示向量。
需要说明的是,在实际应用中,还可以通过其他现有技术的方法来确定各个训练语音对应的训练内容表示向量和训练声纹表示向量,本发明实施例对此不做具体限制。
S530:训练语音转换步骤,将各个训练语音对应的训练内容表示向量和训练声纹表示向量输入预设的语音生成网络,得到对应的训练转换语音。
在训练语音转换步骤S530中,可以预先构建语音生成网络,该语音生成网络可以为基于注意力机制的解码网络,例如可以使用如图6中所示例性地示出的注意力机制解码器1到注意力机制解码器n堆叠形成。其中,语音生成网络的输入可以是训练语音对应的训练内容表示向量以及训练声纹表示向量,输出可以是训练转换语音的语音波形。各个注意力机制解码器均可以为Transformer解码器,各个Transformer解码器的输出维度逐渐变大,从而完成上采样过程。该语音生成网络中注意力机制解码器的数量可以根据实际需要进行预先设置,本发明实施例对此不做具体限制。
在训练语音转换步骤S530中,可以先随机初始化预先构建的语音生成网络的网络参数,再将各个训练语音对应的训练内容表示向量和训练声纹表示向量输入该语音生成网络,得到对应的训练转换语音。
可选地,可以将训练内容表示向量和训练声纹表示向量相加作为语音生成网络的输入,最终获得转换后的训练转换语音。
在一个可能的实施例中,在获取到训练内容表示向量和训练声纹表示向量之后,还可以将训练声纹表示向量进行1×1卷积,得到一个或者多个卷积后的训练声纹表示向量,并将生成的一个或者多个卷积后的训练声纹表示向量以及训练内容表示向量输入语音生成网络,由语音生成网络生成训练转换语音的语音波形,进而得到转换后的训练转换语音。其中,每个卷积后的训练声纹表示向量的维度至少与语音生成网络中的一个解码器的输入维度相同。
具体地,语音生成网络中的第一个解码器的输入可以包括与之维度相同的训练声纹表示向量以及训练内容表示向量,语音生成网络中除第一个解码器之外的各个解码器的输入可以包括与之维度相同的训练声纹表示向量以及前一层解码器的输出结果。
示例性地,可以将与之维度相同的训练声纹表示向量以及训练内容表示向量相加作为语音生成网络中的第一个解码器的输入,将与之维度相同的训练声纹表示向量以及前一层解码器的输出结果相加作为除第一个解码器之外的各个解码器的输入。
在一个可能的实施例中,在语音生成网络包括多个解码器的情况下,也可以直接将训练内容表示向量和训练声纹表示向量输入语音生成网络,由语音生成网络先将训练声纹表示向量进行1×1卷积,得到具有与语音生成网络中的各个解码器的输入维度相同维度的一个或者多个训练声纹表示向量,再根据一个或者多个卷积后的训练声纹表示向量以及训练内容表示向量生成训练转换语音的语音波形,进而得到转换后的训练转换语音。在本发明实施例中,各个步骤的具体实现方法与上述先进行卷积操作再输入语音生成网络的实施例类似,本发明实施例在此不再赘述。
S540:第一计算步骤,基于训练转换语音计算第一损失函数的值。
本发明实施例可以通过基于GAN的方法进行模型训练,GAN的核心原理是生成器生成数据给判别器进行真假判别,直到判别器无法判别生成数据和原始数据,则完成训练。因此本发明实施例中损失函数可以包括生成器对应的第一损失函数和判别器对应的第二损失函数两部分。
在第一计算步骤S540中,可以将预先构建的语音生成网络看做是GAN中的生成器,以利用各个训练语音对应的训练内容表示向量和训练声纹表示向量对语音生成网络进行训练。此时,可以预先构建仅包括语音生成网络对应的损失函数的第一损失函数,在训练过程中可以根据训练转换语音计算得到第一损失函数的值。
S550:第二计算步骤,将各个训练语音及其对应的训练转换语音输入预设的判别器网络进行判别,并计算第二损失函数的值。
在第二计算步骤S550中,可以预先构建判别器网络,并将该判别器网络看做是GAN中的判别器,以与GAN中的生成器进行联合训练。
可选地,参考说明书附图6,判别器网络可以包括一个或多个判别器,用于判别语音生成网络生成的语音是否是合成的。判别器网络的输入可以是训练语音以及语音生成网络根据训练语音对应的训练内容表示向量和训练声纹表示向量生成的训练转换语音,输出可以是判别训练转换语音是否是合成语音的判别结果。该判别器网络中判别器的数量可以根据实际需要进行预先设置,本发明实施例对此不做具体限制。
可选地,为在不同时间分辨率上均能使得生成的语音无法被判别出是否是合成的语音,判别器网络中的判别器的个数优选为多个,用于在不同时间分辨率上判别语音生成网络生成的语音是否是合成的。其中,多个判别器可以分别在不同堆叠个数的解码器的输出结果上进行判别,即可以分别获取不同层解码器的输出结果,作为各个判别器的输入,同时也作为下一层解码器的输入。
示例性地,假设语音生成网络由10个Transformer解码器堆叠而成,判别器网络包括3个判别器,则可以随机选择3个Transformer解码器,使得3个判别器分别在选择的3个Transformer解码器的输出结果上进行判别。假设随机选取了第2、5、10个Transformer解码器,则3个判别器即可以分别对第2、5、10个Transformer解码器的输出进行判别。
需要说明的是,判别器网络中的判别器的个数可以根据实际情况进行设置,例如可以综合推理时间开销和计算量开销使用不同时间分辨率的3个判别器,但也可以是更多或者更少,本发明实施例对此不做具体限制。
在第二计算步骤S550中,还可以预先构建判别器网络对应的第二损失函数,在训练过程中可以先随机初始化预先构建的判别器网络的网络参数,再将各个训练语音及其对应的训练转换语音输入判别器网络进行判别,并计算得到第二损失函数的值。
可以理解,本发明实施例中各个判别器对比的是语音生成网络生成的训练转换语音及其对应的训练语音,而非语音的语音学特征或者语言特征,避免了高度依赖上述特征提取的准确度的问题,提高了判别器判别的准确性,进而能够提高训练得到的语音生成器的语音转换效果。并且,判别器的训练不需要目标语音语言的语料,能够降低对目标语音语言数据的依赖。
S560:参数更新步骤,基于第一损失函数的值更新语音生成网络的网络参数,并基于第二损失函数的值更新判别器网络的网络参数。
在参数更新步骤S560中,可以利用反向传播算法,根据计算得到的第一损失函数的值,对语音生成网络进行反向传播,以更新语音生成网络的网络参数;还可以利用反向传播算法,根据计算得到的第二损失函数的值对判别器网络进行反向传播,以更新判别器网络的网络参数。其中,进行反向传播以更新模型参数的具体内容可以参考现有技术,本发明实施例在此不再赘述。
S570:迭代训练步骤,基于更新参数后的语音生成网络和判别器网络进行迭代训练,直至第一损失函数的值和第二损失函数的值均符合模型收敛条件。
具体地,可以重复步骤S520至步骤S560,利用训练语音对语音生成网络和判别器网络进行多次迭代训练,更新网络参数,直到第一损失函数的值和第二损失函数的值均符合模型收敛条件。
其中,模型收敛条件可以根据实际需要预先确定,例如模型收敛条件可以是,第一损失函数的值小于或等于预先设定的第一损失阈值,第二损失函数的值小于或等于预先设定的第二损失阈值。也就是说,可以将计算得到的第一损失函数的值和第二损失函数的值分别与第一损失阈值和第二损失阈值进行比较,若第一损失函数的值大于第一损失阈值,则可以判断出第一损失函数的值不符合模型收敛条件,反之则可以判断出第一损失函数的值符合模型收敛条件;若第二损失函数的值大于第二损失阈值,则可以判断出第二损失函数的值不符合模型收敛条件,反之则可以判断出第二损失函数的值符合模型收敛条件。
S580:生成器确定步骤,将训练完成后的语音生成网络作为语音生成器。
具体地,训练完成后,可以将最终得到的语音生成网络作为训练得到的语音生成器。
在一个可能的实施例中,结合参考说明书附图7,训练表示向量确定步骤S520可以包括:
S521:基于预设的内容编码网络确定各个训练语音对应的训练内容表示向量。
S522:基于预设的声纹编码网络确定各个训练语音对应的训练声纹表示向量。
在步骤S521中,可以预先构建内容编码网络,内容编码网络可以为基于注意力机制的编码网络,例如,可以使用如图6中所示例性地示出的注意力机制编码器1到注意力机制编码器n堆叠形成。其中,内容编码网络的输入可以是训练语音的语音波形,输出可以是训练语音对应的训练内容表示向量,各个注意力机制编码器均可以为Transformer编码器,各个Transformer编码器的输出维度逐渐变小,从而完成下采样过程。该内容编码网络中注意力机制编码器的数量可以根据实际需要进行预先设置,本发明实施例对此不做具体限制。
在步骤S521中,可以先随机初始化预先构建的内容编码网络的网络参数,再将各个训练语音的语音波形输入内容编码网络中,由内容编码网络将训练语音的语音波形编码为对应的训练内容表示向量。
可以理解,通过基于注意力机制的Transformer编码器对训练语音的波形进行提取得到训练内容表示向量,而非通过训练语音的语音学特征提取,能够避免频域的内容特征在后续转换为时域波形时的特征失配问题。
在步骤S522中,可以预先构建声纹编码网络,声纹编码网络可以为基于注意力机制的编码网络,例如可以由如图6中所示例性地示出的注意力机制编码器1到注意力机制编码器n堆叠后连接平均池化层组成。其中,声纹编码网络的输入可以是训练语音的梅尔谱特征,输出可以是训练语音对应的均值向量和方差对角矩阵,各个注意力机制编码器均可以为Transformer编码器,即声纹编码网络可以包括多个Transformer编码器以及平均池化层。该声纹编码网络中注意力机制编码器的数量可以根据实际需要进行预先设置,本发明实施例对此不做具体限制。
在步骤S522中,可以先随机初始化预先构建的声纹编码网络的网络参数,再提取各个训练语音的梅尔谱特征,将各个训练语音的梅尔谱特征输入声纹编码网络中,得到对应的均值向量和方差对角矩阵,并根据对应的均值向量和方差对角矩阵确定各个训练语音对应的训练声纹表示向量。
可以理解,通过使用基于注意力机制的Transformer编/解码器对语音波形进行编解码,让更重要的特征权重更高,可建立语音的长期依赖,使得转换得到的语音连续性更强,更自然,从而提高转换语音的真实性和流畅性。
需要说明的是,上述通过Transformer编/解码器构成内容编码网络、声纹编码网络和语音生成网络的实施方式仅为示例,在一些可能的实施例中,也可以采用其他神经网络或者其他基于注意力机制的编码网络(如基于Transformer的衍生网络)来构成内容编码网络、声纹编码网络和语音生成网络,本发明实施例对此不做具体限制。
本发明实施例可以将预先构建的内容编码网络、声纹编码网络和语音生成网络作为一个整体,共同构成GAN中的生成器,以对内容编码网络、声纹编码网络和语音生成网络进行联合训练。此时,在第一计算步骤S540中,可以预先构建包括内容编码网络对应的损失函数、声纹编码网络对应的损失函数以及语音生成网络对应的损失函数的第一损失函数,在训练过程中也可以根据训练转换语音计算得到第一损失函数的值。
具体地,可以以相同内容编码网络对训练语音以及对语音生成网络根据训练语音对应的训练内容表示向量和训练声纹表示向量生成的训练转换语音分别进行编码,将两次编码的距离作为内容编码网络对应的损失函数,即内容保留损失函数,该内容保留损失函数如下:
Lcon(Ec,G)=Ex′,z[||Ec(x′)-Ec(G(Ec(x′),z))||] (1)
其中,x′表示训练语音,z表示训练语音对应的训练声纹表示向量,Ec表示内容编码网络,G表示语音生成网络,Ex′,z[]表示对x′和z求期望。
具体地,因为在训练声纹表示向量中随机采样,需要约束x′~N(0,1),因此可以使用KL(Kullback-Leibler)散度作为声纹编码网络对应的损失函数,即声纹采样损失函数,该声纹采样损失函数如下:
Lkl(Es)=Ex′[Dkl(p(z|x′)||N(z|0,I))] (2)
其中,x′表示训练语音,z表示训练语音对应的训练声纹表示向量,Es表示声纹编码网络,Dkl表示KL散度,Ex′[]表示对x′求期望。
具体地,语音生成网络的目标是使得生成的语音尽可能更像真人说出的语音,即尽可能重建原始的训练语音,因此可以通过两种损失函数的加权平均作为语音生成网络对应的重建损失函数。
其中,第一种损失函数可以为生成的训练转换语音与训练语音的频谱距离,该频谱距离如下:
其中,x′表示训练语音,c′表示训练语音对应的训练内容表示向量,z表示训练语音对应的训练声纹表示向量,θ(·)表示使用快速傅里叶变换(Fast Fourier Transform,FFT)提取的语音的梅尔谱特征,w表示FFT的点数,Ec表示内容编码网络,Es表示声纹编码网络,G表示语音生成网络,||·||2表示L2范数,Ec′,z,x′[]表示对c′,z和x′求期望。
由于语音生成网络应使得判别器网络对其的判别更接近对真实语音的判别,因此可以使用判别器网络对训练语音及其对应的训练转换语音的判别距离作为第二种损失函数,即特征匹配损失函数,其中,与判别器网络中第k个判别器对应的特征匹配损失函数如下:
其中,x'表示训练语音,c'表示训练语音对应的训练内容表示向量,z表示训练语音对应的训练声纹表示向量,G表示语音生成网络,D(k)(k=1,…,n)表示判别器网络中第k个判别器,n表示判别器网络中判别器的个数,||·||1表示l1范数,Ec',z,x'[]表示对c',z和x'求期望。
因此,语音生成网络对应的重建损失函数可以表示为:
其中,β表示训练转换语音与训练语音的频谱距离对应的权重系数,n表示判别器网络中判别器的个数。
另外,语音生成网络还需要使得判别器网络无法判别生成的训练转换语音是否是合成的,因此还需要一个与判别器网络对抗的对抗损失函数,作为语音生成网络对应的对抗损失函数,该对抗损失函数如下:
其中,c'表示训练语音对应的训练内容表示向量,z表示训练语音对应的训练声纹表示向量,G表示语音生成网络,D(k)(k=1,…,n)表示判别器网络中第k个判别器,n表示判别器网络中判别器的个数,Ec',z[]表示对c'和z求期望。
综上所述,预先构建的第一损失函数可以表示为:
L(Ec,Es,G)=Ladv(Ec,Es,G)+λrecLrec(Ec,Es,G)+λconLcon(Ec,G)+λklLkl(Es) (7)
其中,λrec,λcon,λkl分别为语音生成网络对应的重建损失函数、内容编码网络对应的内容保留损失函数和声纹编码网络对应的声纹采样损失函数的权重系数。
相应地,在第二计算步骤S550中,由于判别器网络的目的是正确分清一段语音是否是合成的,因此可以使用交叉熵作为判别器网络对应的对抗损失函数,其中,与判别器网络中第k个判别器对应的对抗损失函数如下:
Ladv(D(k))=-Ex'[log(D(k)(x'))]-Ex',z[log(1-D(k)(G(c',z)))] (8)
其中,x'表示训练语音,c'表示训练语音对应的训练内容表示向量,z表示训练语音对应的训练声纹表示向量,G表示语音生成网络,D(k)(k=1,…,n)表示判别器网络中第k个判别器,n表示判别器网络中判别器的个数,Ex'[]表示对x'求期望,Ex',z[]表示对x'和z求期望。
因此,整个判别器网络对应的第二损失函数可以表示为:
其中,Ladv(D(k))表示第k个判别器对应的对抗损失函数,n表示判别器网络中判别器的个数。
可以理解,本发明实施例通过重建损失函数和判别器对内容编码网络、声纹编码网络和语音生成网络进行联合训练,可以增强转换语音的连续性,使得转换得到的语音是高保真的,并且还可以抑制平滑,避免转换出的语音出现过度平滑的问题。
具体地,在对内容编码网络、声纹编码网络和语音生成网络进行联合训练的情况下,结合参考说明书附图7,参数更新步骤S560可以为:
S560’:基于第一损失函数的值更新内容编码网络、声纹编码网络和语音生成网络的网络参数,并基于第二损失函数的值更新判别器网络的网络参数。
在步骤S560’中,可以利用反向传播算法,根据计算得到的第一损失函数的值,对内容编码网络、声纹编码网络和语音生成网络构成的整个生成器进行反向传播,以更新内容编码网络、声纹编码网络和语音生成网络的网络参数。其中,进行反向传播以更新模型参数的具体内容可以参考现有技术,本发明实施例在此不再赘述。
具体地,在对内容编码网络、声纹编码网络和语音生成网络进行联合训练的情况下,结合参考说明书附图7,迭代训练步骤S570可以为:
S570’:基于更新参数后的内容编码网络、声纹编码网络、语音生成网络和判别器网络进行迭代训练,直至第一损失函数的值和第二损失函数的值均符合模型收敛条件。
在步骤S570’中,可以重复如图7所示实施例中的步骤S521至步骤S560’,利用训练语音对内容编码网络、声纹编码网络、语音生成网络和判别器网络进行多次迭代训练,更新网络参数,直到第一损失函数的值和第二损失函数的值均符合模型收敛条件。其中,模型收敛条件的具体内容可以参考如图5所示实施例的内容,本发明实施例在此不再赘述。
具体地,在对内容编码网络、声纹编码网络和语音生成网络进行联合训练的情况下,结合参考说明书附图7,该方法还可以包括:
S590:将训练完成后的内容编码网络作为内容编码器,将训练完成后的声纹编码网络作为声纹编码器。
具体地,训练完成后,可以将最终得到的内容编码网络作为训练得到的内容编码器,将最终得到的声纹编码网络作为训练得到的声纹编码器。
综上所述,根据本发明实施例的模型训练方法,通过将训练语音的内容和声纹分离编码,将得到的训练声纹表示向量以及基于训练语音的语音波形得到的训练内容表示向量输入语音生成网络来训练语音生成器,并将语音生成网络生成的训练转换语音输入判别器网络来训练判别器,训练得到的语音生成器能够直接根据目标语音的波形转换得到转换语音的波形,无需使用目标语音的语音学特征,能够避免将语音学特征转换为时域波形时的特征失配问题,从而提高语音转换的准确性。
参考说明书附图8,其示出了本发明一个实施例提供的一种语音转换装置800的结构,该装置800可以设置于电子设备中。具体的如图8所示,该装置800可以包括:
内容表示向量确定模块810,用于确定待转换的目标语音及与目标语音对应的内容表示向量;其中,目标语音具有第一内容和第一声纹,内容表示向量基于目标语音的语音波形得到;
声纹表示向量确定模块820,用于确定参考语音及与参考语音对应的声纹表示向量,参考语音具有第二声纹,第二声纹与第一声纹不同;
语音转换模块830,用于根据内容表示向量和声纹表示向量,基于语音生成器生成转换语音;其中,转换语音具有第一内容和第二声纹;
其中,语音生成器是通过利用具有第二声纹的训练语音对预设的语音生成网络和判别器网络进行联合训练得到的。
在一个可能的实施例中,该装置800进一步可以包括:
卷积模块,用于将声纹表示向量进行1×1卷积,得到一个或者多个卷积后的声纹表示向量;其中,每个卷积后的声纹表示向量的维度至少与语音生成器中的一个解码器的输入维度相同;
语音转换模块830,具体用于将内容表示向量和一个或者多个卷积后的声纹表示向量输入语音生成器,得到转换语音。
参考说明书附图9,其示出了本发明一个实施例提供的一种模型训练装置900的结构,该装置900可以设置于电子设备中。具体的如图9所示,该装置900可以包括:
训练语音获取模块910,用于获取具有第二声纹的多个训练语音;
训练表示向量确定模块920,用于确定各个训练语音对应的训练内容表示向量和训练声纹表示向量,该训练内容表示向量基于训练语音的语音波形得到;
训练语音转换模块930,用于将各个训练语音对应的训练内容表示向量和训练声纹表示向量输入预设的语音生成网络,得到对应的训练转换语音;
第一计算模块940,用于基于训练转换语音计算第一损失函数的值;
第二计算模块950,用于将各个训练语音及其对应的训练转换语音输入预设的判别器网络进行判别,并计算第二损失函数的值;
参数更新模块960,用于基于第一损失函数的值更新语音生成网络的网络参数,并基于第二损失函数的值更新判别器网络的网络参数;
迭代训练模块970,用于基于更新参数后的语音生成网络和判别器网络进行迭代训练,直至第一损失函数的值和第二损失函数的值均符合模型收敛条件;
生成器确定模块980,用于将训练完成后的语音生成网络作为语音生成器。
在一个可能的实施例中,训练表示向量确定模块920可以包括:
训练内容表示向量确定单元,用于基于预设的内容编码网络确定各个训练语音对应的训练内容表示向量;
训练声纹表示向量确定单元,用于基于预设的声纹编码网络确定各个训练语音对应的训练声纹表示向量。
参数更新模块960,还用于基于第一损失函数的值更新内容编码网络和声纹编码网络的网络参数;
迭代训练模块970,还用于基于更新参数后的内容编码网络、声纹编码网络、语音生成网络和判别器网络进行迭代训练,直至第一损失函数的值和第二损失函数的值均符合模型收敛条件;
该装置900进一步可以包括:
编码器确定模块,用于将训练完成后的内容编码网络作为内容编码器,将训练完成后的声纹编码网络作为声纹编码器。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。此外,附图8和附图9中各功能模块的连接关系仅是示例说明,并不代表各功能模块之间唯一的连接方式,各功能模块之间根据其功能需求可以与其它任一功能模块进行通讯连接。另外,上述实施例提供的装置与相应方法实施例属于同一构思,其具体实现过程详见对应方法实施例,这里不再赘述。
本发明一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可设置于电子设备之中以保存用于实现一种语音转换方法或者一种模型训练方法相关的计算机程序/指令,该计算机程序/指令被处理器加载并执行时实现上述方法实施例提供的语音转换方法或者模型训练方法。
可选地,在本发明实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明一个实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,当计算机程序产品在电子设备上运行时,该计算机程序/指令被处理器加载并执行以实现上述各种可选实施例中提供的语音转换方法或者模型训练方法的步骤。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种语音转换方法,用于电子设备,其特征在于,包括:
内容表示向量确定步骤,确定待转换的目标语音及与所述目标语音对应的内容表示向量;其中,所述目标语音具有第一内容和第一声纹,所述内容表示向量基于所述目标语音的语音波形得到;
声纹表示向量确定步骤,确定参考语音及与所述参考语音对应的声纹表示向量,所述参考语音具有第二声纹,所述第二声纹与所述第一声纹不同;
语音转换步骤,根据所述内容表示向量和所述声纹表示向量,基于语音生成器生成转换语音;其中,所述转换语音具有第一内容和第二声纹;
其中,所述语音生成器是通过利用具有第二声纹的训练语音对预设的语音生成网络和判别器网络进行联合训练得到的。
2.根据权利要求1所述的方法,其特征在于,所述语音生成器是通过利用所述训练语音,基于第一损失函数和第二损失函数对所述语音生成网络和所述判别器网络进行联合训练得到的;
其中,所述第一损失函数的值为根据所述训练语音对应的训练转换语音计算得到的,所述第二损失函数的值为将所述训练语音及其对应的训练转换语音输入所述判别器网络进行判别并计算得到的,所述训练转换语音为将所述训练语音对应的训练内容表示向量和训练声纹表示向量输入所述语音生成网络得到的,所述训练内容表示向量根据所述训练语音的语音波形得到。
3.根据权利要求1所述的方法,其特征在于,所述内容表示向量确定步骤包括:
确定所述目标语音的语音波形;
将所述目标语音的语音波形输入内容编码器得到对应的内容表示向量。
4.根据权利要求1所述的方法,其特征在于,所述声纹表示向量确定步骤包括:
提取所述参考语音的梅尔谱特征;
将所述梅尔谱特征输入声纹编码器得到对应的均值向量和方差对角矩阵;
根据所述均值向量和所述方差对角矩阵确定所述参考语音对应的声纹表示向量。
5.根据权利要求1或4所述的方法,其特征在于,所述方法进一步包括:
将所述声纹表示向量进行1×1卷积,得到一个或者多个卷积后的声纹表示向量;
其中,每个所述卷积后的声纹表示向量的维度至少与所述语音生成器中的一个解码器的输入维度相同;
所述语音转换步骤包括:
将所述内容表示向量和所述一个或者多个卷积后的声纹表示向量输入所述语音生成器,得到所述转换语音。
6.根据权利要求1所述的方法,其特征在于,所述参考语音具有第二内容,所述第二内容与所述第一内容不同。
7.一种模型训练方法,用于电子设备,其特征在于,包括:
训练语音获取步骤,获取具有第二声纹的多个训练语音;
训练表示向量确定步骤,确定各个所述训练语音对应的训练内容表示向量和训练声纹表示向量,所述训练内容表示向量基于所述训练语音的语音波形得到;
训练语音转换步骤,将各个所述训练语音对应的训练内容表示向量和训练声纹表示向量输入预设的语音生成网络,得到对应的训练转换语音;
第一计算步骤,基于所述训练转换语音计算第一损失函数的值;
第二计算步骤,将各个所述训练语音及其对应的训练转换语音输入预设的判别器网络进行判别,并计算第二损失函数的值;
参数更新步骤,基于所述第一损失函数的值更新所述语音生成网络的网络参数,并基于所述第二损失函数的值更新所述判别器网络的网络参数;
迭代训练步骤,基于更新参数后的所述语音生成网络和所述判别器网络进行迭代训练,直至所述第一损失函数的值和所述第二损失函数的值均符合模型收敛条件;
生成器确定步骤,将训练完成后的所述语音生成网络作为语音生成器。
8.根据权利要求7所述的方法,其特征在于,所述训练表示向量确定步骤包括:
基于预设的内容编码网络确定各个所述训练语音对应的训练内容表示向量;
基于预设的声纹编码网络确定各个所述训练语音对应的训练声纹表示向量;
所述模型训练方法还包括:
基于所述第一损失函数的值更新所述内容编码网络和所述声纹编码网络的网络参数;以及,
将训练完成后的所述内容编码网络作为内容编码器,将训练完成后的所述声纹编码网络作为声纹编码器。
9.根据权利要求8所述的方法,其特征在于,所述内容编码网络和所述声纹编码网络均为基于注意力机制的编码网络,所述语音生成网络为基于注意力机制的解码网络。
10.根据权利要求9所述的方法,其特征在于,所述内容编码网络包括多个Transformer编码器,所述声纹编码网络包括多个Transformer编码器以及平均池化层,所述语音生成网络包括多个Transformer解码器,所述判别器网络包括多个判别器。
11.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-6任意一项所述的语音转换方法的步骤或者权利要求7-10任意一项所述的模型训练方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1-6任意一项所述的语音转换方法的步骤或者权利要求7-10任意一项所述的模型训练方法的步骤。
13.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1-6任意一项所述的语音转换方法的步骤或者权利要求7-10任意一项所述的模型训练方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023098909 | 2023-06-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117957610A true CN117957610A (zh) | 2024-04-30 |
Family
ID=90804170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380013302.XA Pending CN117957610A (zh) | 2023-06-07 | 2023-06-07 | 语音转换方法、模型训练方法、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117957610A (zh) |
-
2023
- 2023-06-07 CN CN202380013302.XA patent/CN117957610A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11295721B2 (en) | Generating expressive speech audio from text data | |
EP3855340B1 (en) | Cross-lingual voice conversion system and method | |
CN115116109B (zh) | 虚拟人物说话视频的合成方法、装置、设备及存储介质 | |
CN112071330B (zh) | 一种音频数据处理方法、设备以及计算机可读存储介质 | |
CN111833855B (zh) | 基于DenseNet STARGAN的多对多说话人转换方法 | |
CN112530403B (zh) | 基于半平行语料的语音转换方法和系统 | |
CN112837669B (zh) | 语音合成方法、装置及服务器 | |
CN111710326A (zh) | 英文语音的合成方法及系统、电子设备及存储介质 | |
US20230343319A1 (en) | speech processing system and a method of processing a speech signal | |
CN114267329A (zh) | 基于概率生成和非自回归模型的多说话人语音合成方法 | |
CN112530400A (zh) | 基于深度学习的文本生成语音的方法、系统、装置及介质 | |
Qu et al. | LipSound: Neural Mel-Spectrogram Reconstruction for Lip Reading. | |
Hassid et al. | More than words: In-the-wild visually-driven prosody for text-to-speech | |
Sadekova et al. | A Unified System for Voice Cloning and Voice Conversion through Diffusion Probabilistic Modeling. | |
CN117275498A (zh) | 语音转换方法及语音转换模型的训练方法、电子设备和存储介质 | |
CN112185340A (zh) | 语音合成方法、语音合成装置、存储介质与电子设备 | |
CN117012177A (zh) | 语音合成方法、电子设备和存储介质 | |
WO2023116243A1 (zh) | 数据转换方法及计算机存储介质 | |
CN116246328A (zh) | 面部数据生成方法、装置、计算机设备及存储介质 | |
US11605388B1 (en) | Speaker conversion for video games | |
CN113611283B (zh) | 一种语音合成方法、装置、电子设备及存储介质 | |
CN117957610A (zh) | 语音转换方法、模型训练方法、设备、介质及程序产品 | |
Kakumanu et al. | A comparison of acoustic coding models for speech-driven facial animation | |
Zainkó et al. | Adaptation of Tacotron2-based Text-To-Speech for Articulatory-to-Acoustic Mapping using Ultrasound Tongue Imaging | |
US20240177386A1 (en) | System and method for an audio-visual avatar creation |
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 |