非平行文本条件下基于i向量的多对多说话人转换方法与流程

文档序号:16929134发布日期:2019-02-22 20:06阅读:203来源:国知局
非平行文本条件下基于i向量的多对多说话人转换方法与流程

本发明涉及一种多对多说话人转换方法,特别是涉及一种非平行文本条件下基于i向量的多对多说话人转换方法。



背景技术:

语音转换是语音信号处理领域的研究分支,是在语音分析、识别和合成的研究基础上进行的,同时在此基础上发展起来的。语音转换的目标是改变源说话人的语音个性特征,使之具有目标说话人的语音个性特征,也就是使一个人说的语音经过转换后听起来像是另一个人说的语音,同时保留语义。

语音转换技术经过多年的研究,已经涌现了很多的经典转换方法。其中包括高斯混合模型(gaussianmixedmodel,gmm)、频率弯折、深度神经网络(dnn)等大多数的语音转换方法。但是这些语音转换方法大多要求用于训练的语料库是平行文本的,即源说话人和目标说话人需要发出语音内容、语音时长相同的句子,并且发音节奏和情绪等尽量一致。然而在语音转换的实际应用中,获取大量的平行语料殊为不易,甚至无法满足,此外训练时语音特征参数对齐的准确性也成为语音转换系统性能的一种制约。无论从语音转换系统的通用性还是实用性来考虑,非平行文本条件下语音转换方法的研究都具有极大的实际意义和应用价值。

现有的非平行语音转换方法有基于最近邻搜索和转换函数的迭代训练的方法(inca)、基于条件变分自编码器(c-vae)的方法等。基于条件变分自编码器(c-vae)模型的语音转换方法,直接利用说话人的身份标签建立语音转换系统,这种语音转换系统在模型训练时不需要对源说话人和目标说话人的语音帧进行对齐,可以解除对平行文本的依赖。但是由于c-vae基于理想的假设,认为观察到的数据通常是遵循高斯分布的,并且在各个维度上是不相关的,因此c-vae在转换效果上并不尽如人意。基于条件变分自编码器和生成对抗网络(vawgan)的方法将wasserstein生成对抗网络(w-gan)合并到解码器中来改进c-vae,其在语音质量上有所提升。但是由于vawgan仍然仅使用了说话人的身份标签去建立语音转换系统,而说话人的身份标签并不能充分表达说话人的个性化特征,因此转换后的语音在语音相似度上仍未得到改善。



技术实现要素:

发明目的:本发明要解决的技术问题是提供一种非平行文本条件下基于i向量的多对多说话人转换方法,在既可以转换平行文本也可以转换非平行文本的同时,有效地提高了转换后语音的个性相似度。

技术方案:本发明所述的非平行文本条件下基于i向量的多对多说话人转换方法,包括训练阶段和转换阶段,其中所述训练阶段包括以下步骤:

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

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

(1.3)将频谱包络特征x、说话人标签y和说话人i向量i输入vawgan网络模型进行训练,vawgan网络模型由编码器、生成器和鉴别器组成;

(1.4)训练过程使生成器的损失函数尽量小,使鉴别器的损失函数尽量大,直至设置的迭代次数,得到训练好的vawgan网络;

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

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

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

(2.2)将上述频谱包络特征x、目标说话人标签特征y、目标说话人i向量i输入(1.4)中训练好的vawgan网络,从而重构出目标说话人频谱包络特征x′;

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

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

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

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

(2)将上述语义特征z与说话人标签特征y、说话人i向量i输入生成器进行训练,使生成器的损失函数尽量小,得到生成的说话人频谱包络特征x′;

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

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

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

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

(2)将得到的语义特征z与目标说话人标签特征y、目标说话人i向量i输入到所述的生成器中,重构出目标说话人频谱包络特征x′。

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

进一步的,所述的生成器采用二维卷积神经网络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与i向量相结合来实现语音转换系统,由于i向量可以充分表达各说话人个性化特征,因此本方法与现有方法比,能够较好地提升转换后语音的个性相似度和语音质量,实现了一种高质量的语音转换方法。此外,本方法解除对平行文本的依赖,实现了非平行文本条件下的语音转换,而且训练过程不需要任何对齐过程,提高了语音转换系统的通用性和实用性,本方法还可以将多个源-目标说话人对的转换系统整合在一个转换模型中,即实现多说话人对多说话人转换。本方法在跨语种语音转换、电影配音、语音翻译等领域有较好的应用前景。

附图说明

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

具体实施方式

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

训练阶段实施步骤为:

1.1)获取非平行文本的训练语料,训练语料是多名说话人的语料,包含源说话人和目标说话人。训练语料取自vcc2018语音语料库。该语料库的训练集中有4个男性和4个女性说话人,每个说话人有80句语料。本方法既可以在平行文本下实现转换,也可以在非平行文本下实现转换,所以这些训练语料也可以是非平行文本的。

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

i向量是在高斯混合模型-通用背景模型(gmm-ubm)超向量和信道分析的基础上提出的一种新型的低维定长特征向量,i向量可以通过kaldi框架提取得到。

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

本实施例中的vawgan网络以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)),由多层神经网络确定。其中qφ(z|x)为编码器,pθ(x|z)为解码器。因此,右边两项可以分别简化为:

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

d为x的样本数。

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

其中it为说话人的i向量。

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

优化目标为:

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

优化目标为:

1.4)将1.3)得到的训练语料的语义特征z与说话人标签特征y、说话人i向量i作为联合特征(z,y,i)输入解码器进行训练。其中y为每一个说话人的标签,在本方法中,采用8个说话人进行训练,对每一个说话人进行标号,8个参与训练的说话人分别标为0、1、2、3、4、5、6、7。解码器由生成器和鉴别器组成。训练生成器,使生成器的损失函数lg尽量小,得到生成的说话人频谱包络特征x′。说话人i向量是利用说话人的训练语料进行提取得到,每个说话人得到一个表示说话人特征的i向量。生成器采用二维卷积神经网络,包括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.5)将1.4)得到的生成的说话人频谱包络特征x′和1.2)得到的训练语料的频谱包络特征x作为鉴别器的输入,训练鉴别器。使鉴别器的损失函数ld尽量大。

1.6)重复1.3)、1.4)和1.5),直至达到迭代次数,从而得到训练好的vawgan网络,其中编码器参数φ、生成器参数θ、鉴别器参数ψ为训练好的参数。由于神经网络具体设置不同以及实验设备性能不同,选择的迭代次数也各不相同。本实验中选择迭代次数为100000次。

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

基频转换函数为:

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

转换阶段实施步骤为:

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

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

2.3)将2.2)得到的语义特征z与目标说话人标签特征y、目标说话人i向量i作为联合特征(z,y,i)输入1.6)训练的vawgan网络,从而重构出目标说话人频谱包络特征x′。

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

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

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