基于DenseNetSTARGAN的多对多说话人转换方法与流程
本发明涉及一种多对多说话人转换方法,特别是涉及一种基于densenetstargan的多对多说话人转换方法。
背景技术:
语音转换是语音信号处理领域的重要研究分支,是在语音分析、合成和说话人识别的研究基础上发展与延伸的。语音转换的目标是改变源说话人的语音个性特征,使之具有目标说话人的语音个性特征,同时保留语义信息,也就是使源说话人的语音经过转换后听起来像是目标说话人的语音。
语音转换的最初阶段主要是平行文本下的语音转换,平行文本要求源说话人和目标说话人需要发出语音内容、语音时长相同的句子,并且发音节奏和情绪等尽量一致,但是收集这些数据很耗时并且即使获得这些平行数据,仍然很难解决问题,因为大多数语音转换方法依赖数据准确的时间对齐,而对齐过程不可避免会引入误差,所以训练时要求平行文本会成为语音转换应用的严重制约。此外在同声传译、医疗辅助患者语音转换等实际应用中也无法获取平行语音。因此,无论从语音转换系统的通用性还是实用性来考虑,非平行文本条件下的语音转换方法的研究具有极大的实际意义和应用价值。
现有的非平行文本条件下的语音转换方法有基于循环一致对抗网络(cycle-consistentadversarialnetworks,cycle-gan)的方法,基于条件变分自编码器(conditionalvariationalauto-encoder,c-vae)的方法以及基于disco-gan(discovercross-domainrelationswithgenerativeadversarialnetworks)的方法等。基于disco-gan模型的语音转换方法,采用两个生成器与三个判别器进行计算损失,较传统gan而言,通过增加一个风格判别器提取语音个性特征来提高语音质量,但其只能实现一对一的语音转换。基于c-vae模型的语音转换方法,直接利用说话人的身份标签建立语音转换系统,其中编码器对语音实现语义和个性信息的分离,解码器通过语义和说话人身份标签来实现语音的重构,从而可以解除对平行文本的依赖,但是由于c-vae基于理想假设,认为观察到的数据通常遵循高斯分布,导致解码器的输出语音过度平滑,转换后的语音质量不高。基于cycle-gan模型的语音转换方法利用对抗性损失和循环一致损失,同时学习声学特征的正映射和逆映射,可以有效解决过平滑问题,改善转换语音质量,但是cycle-gan只能实现一对一的语音转换,即源说话人与目标说话人之间的转换,无法实现多说话人之间的互相转换。
基于星型生成对抗网络(stargenerativeadversarialnetwork,stargan)模型的语音转换方法同时具有disco-gan、c-vae和cycle-gan的优点,由于该方法的生成器具有编解码结构,可以同时学习多对多映射,生成器输出的属性由说话人身份标签控制,因此可以实现非平行条件下多对多的语音转换,但是此方法由于生成器中的编码网络与解码网络之间相互独立,直接通过生成器的编码网络无法较好地实现语义特征与说话人个性化特征的分离,同时生成器的解码网络也无法较好地实现语义特征与说话人个性特征的合成,更重要的是当前所有基于生成对抗网络搭建的语音转换模型的损失函数计算方式都是基于绝对差值或者最小均方误差,如语音转换的模型中常见的频谱重构损失,其计算方式为绝对差值运算,即通过对频谱进行逐点计算绝对差值来得到频谱重构损失,严重忽略了生成器生成频谱的深层语义特征与个性特征,因此在网络传输中容易丢失频谱深层的语义特征与说话人个性特征,造成信息的损失与噪声的生成,导致整个生成器缺乏对深层特征的提取能力。针对这种情况,需要一种能够很好地解决在训练过程中的网络退化问题,降低编码网络对于语义的学习难度,并且实现模型对频谱深层的语义特征与个性特征的学习功能,从而提高解码网络的频谱生成质量的转换方法。
在深度学习中,随着网络层数的增加,训练网络的难度会更大,尤其是在图像领域中,神经网络层数的增加会导致网络退化的问题,即深层次的网络性能反而不如稍浅层次的网络的性能。在2015年,何凯明提出了深度残差结构(residualnetwork,resnet),resnet获得当年imagenet比赛的冠军,resnet的出现很好地解决了深层卷积网络训练过程中网络退化的问题,resnet结构的核心是通过建立前面层与后面层之间的“短路连接”,利用残差学习的方式加快深层网络的优化速度,解决网络退化的问题,使得网络能够达到更深的层次,densenet是resnet的一种改进方案,resnet是将前一层与后一层进行短路连接,而densenet是在resnet的基础之上,通过密集连接卷积层,将前面所有的卷积层与后面的卷积层密集连接,进一步地加速了训练过程中梯度的反向传播并且解决了网络退化问题,同时在训练过程中实现特征的多次利用。所以,可以将densenet应用到语音转换领域进行研究,以解决目前基于stargan语音转换方法的不足。
技术实现要素:
发明目的:本发明要解决的技术问题是提供一种基于densenetstargan的多对多说话人转换方法,解决了现有的方法在训练过程中的网络退化问题,加快了模型的收敛速度,大大地增强了模型的表征能力,同时降低编码网络对于语义特征的学习难度,实现模型对频谱深层特征的学习功能,提高解码网络的频谱生成质量,充分学习语义特征和说话人的个性化特征,将gelu(gaussianerrorlinearunits)激活函数作为stargan模型的激活函数,辅助解决深层网络在训练的过程中梯度消失的问题,提高了深层网络训练效率,加快其收敛速度。
技术方案:本发明所述的基于densenetstargan的多对多说话人转换方法,包括训练阶段和转换阶段,所述训练阶段包括以下步骤:
(1.1)获取训练语料,训练语料由多名说话人的语料组成,包含源说话人和目标说话人;
(1.2)将所述的训练语料通过world语音分析/合成模型,提取出各说话人语料的频谱特征x、非周期性特征以及基频特征;
(1.3)将源说话人的频谱特征xs、目标说话人的频谱特征xt、源说话人标签cs以及目标说话人标签ct,输入到densenetstargan网络进行训练,所述的densenetstargan网络由生成器g、鉴别器d、分类器c组成,所述的生成器g由编码网络和解码网络构成,在编码网络与解码网络之间搭建若干层由densenet连接的卷积网络;
(1.4)训练过程使生成器g的损失函数、鉴别器d的损失函数、分类器c的损失函数尽量小,直至设置的迭代次数,从而得到训练好的densenetstargan网络;
(1.5)构建从源说话人的语音基频到目标说话人的语音基频的基频转换函数;
所述转换阶段包括以下步骤:
(2.1)将待转换语料中源说话人的语音通过world语音分析/合成模型提取出频谱特征xs′、非周期性特征和基频特征;
(2.2)将上述源说话人频谱特征xs′、目标说话人标签特征ct′输入步骤(1.4)中训练好的densenetstargan网络,重构出目标说话人频谱特征xtc′;
(2.3)通过步骤(1.5)得到的基频转换函数,将步骤(2.1)中提取出的源说话人基频特征转换为目标说话人的基频特征;
(2.4)将步骤(2.2)中得到的重构目标说话人频谱特征xtc′、步骤(2.3)中得到的目标说话人的基频特征和步骤(2.1)中提取的非周期性特征通过world语音分析/合成模型,合成得到转换后的说话人语音。
进一步的,所述的生成器g的编码网络包括5个卷积层,生成器g的解码网络包括5个反卷积层,在编码网络和解码网络之间还有6层由densenet连接的卷积网络,将卷积网络的第一个卷积层的输出与后面的五个卷积层的输出分别拼接,将卷积网络的第二个卷积层的输出与后面四个卷积层的输出分别拼接,将卷积网络的第三个卷积层的输出与后面三个卷积层的输出分别拼接,将卷积网络的第四个卷积层的输出与后面两个卷积层的输出分别拼接,将第五个卷积层的输出与最后一个卷积层的输出直接拼接,从而这6个卷积层形成密集连接的卷积网络。
进一步的,所述生成器g、鉴别器d和分类器c中的激活函数均为gelu激活函数。
进一步的,所述的生成器g的编码网络的5个卷积层的过滤器大小分别为3*9、4*8、4*8、3*5、9*5,步长分别为1*1、2*2、2*2、1*1、9*1,过滤器深度分别为32、64、128、64、5;生成器g的解码网络的5个反卷积层的过滤器大小分别为9*5、3*5、4*8、4*8、3*9,步长分别为9*1、1*1、2*2、2*2、1*1,过滤器深度分别为64、128、64、32、1;所述的鉴别器d包括5个卷积层,5个卷积层的过滤器大小分别为3*9、3*8、3*8、3*6、36*5,步长分别为1*1、1*2、1*2、1*2、36*1,过滤器深度分别为32、32、32、32、1;所述的分类器c包括5个卷积层,5个卷积层的过滤器大小分别为4*4、4*4、4*4、3*4、1*4,步长分别为2*2、2*2、2*2、1*2、1*2,过滤器深度分别为8、16、32、16、4。
进一步的,步骤(1.3)和(1.4)中的训练过程包括以下步骤:
(1)将源说话人的频谱特征xs输入生成器g的编码网络,得到说话人无关的语义特征g(xs);
(2)将上述得到的语义特征g(xs)与目标说话人的标签特征ct一同输入到生成器g的解码网络进行训练,在训练过程中最小化生成器g的损失函数,从而得到重构目标说话人的频谱特征xtc;
(3)将上述得到的重构目标说话人的频谱特征xtc,再次输入到生成器g的编码网络,得到说话人无关的语义特征g(xtc);
(4)将上述得到的语义特征g(xtc)与源说话人标签特征cs输入到生成器g的解码网络进行训练,在训练过程中最小化生成器g的损失函数,得到重构源说话人频谱特征xsc;
(5)将重构目标说话人频谱特征xtc、目标说话人频谱特征xt,以及目标说话人的标签特征ct一同输入到鉴别器d中进行训练,最小化鉴别器d的损失函数;
(6)将上述得到的重构目标说话人的频谱特征xtc和目标说话人的频谱特征xt输入分类器c进行训练,最小化分类器c的损失函数;
(7)回到步骤(1)重复上述步骤,直至达到设置的迭代次数,从而得到训练好的densenetstargan网络。
进一步的,步骤(2.2)中的输入过程包括以下步骤:
(1)将源说话人的频谱特征xs′输入生成器g的编码网络,得到说话人无关的语义特征g(xs′);
(2)将上述得到的语义特征g(xs′)与目标说话人的标签特征ct′一同输入到生成器g的解码网络,得到目标说话人的频谱特征xtc′。
本发明所述的计算机存储介质,其上存储有计算机程序,所述计算机程序在被计算机处理器执行时实现上述的方法。
有益效果:本发明引入稠密连接网络densenet,利用stargan与densenet相结合来实现非平行文本条件下的多对多说话人语音转换,主要通过在生成器的编码网络和解码网络之间搭建densenet来充分学习源说话人与目标说话人的语音特征和个性化特征,提高生成器的编码网络对语义的提取能力,有效地提升转换后语音的个性相似度和语音质量。本发明进一步引入gelu激活函数,由于其具有更好的非线性表示能力,解决了原有模型中采用的relu激活函数在负区间上神经元失活的问题,辅助解决了网络训练过程中出现的梯度消失的问题,增强了模型的表征能力,实现了高质量的多说话人对多说话人语音转换。
附图说明
图1是本方法的原理示意图;
图2是本方法densenetstargan模型的生成器的网络结构图;
图3是本方法densenetstargan模型的6层densenet网络结构图;
图4是异性转换情形下基线系统与本发明方法的时域波形对比图;
图5是同性转换情形下基线系统与本发明方法的时域波形对比图;
图6是异性转换情形下基线系统与本发明方法的语谱图对比图;
图7是同性转换情形下基线系统与本发明方法的语谱图对比图;
图8是基准方法与本发明方法的生成器损失函数的收敛速度对比图。
具体实施方式
本发明的方法原理如图1所示,将densenet网络应用于stargan模型中,在生成器的编码阶段和解码阶段构建6层densenet网络,克服深层网络的网络退化的问题,降低编码网络对于语义特征的学习难度,实现了stargan模型对频谱深层次的语义特征和个性特征的充分学习,从而很好地改善解码网络的频谱生成质量。
具体实施方式为两个部分:训练部分用于得到语音转换所需的特征和转换函数,而转换部分用于实现源说话人语音转换为目标说话人语音。
训练阶段实施步骤为:
1.1)获取非平行文本的训练语料,训练语料是多名说话人的语料,包含源说话人和目标说话人。本发明构建的非平行语音转换系统使用vcc2018提供的非平行语料库,训练集中包含源说话人和目标说话人,其中4名男性和4名女性,每个说话人有81句训练语料。
1.2)训练语料通过world语音分析/合成模型提取出各说话人语句的频谱特征x、非周期性特征、对数基频logf0。其中由于快速傅氏变换(fastfouriertransformation,fft)长度设置为1024,因此得到的频谱包络特征和非周期性特征均为1024/2+1=513维。每一个语音块有512帧,从每帧的频谱包络特征中再提取36维的梅尔倒谱系数(mel-cepstralcoefficients,mcep)作为模型的频谱特征x,一次训练时取8个语音块。因此,训练语料的维度为8*36*512。
1.3)本实施例中的densenetstargan网络以cycle-gan模型为基础,通过改善gan的结构,以及结合分类器,来提升cycle-gan效果。densenetstargan由三部分组成:一个产生真实的频谱的生成器g,一个判断输入是真实的频谱还是生成的频谱的鉴别器d,以及一个判别生成频谱的标签是否属于ct的分类器c。
densenetstargan网络的目标函数为:
其中,ig(g)为生成器的损失函数:
其中,λcls>=0、λcyc>=0和λid>=0是正则化参数,分别表示分类损失、循环一致性损失和特征映射损失,
鉴别器的损失函数为:
其中,d(xt,ct)表示鉴别器d判别真实频谱特征,g(xs,ct)表示生成器g生成的目标说话人频谱特征,即xtc,d(g(xs,ct),ct)表示鉴别器判别生成的频谱特征,
分类器二维卷积神经网络的损失函数为:
其中,pc(ct|xt)表示分类器判别目标说话人特征为标签ct的真实频谱的概率。
1.4)将1.2)中提取的源说话人频谱特征xs与目标说话人标签特征ct作为联合特征(xs,ct)输入生成器进行训练。训练生成器,使生成器的损失函数lg尽量小,得到生成目标说话人频谱特征xtc。
如图2和图3所示,生成器采用二维卷积神经网络,由编码网络和解码网络构成。生成器g的编码网络包括5个卷积层,5个卷积层的过滤器大小分别为3*9、4*8、4*8、3*5、9*5,步长分别为1*1、2*2、2*2、1*1、9*1,过滤器深度分别为32、64、128、64、5;生成器g的解码网络包括5个反卷积层,5个反卷积层的过滤器大小分别为9*5、3*5、4*8、4*8、3*9,步长分别为9*1、1*1、2*2、2*2、1*1,过滤器深度分别为64、128、64、32、1;在编码网络和解码网络之间还有6层由densenet连接的卷积网络;将卷积网络的第一个卷积层的输出与后面的五个卷积层的输出分别拼接;将卷积网络的第二个卷积层的输出与后面四个卷积层的输出分别拼接;将卷积网络的第三个卷积层的输出与后面三个卷积层的输出分别拼接;将卷积网络的第四个卷积层的输出与后面两个卷积层的输出分别拼接;将第五个卷积层的输出与最后一个卷积层的输出直接拼接;从而这6个卷积层形成一个种密集连接的卷积网络。
1.5)将1.4)得到的生成目标说话人频谱特征xtc和1.2)得到的训练语料的目标说话人频谱特征xt以及目标说话人标签ct,一同作为鉴别器的输入,训练鉴别器,使鉴别器的损失函数
鉴别器采用二维卷积神经网络,包括5个卷积层,5个卷积层的过滤器大小分别为3*9、3*8、3*8、3*6、36*5,步长分别为1*1、1*2、1*2、1*2、36*1,过滤器深度分别为32、32、32、32、1。
鉴别器的损失函数为:
优化目标为:
1.6)将上述得到的重构的目标说话人频谱特征xtc,再次输入到生成器g的编码网络,得到说话人无关的语义特征g(xtc),将上述得到的语义特征g(xtc)与源说话人标签特征cs一同输入到生成器g的解码网络,在训练过程中最小化生成器g的损失函数,得到重构源说话人频谱特征xsc。在训练过程中最小化生成器的损失函数,包括生成器的对抗损失、循环一致损失、特征映射损失生成器的分类损失。其中,训练循环一致损失是为了使源说话人频谱特征xs在经过生成器g后,所重构的源说话人频谱特征xsc可以和xs尽可能保持一致。训练特征映射损失,是为了保证xs在经过生成器g后说话人标签仍是cs、分类损失指分类器判别生成器所生成的重构的目标说话人频谱xtc属于标签ct的概率损失。
生成器的损失函数为:
优化目标为:
其中λcls>=0、λcyc>=0和λid>=0是正则化参数,分别表示分类损失、循环一致性损失和特征映射损失。
其中,
其中,pc(ct|g(xs,ct))表示分类器判别生成目标说话人频谱标签属于ct的概率,表示生成器生成的目标说话人频谱。在训练过程中,
lcyc(g)和lid(g)借鉴cycle-gan模型中生成器的损失,lcyc(g)为生成器g中循环一致损失:
其中,g(g(xs,ct),cs)为重构的源说话人频谱特征,即xsc,
lid(g)为生成器g的特征映射损失:
其中,g(xs,cs)为源说话人频谱、说话人标签和x向量,输入到生成器后得到的源说话人频谱特征,
分类器采用二维卷积神经网络c,包括5个卷积层,5个卷积层的过滤器大小分别为4*4、4*4、4*4、3*4、1*4,步长分别为2*2、2*2、2*2、1*2、1*2,过滤器深度分别为8、16、32、16、4。分类器二维卷积神经网络的损失函数为:
优化目标为:
作为决定神经网络是否传递信息的开关,激活函数对于深度神经网络而言是至关重要的,relu激活函数相比sigmoid和tanh激活函数能够缓解训练过程中的梯度消失的问题,提升了深层网络的训练效率,加快深层神经网络的收敛速度,但是,relu激活函数在负区间会出现神经元失活的现象。为了解决relu激活函数的不足之处,引入了高斯误差线性单元gelu,gelu是一种新的非线性激活函数,与随机正则化有关,因为它是自适应dropout修正预期,这决定了神经元输出的概率更高,在负区间时,仍然具有很好的非线性描述能力。在计算计视觉、自然语言处理和自动语音识别等任务上,使用gelu激活函数的模型性能与使用relu激活函数的模型性能相当甚至是超过了它们。因此,本发明将gelu激活函数作为stargan模型的激活函数,辅助解决深层网络在训练的过程中梯度消失的问题,提高了深层网络训练效率,加快其收敛速度。
所述的gelu激活函数的表达式被定义为:
gelu(x)=xp(x≤x)=xφ(x),
其中,x表示激活函数的输入,p(x≤x)表示输入x的概率分布函数,φ(x)表示正态分布的概率函数,是在训练过程中得到的超参数,也可以使用简单的正态分布表示,进一步地,gelu激活函数的表达式可以近似表示为:
或者为:xσ(1.702x).
1.8)重复1.4)、1.5)、1.6)和1.7)步骤,直至达到设置的迭代次数,从而得到训练好的densenetstargan网络,其中生成器参数φ、鉴别器参数θ、分类器参数ψ为训练好的参数。由于神经网络具体设置不同以及实验设备性能不同,选择的迭代次数也各不相同。本实验中选择迭代次数为300000次。
1.9)使用对数基频logf0的均值和均方差建立基音频率转换关系,统计出每个说话人的对数基频的均值和均方差,利用对数域线性变换将源说话人对数基频logf0s转换得到目标说话人对数基频logf0t′。
基频转换函数为:
其中,μs和σs分别为源说话人的基频在对数域的均值和均方差,μt和σt分别为目标说话人的基频在对数域的均值和均方差。
转换阶段实施步骤为:
2.1)将源说话人语音通过world语音分析/合成模型,提取源说话人的不同语句的频谱特征xs′、非周期性特征、基频。其中由于快速傅氏变换(fft)长度设置为1024,因此得到的频谱包络特征和非周期性特征均为1024/2+1=513维,从每帧的频谱包络特征中再提取36维的梅尔倒谱系数mcep作为模型的频谱特征xs′。
2.2)将2.1)提取的源说话人语音的频谱特征xs′与目标说话人标签特征ct′作为联合特征(xs′,ct′)输入1.8)训练的densenetstargan网络,从而得到重构的目标说话人频谱特征xtc′。
2.3)通过1.9)得到的基音频率转换函数,将2.1)中提取出的源说话人基频转换为目标说话人的基频。
2.4)将2.2)中得到的重构的目标说话人频谱特征xtc′、2.3)中得到的目标说话人的基频和2.1)提取的非周期性特征通过world语音分析/合成模型合成转换后的说话人语音。
本发明的基于densenetstargan的多对多语音转换方法模型与基线系统stargan模型所合成的语音效果进行了三个方面的对比:同性和异性转换后语音的时域波形的对比、语谱图对比和生成器损失函数收敛速度的对比。
(1)如图4和图5所示,由时域波形图分析可知,基于densenetstargan的多对多语音转换方法模型转换后合成语音的时域波形相比基准stargan模型噪音更少,波形更加平稳,更加接近目标语音的波形。
(2)如图6和图7所示,由语谱图分析可知,基于densenetstargan的多对多语音转换方法模型转换后合成语音的语谱图相比基准stargan模型,更加接近目标语音的语谱图,具有更清晰的细节、更完整的基音和谐波信息。
(3)如图8所示,由生成器损失函数分析可知,基于densenetstargan的多对多语音转换方法模型转换后合成语音的的损失函数相比基准stargan模型,收敛速度更快更平稳,并且损失值更低。
本发明实施例如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实例不限制于任何特定的硬件和软件结合。
相应的,本发明的实施例还提供了一种计算机存储介质,其上存储有计算机程序。当所述计算机程序由处理器执行时,可以实现前述基于densenetstargan的多对多说话人转换方法。例如,该计算机存储介质为计算机可读存储介质。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除