非平行文本条件下基于文本编码器的多对多语音转换方法与流程

文档序号:16848006发布日期:2019-02-12 22:29阅读:309来源:国知局
非平行文本条件下基于文本编码器的多对多语音转换方法与流程

本发明涉及一种语音转换方法,特别是涉及一种非平行文本条件下基于文本编码器的多对多语音转换方法。



背景技术:

语音转换(voiceconversion,vc)是一种在保持语义信息的同时将源说话人特征转换为目标说话人特征的技术。近几年的研究中,vc模型采用深度神经网络(deepneuralnetworks,dnn),将源语音参数转换为目标语音参数,相比于传统的高斯混合模型(gaussianmixturemodel,gmm),dnn可以更有效地转换语音特征。

最近,变分自动编码器(variationalauto-encoder,vae)已经被用于非平行的vc模型,因为vae比受限制的boltzmann机更容易训练。在传统的基于vae的非平行vc中,编码器从输入语音参数中提取与说话者无关的代表语义内容的潜在变量,然后解码器从潜在变量中重建参数。然而由于vae的潜在变量中的过度正则化效应,这使得潜在变量的分布过于简单化,并且很难代表语义内容的基础结构,这种基于vae的非平行语料转换语音的质量低于用平行语音语料库训练的dnn转换的质量。如果使用潜在变量的更复杂的先验分布,例如gmm来解决该问题,但是因为语义内容的变化很大,不容易确定gmm集群的数量,所以实现起来非常困难。目前,基于vae的非平行语料转换语音方法存在着转换后的语音质量差、噪声多等不足。



技术实现要素:

发明目的:本发明要解决的技术问题是提供一种非平行文本条件下基于文本编码器(text-encoder)的多对多语音转换方法,能够有效提升转换后的语音质量,减少转换过程中带来的噪声。

技术方案:本发明所述的非平行文本条件下基于文本编码器的多对多语音转换方法,包括训练阶段和转换阶段,其中所述训练阶段包括以下步骤:

(1.1)获取由多名说话人的语料组成的训练语料,包含源说话人和目标说话人;

(1.2)将所述的训练语料通过world语音分析/合成模型,提取出各说话人语句的频谱包络特征x、非周期性特征、对数基频logf0;

(1.3)通过fasttext框架将训练语料的语义内容编码为句子嵌入zp;

(1.4)将所述频谱包络特征x与句子嵌入zp输入文本编码器进行训练,训练过程中使文本编码器的损失函数尽量小,直至设置的迭代次数,得到训练好的文本编码器;

(1.5)将训练语料的句子嵌入zp、频谱包络特征x、说话人标签y输入vawgan网络模型进行训练,vawgan网络模型由编码器、生成器和鉴别器组成,训练过程使生成器的损失函数尽量小,使鉴别器的损失函数尽量大,直至设置的迭代次数,得到训练好的vawgan网络;

(1.6)构建从源说话人的语音基频到目标说话人的语音基频的基频转换函数;

所述转换阶段包括以下步骤:

(2.1)将待转换语料中源说话人语音通过world语音分析/合成模型提取出每条语句的频谱包络特征x、非周期性特征、对数基频logf0;

(2.2)将上述频谱包络特征x,输入步骤(1.4)中训练好的文本编码器,输出得到文本编码器预测的源说话人每条语句的句子嵌入

(2.3)将上述句子嵌入源说话人频谱包络特征x、目标说话人标签特征y输入步骤(1.5)中训练好的vawgan网络,从而重构出目标说话人频谱包络特征x′;

(2.4)通过步骤(1.6)得到的基频转换函数,将步骤(2.1)中提取出的源说话人对数基频logf0转换为目标说话人的对数基频logf0′;

(2.5)将步骤(2.3)中得到的频谱包络特征x′、(2.4)中得到的对数基频logf0′和步骤(2.1)中提取的非周期性特征通过world语音分析/合成模型,合成得到转换后的说话人语音。

进一步的,所述文本编码器采用l2损失函数,损失函数为:

其中,m为训练语句的数量,zp为训练库中语义内容编码所得的真实句子嵌入,为文本编码器输出的预测句子嵌入。

进一步的,所述文本编码器采用二维卷积神经网络,包括5个卷积层和1个全连接层。5个卷积层的过滤器大小均为7*1,步长均为3,过滤器深度分别为16、32、64、128、256。

进一步的,步骤(1.5)中的训练过程包括以下步骤:

(1)将所述的训练语料频谱包络特征x,作为所述vawgan网络中编码器的输入数据,输出得到说话人无关的语义特征z;

(2)将上述语义特征z、说话人标签特征y、步骤(1.3)中所述的句子嵌入zp输入生成器进行训练,使生成器的损失函数尽量小,得到生成的说话人频谱包络特征x′;

(3)将上述说话人频谱包络特征x′和训练语料频谱包络特征x输入所述鉴别器进行训练,使鉴别器的损失函数尽量大;

(4)重复步骤(1)、(2)和(3),直至达到迭代次数,从而得到训练好的vawgan网络。

进一步的,步骤(2.3)中的输入过程包括以下步骤:

(1)将频谱包络特征x输入vawgan网络中的编码器,得到说话人无关的语义特征z;

(2)将上述语义特征z、目标说话人标签特征y、步骤(2.2)中文本编码器预测的句子嵌入输入到所述的生成器中,重构出目标说话人频谱包络特征x′。

进一步的,所述vawgan网络中的编码器采用二维卷积神经网络,包括5个卷积层和1个全连接层。5个卷积层的过滤器大小均为7*1,步长均为3,过滤器深度分别为16、32、64、128、256。

进一步的,所述vawgan网络中的生成器采用二维卷积神经网络g,损失函数为:

所述的鉴别器采用二维卷积神经网络d,损失函数为:

其中,gθ为生成器网络,dψ为鉴别器网络,表示生成器生成的概率分布的期望,表示真实概率分布的期望。

进一步的,所述的生成器的二维卷积神经网络g包括4个卷积层,4个卷积层的过滤器大小分别为9*1、7*1、7*1、1025*1,步长分别为3、3、3、1,过滤器深度分别为32、16、8、1;所述的鉴别器的二维卷积神经网络d,包括3个卷积层和1个全连接层,3个卷积层的过滤器大小分别为7*1、7*1、115*1,步长均为3,过滤器深度分别为16、32、64。

进一步的,所述的基频转换函数为:

其中,μs和σs分别为源说话人的基频在对数域的均值和方差,μt和σt分别为目标说话人的基频在对数域的均值和方差,logf0s为源说话人的对数基频,logf0c为转换后对数基频。

有益效果:本方法能够将转换语音中的语义内容通过文本编辑器处理后,应用到vawgan系统中去,相比于现有技术有效地提升了转换后的语音质量和相似度,减少转换过程中带来的噪声,实现高质量的语音转换。此外,本方法的训练过程并不依赖平行文本,能够实现非平行文本条件下的语音转换,而且训练过程不需要任何对齐过程,提高了语音转换系统的通用性和实用性。本方法还可以将多个源-目标说话人对的转换系统通过一个转换模型实现,即实现多说话人对多说话人转换。本方法在电影配音、语音翻译、语音合成等领域有较好的应用前景。

附图说明

图1是本方法的整体流程图。

具体实施方式

如图1所示,本发明所述高质量语音转换方法分为两个部分:训练部分用于得到语音转换所需的模型参数和转换函数,而转换部分用于实现源说话人语音到目标说话人语音的转换。

训练阶段实施步骤为:

1.1)获取非平行文本的训练语料,训练语料是多名说话人的语料,包含源说话人和目标说话人。训练语料取自vcc2018语音语料库,选取该语料库中4名男性和4名女性说话人的非平行文本训练语料,每名说话人有81句语料。该语料库还包含每句训练语料的语义内容。源说话人和目标说话人的训练语料既可以是平行文本,也可以是非平行文本的。

1.2)训练语料通过world语音分析/合成模型提取出各说话人语句的频谱包络特征x、非周期性特征、对数基频logf0。其中由于快速傅氏变换(fastfouriertransformation,fft)长度设置为1024,因此得到的频谱包络特征x和非周期性特征均为1024/2+1=513维。

1.3)将训练语料中每句话的语义内容进行编码,首先使用fasttext框架训练维度为300的词嵌入。fasttext是一个被用于对词嵌入和句子分类进行高效学习训练的工具库。词嵌入采用subword模型来学习每个单词w的向量表示。subword模型来源于skipgram模型。skipgram模型的训练目标是最大化以下对数似然:

其中,wt为当前指定的单词,ct为单词的上下文内容,wc为上下文单词。

为了更符合实际情况,将预测上下文单词替代为构造独立的二进制分类任务,即预测某个上下文单词是否存在。对于上下文位置c,使用二元逻辑损失,上式改写为:

其中nt,c为不存在的上下文单词,即负例,为单词wt和上下文单词wc之间的评分函数,分别为单词wt和上下文单词wc的词嵌入。

subword模型将评分函数替换为:

其中,gw为单词w中的n-gram集合,zg为n-gramg的向量表示,n-gram的向量表示的总和表示单词w的词嵌入。最小化该对数似然损失函数,便可以获得单词w的词嵌入。

然后将句子嵌入表示成词嵌入的加权平均值:

其中,zp为句子嵌入,vw为单词w的词嵌入,a为超参数,p(w)为单词w在整个语料库中出现的概率。将zp形成的矩阵的第一个奇异值记为u,zp减去在向量u上的投影便可获得编码之后的句子嵌入:

zp←zp-uutzp。

1.4)训练文本编码器来建立频谱包络x和句子嵌入之间的映射关系,训练好的文本编码器用于转换阶段,通过将待转换源语音的频谱包络特征输入训练好的文本编码器中得到待转换源语音的句子嵌入。

由于训练语句中有准确的语义内容,先按照1.3)所述方法将句子转化为准确的句子嵌入zp。接着训练文本编码器,输入为训练语音的频谱包络特征x和句子嵌入zp,利用l2损失函数度量预测的句子嵌入和准确的句子嵌入之间的误差,损失函数表示为:

其中,m为训练语句的数量。

所述文本编码器的结构与vawgan(variationalautoencodingwassersteingenerativeadversarialnetwork)中使用的编码器的结构相同,采用二维卷积神经网络,包括5个卷积层和1个全连接层。5个卷积层的过滤器大小均为7*1,步长均为3,过滤器深度分别为16、32、64、128、256。

1.5)将1.2)提取的训练语料的频谱包络特征x,作为vawgan编码器的输入数据,经过网络训练后得到说话人无关的语义特征z。其中编码器采用二维卷积神经网络,包括5个卷积层和1个全连接层。5个卷积层的过滤器大小均为7*1,步长均为3,过滤器深度分别为16、32、64、128、256。

本实施例中的vawgan网络以条件变分自动编码器(conditionalvariationalauto-encoders,c-vae)为基础,将w-gan合并到解码器中来提升c-vae效果。w-gan由两个部分组成:一个产生真实的频谱的生成器g,一个判断输入是真实的频谱还是生成的频谱的鉴别器d。

vawgan网络的目标函数为:

jvawgan=l(x;φ,θ)+αjwgan,

其中,l(x;φ,θ)为c-vae部分的目标函数:

其中,dkl(qφ(z|x)||pθ(z))表示判别模型qφ(z|x)和真实后验概率p(z|x)之间的kl散度。先验概率pθ(z)为标准多维高斯分布。qφ(z|x)和pθ(x|z)分别为编码器和解码器,服从多维高斯分布,其均值向量和协方差矩阵分别为(μφ(z),σφ(z))和(μθ(x),σθ(x))。因此,右边两项可以简化为:

其中,k为中间变量z的维数,l为对qφ(z|x)取样的次数。由于取样过程是一个非连续的操作,无法求导,因此无法通过反向传播来更新编码器和解码器的网络参数。于是引入另一个随机变量ε对隐藏变量z进行再参数化,令z(l)=μθ(x)+ε(l)*σθ(x),ε(l)~n(0,i),则:

其中,d为x的样本数。

至此,最大化c-vae的目标函数已经转换为求解凸优化问题,利用随机梯度下降法(stochasticgradientdescent,sgd)来更新网络模型参数。α是w-gan的损失系数。jwgan表示w-gan部分的目标函数:

生成器二维卷积神经网络的损失函数为:

优化目标为:

鉴别器二维卷积神经网络的损失函数为:

优化目标为:

1.6)将1.5)得到的训练语料的语义特征z与1.3)得到的句子嵌入zp、说话人标签特征y作为联合特征(z,zp,y)输入到解码器进行训练。其中y为每一个说话人的标签,在本方法中,采用8个说话人进行训练,对每一个说话人进行标号,8个参与训练的说话人分别标为0、1、2、3、4、5、6、7,并将标号编码为one-hot,即得到y。解码器由生成器和鉴别器组成。训练生成器,使生成器的损失函数lg尽量小,得到生成的说话人频谱包络特征x′。生成器采用二维卷积神经网络,包括4个卷积层。4个卷积层的过滤器大小分别为9*1、7*1、7*1、1025*1,步长分别为3、3、3、1,过滤器深度分别为32、16、8、1。鉴别器采用二维卷积神经网络,包括3个卷积层和1个全连接层。3个卷积层的过滤器大小分别为7*1、7*1、115*1,步长均为3,过滤器深度分别为16、32、64。

1.7)将1.6)得到的生成的说话人频谱包络特征x′和1.2)得到的训练语料的频谱包络特征x作为鉴别器的输入,训练鉴别器,使鉴别器的损失函数ld尽量大。

1.8)重复1.5)、1.6)和1.7),直至达到迭代次数,从而得到训练好的vawgan网络,其中编码器参数φ、生成器参数θ、鉴别器参数ψ为训练好的参数。本实验中选择迭代次数为200000次。

1.9)使用对数基频logf0的均值和方差建立基音频率转换关系,统计出每个说话人的对数基频的均值和方差,利用对数域线性变换将源说话人对数基频logf0转换得到目标说话人语音基频logf0′。

基频转换函数为:

其中,μs和σs分别为源说话人的基频在对数域的均值和方差,μt和σt分别为目标说话人的基频在对数域的均值和方差。

转换阶段实施步骤:

2.1)将源说话人语音通过world语音分析/合成模型提取出源说话人的不同语句的频谱包络特征x、非周期性特征、对数基频logf0。其中由于fft长度设置为1024,因此得到的频谱包络特征x和非周期性特征均为1024/2+1=513维。

2.2)将2.1)提取的源说话人语音的频谱包络特征x,作为1.4)中训练好的文本编码器的输入数据,得到预测的源说话人的句子嵌入

2.3)将2.1)提取的源说话人语音的频谱包络特征x,作为vawgan中编码器的输入数据,得到说话人无关的语义特征z。

2.4)将2.2)得到的句子嵌入与2.3)得到的语义特征z、说话人表征y作为联合特征输入1.7)训练好的vawgan网络,从而重构出目标说话人频谱包络特征x′。

2.5)通过1.9)得到的基音频率转换函数,将2.1)中提取出的源说话人对数基频logf0转换为目标说话人的对数基频logf0′

2.6)将2.4)中得到的目标说话人频谱包络特征x′、2.5)中得到的目标说话人的对数基频logf0′和2.1)提取的非周期性特征通过world语音分析/合成模型合成转换后的说话人语音。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1