基于改进的STARGAN和x向量的多对多说话人转换方法

文档序号:1639666 发布日期:2019-12-20 浏览:28次 >En<

阅读说明:本技术 基于改进的STARGAN和x向量的多对多说话人转换方法 (Many-to-many speaker conversion method based on improved STARGAN and x vectors ) 是由 李燕萍 曹盼 张燕 于 2019-09-17 设计创作,主要内容包括:本发明公开了一种基于改进的STARGAN与x向量的多对多说话人转换方法,包括训练阶段和转换阶段,使用了改进的STARGAN与x向量相结合来实现语音转换系统,该方法是对STARGAN在语音转换应用中的进一步改进,其中,提出的两步式对抗性损失能够有效解决由于循环一致性损失利用L1造成的过平滑问题,而且生成器采用2-1-2D CNN网络,能够较好地提升模型对于语义的学习能力以及语音频谱的合成能力,克服STARGAN中转换后语音相似度与自然度较差的问题。同时x向量对于短时话语具有更好的表征性能,能够充分表征说话人的个性特征,实现了一种非平行文本条件下的高质量多对多语音转换方法。(The invention discloses a many-to-many speaker conversion method based on improved STARGAN and x vectors, which comprises a training phase and a conversion phase, wherein an improved STARGAN is combined with the x vectors to realize a voice conversion system, the method is a further improvement of the STARGAN in voice conversion application, wherein the provided two-step antagonism loss can effectively solve the problem of over-smoothing caused by using L1 due to cyclic consistency loss, and a generator adopts a 2-1-2D CNN network, so that the learning capability of the model on semantics and the synthesis capability of a voice spectrum can be better improved, and the problem of poor similarity and naturalness of the converted voice in the STARGAN is solved. Meanwhile, the x vector has better representation performance for short-time speech, can fully represent the individual characteristics of a speaker, and realizes a high-quality many-to-many speech conversion method under the condition of non-parallel texts.)

基于改进的STARGAN和x向量的多对多说话人转换方法

技术领域

本发明涉及一种多对多说话人转换方法,特别是涉及一种基于改进的STARGAN和x向量的多对多说话人转换方法。

背景技术

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

语音转换技术经过多年的研究,已经涌现了很多的经典转换方法。其中包括高斯混合模型(Gaussian Mixed Model,GMM)、递归神经网络(Recurrent Neural Network,RNN)、深度神经网络(Deep Neural Networks,DNN)等大多数的语音转换方法。但是这些语音转换方法大多要求用于训练的语料库是平行文本,即源说话人和目标说话人需要发出语音内容、语音时长相同的句子,并且发音节奏和情绪等尽量一致。但是收集这些数据很耗时并且即使获得这些平行数据,仍然很难解决问题,因为大多数语音转换方法依赖数据准确的时间对齐,而这又是一个很艰难的过程,这就使大多数平行数据产生语音特征参数对齐不准确问题,所以训练时语音特征参数对齐的准确性会成为语音转换性能的一种制约。此外在跨语种转换、医疗辅助患者语音转换等实际应用中也无法获取平行语音。因此,无论从语音转换系统的通用性还是实用性来考虑,非平行文本条件下语音转换方法的研究都具有极大的实际意义和应用价值。

现有的非平行文本条件下的语音转换方法有基于循环一致对抗网络(Cycle-Consistent Adversarial Networks,Cycle-GAN)的方法、基于条件变分自编码器(ConditionalVariational Auto-Encoder,C-VAE)的方法等。基于C-VAE模型的语音转换方法,直接利用说话人的身份标签建立语音转换系统,其中编码器对语音实现语义和个性信息的分离,解码器通过语义和说话人身份标签来实现语音的重构,从而可以解除对平行文本的依赖。但是由于C-VAE基于改进的理想假设,认为观察到的数据通常遵循高斯分布,导致解码器的输出语音过度平滑,转换后的语音质量不高。基于Cycle-GAN模型的语音转换方法利用对抗性损失和循环一致损失,同时学***滑问题,改善转换语音质量,但是Cycle-GAN只能实现一对一的语音转换。

基于星型生成对抗网络(Star Generative Adversarial Network,STARGAN)模型的语音转换方法同时具有C-VAE和Cycle-GAN的优点,由于该方法的生成器具有编解码结构,可以同时学***行文本条件下多对多的语音转换。在STARGAN中,引入对抗性损失可以有效缓解统计平均造成的过平滑问题,但是利用L1表示的循环一致性损失仍会导致过平滑。此方法由于生成器采用的二维卷积神经网络,并不能有效捕获语音的时序信息,更重要的是生成器中的编码网络与解码网络之间相互独立,直接通过生成器的编码网络无法较好地实现语义特征与说话人个性化特征的分离,同时生成器的解码网络也无法较好地实现语义特征与说话人个性特征的合成,而且此方法中说话人的身份标签并不能充分表达说话人的个性化特征,因此转换后的语音在在语音质量和个性相似度上仍有待提升。

发明内容

发明目的:本发明要解决的技术问题是提供一种基于改进的STARGAN和x向量的多对多说话人转换方法,提出的两步式对抗性损失能够有效解决由于循环一致性损失利用L1造成的过平滑问题,而且生成器采用2-1-2D CNN网络,能够较好地提升模型对于语义的学习能力以及语音频谱的合成能力,克服STARGAN中转换后语音相似度与自然度较差的问题,降低编码网络对于语义的学习难度,提高解码网络的频谱生成质量,并利用x向量充分表征说话人的个性化特征,有效地提高了转换后语音的个性相似度。

技术方案:本发明所述的基于改进的STARGAN和x向量的多对多说话人转换方法,包括训练阶段和转换阶段,所述训练阶段包括以下步骤:

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

(1.2)将所述的训练语料通过WORLD语音分析/合成模型,提取出各说话人语句的频谱包络特征x、基频特征以及代表各说话人个性化特征的x向量X-vector;

(1.3)将源说话人的频谱包络特征xs、目标说话人的频谱包络特征xt、源说话人标签cs和x向量X-vectors,以及目标说话人标签ct和x向量X-vectort,输入到STARGAN-X网络进行训练,所述的STARGAN-X网络由生成器G、鉴别器D和分类器C组成,所述的生成器G采用2-1-2D网络结构,由编码网络、解码网络以及ResNet层构成,其中编码网络和解码网络采用二维卷积神经网络,在编码网络与解码网络之间搭建至少1层ResNet,所述ResNet采用一维卷积神经网络;

(1.4)训练过程使生成器G的损失函数、鉴别器D的损失函数、分类器C的损失函数尽量小,直至设置的迭代次数,得到训练好的STARGAN-X网络;

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

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

(2.1)将待转换语料中源说话人的语音通过WORLD语音分析/合成模型提取出频谱包络特征xs′、非周期性特征和基频;

(2.2)将上述源说话人频谱包络特征xs′、目标说话人标签特征ct′、目标说话人x向量X-vectort′输入(1.4)中训练好的STARGAN-X网络,重构出目标说话人频谱包络特征xtc′;

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

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

进一步的,生成器G的编码网络与解码网络之间搭建ResNet为6层。

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

(1)将源说话人的频谱包络特征xs输入生成器G的编码网络,得到说话人无关的语义特征G(xs);

(2)将上述得到的语义特征G(xs)与目标说话人的标签特征ct、目标说话人的x向量X-vectort一同输入到生成器G的解码网络进行训练,在训练过程中最小化生成器G的损失函数,从而得到目标说话人的频谱包络特征xtc

(3)将上述得到的目标说话人的频谱包络特征xtc,再次输入到生成器G的编码网络,得到说话人无关的语义特征G(xtc);

(4)将上述得到的语义特征G(xtc)与源说话人标签特征cs、源说话人x向量X-vectors输入到生成器G的解码网络进行训练,在训练过程中最小化生成器G的损失函数,得到重构源说话人的频谱包络特征xsc,并将xsc和源说话人的标签特征cs输入到鉴别器D中进行训练,最小化鉴别器D的损失函数;

(5)将目标说话人的频谱包络特征xtc、目标说话人频谱特征xt以及目标说话人的标签特征ct一同输入到鉴别器D中进行训练,最小化鉴别器D的损失函数;

(6)将目标说话人的频谱包络特征xtc和目标说话人的频谱包络特征xt输入分类器C进行训练,最小化分类器C的损失函数;

(7)回到步骤(1)重复上述步骤,直至达到迭代次数,从而得到训练好的STARGAN-X网络。

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

(1)将源说话人的频谱包络特征xs′输入生成器G的编码网络,得到说话人无关的语义特征G(xs)′;

(2)将上述得到的语义特征G(xs)′与目标说话人的标签特征ct′、目标说话人的x向量X-vectort′一同输入到生成器G的解码网络,得到目标说话人的频谱包络特征xtc′。

进一步的,所述的生成器G的损失函数为:

其中,λcls>=0、λcyc>=0和λid>=0是正则化参数,分别表示分类损失、循环一致性损失和特征映射损失的权重,Lcyc(G)、Lid(G)分别表示生成器的两步式对抗损失、分类器优化生成器的分类损失、循环一致损失、特征映射损失;

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

其中,表示鉴别器D的一步对抗损失,表示鉴别器的二步对抗损失,D(xs,cs)、D(xt,ct)分别表示鉴别器D判别真实源、目标频谱特征,G(xs,ct,X-vectort)表示生成器G生成的目标说话人频谱特征,D(G(xs,ct,X-vectort),ct)表示鉴别器判别生成的频谱特征,D(G(G(xs,ct,X-vectort),cs)为鉴别器判别重构的源说话人频谱特征,表示生成器G生成的概率分布的期望,表示真实概率分布的期望,表示重构的源说话人频谱特征的概率分布的期望;

所述的分类器C采用二维卷积神经网络,损失函数为:

其中,pC(ct|xt)表示分类器C判别目标说话人特征为标签ct的真实频谱的概率。

进一步的,

其中,表示生成器的一步对抗损失,表示生成器的二步对抗损失;

其中,表示生成器生成的概率分布的期望,G(xs,ct,X-vectort)表示生成器生成频谱特征;

其中,pC(ct|G(xs,ct,X-vectort))表示分类器判别生成目标说话人频谱标签属于ct的概率,G(xs,ct,X-vectort)表示生成器生成的目标说话人频谱;

其中,G(G(xs,ct,X-vectort),cs)为重构的源说话人频谱特征,为重构源说话人频谱和真实源说话人频谱的损失期望;

其中,G(xs,cs,X-vectors)为源说话人频谱、说话人标签和x向量,输入到生成器后得到的源说话人频谱特征,为xs和G(xs,cs,X-vectors)的损失期望。

进一步的,所述的生成器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。

进一步的,所述的鉴别器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。

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

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

有益效果:本方法能够使用改进的STARGAN与X-vector向量相结合来实现平行文本和非平行文本条件下的多对多说话人语音转换,在现有的网络结构中,引入一个额外的鉴别器,对循环转换的特征施加一个对抗损失,对每一次的循环使用对抗损失两次,即两步式对抗性损失,本方法能够有效解决循环一致性损失利用L1造成的过平滑问题;生成器采用2-1-2D CNN网络结构,通过在生成器的编码网络和解码网络之间搭建ResNet,主要转换在ResNet层实现,由于2D CNN更适合在保留语音特征原始结构的同时转换特征,因此在ResNet层提出利用1D CNN结构,相比2DCNN,本结构可以更好地捕捉语音信息的动态变化,而在生成器的编码网络和解码网络采用2D CNN,能够更加广泛捕获特征,即本方法中提出的2-1-2D CNN网络结构能够有效克服STARGAN网络退化所造成的语音特征丢失问题,提高生成器的编码网络对语义的提取能力,同时提高生成器的解码网络对语音的转换能力。本方法是对STARGAN网络在语音转换应用中的进一步改进。

此外,X-vector向量对于短时话语具有更好的表征性能,能够充分表征说话人的个性特征,实现了一种高质量的语音转换方法。本方法能够实现非平行文本条件下的语音转换,而且训练过程不需要任何对齐过程,提高了语音转换系统的通用性和实用性,本方法还可以将多个源-目标说话人对的转换系统整合在一个转换模型中,即实现多说话人对多说话人转换,在跨语种语音转换、电影配音、语音翻译等领域有较好的应用前景。

附图说明

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

图2是本方法的模型STARGAN-X的生成器的网络结构图。

具体实施方式

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

训练阶段实施步骤为:

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

1.2)训练语料通过WORLD语音分析/合成模型提取出各说话人语句的频谱包络特征x、非周期性特征、对数基频log f0。同时提取出代表各说话人个性化特征的x向量X-vector。其中由于快速傅氏变换(Fast Fourier Transformation,FFT)长度设置为1024,因此得到的频谱包络特征x和非周期性特征均为1024/2+1=513维。每一个语音块有512帧,从频谱包络特征中提取36维的梅尔倒谱系数(MCEP)特征,一次训练时取8个语音块。因此,训练语料的维度为8*36*512。

在实际应用中,待转换者的语音长度相对较短,使用传统的说话人表征i向量i-vector转换语音效果一般。X-vector是利用DNN提取的一种新型低维定长嵌入,由于DNN具有极强的特征提取能力,对于短时语音,X-vector具有更好的表征能力。该网络是在Kaldi语音识别工具中使用nnet3神经网络库实现。X-vector和i-vector的主要区别在于提取方法的不同,提取X-vector的系统结构如表1示,X-vector系统由frame层、stats pooling层、segment层以及softmax层构成。T表示输入所有语音帧,N表示训练说话人的数量,训练语料取自VCC2018语音语料库,所以N为12。

表1提取X-vector的系统结构表

层上下文 总上下文 输入×输出
frame1 [t–2,t+2] 5 120×512
frame2 {t-2,t,t+2} 9 1536×512
frame3 {t–3,t,t+3} 15 1536×512
frame4 {t} 15 512×512
frame5 {t} 15 512×1500
stats pooling [0,T) T 1500T×3000
segment6 {0} T 3000×512
segment7 {0} T 512×512
softmax {0} T 512×N

X-vector系统中的DNN具有时延结构,首先拼接上下文5帧为1个新的帧集合,再以新的帧集合为中心,拼接上下文4帧为1个新的帧集合,以此类推到拼接15帧为新的帧集合作为DNN的输入,输入的特征是23维MFCC特征,帧长为25ms。stats pooling层聚合frame5层的所有T帧输出,并计算均值和标准差。统计量为1500维向量,在每个输入语音段上计算一次,然后将这些统计信息连接在一起传递到segment层。最后由softmax层输出一个后验概率输出神经元的个数和训练集中说话人个数一致。X-vector系统使用下述公式对训练的说话人进行分类。

DNN网络训练的损失函数为:

n表示输入的语音,k表示各个说话人,表示softmax层给出输入语音属于说话人k的后验概率,dnk表示只有当语音的说话人为k时才等于1,否则为0。

DNN不仅仅是一个分类器,而且是一个特征提取器和分类器的结合,每一层都有极强的特征提取能力。经过训练以后,segment层可以用来提取语音的X-vector,如表1所示,利用剩余结构在segment6处提取512维的X-vector。当X-vector提取好以后,和i-vector一样,利用概率线性判别分析后端来计算X-vector之间的相似度。

1.3)本实施例中的STARGAN网络以Cycle-GAN模型为基础,通过改善GAN的结构,以及结合分类器,来提升Cycle-GAN效果。STARGAN由三部分组成:一个产生真实的频谱的生成器G,一个判断输入是真实的频谱还是生成的频谱的鉴别器D,以及一个判别生成频谱的标签是否属于ct的分类器C。

STARGAN-X网络的目标函数为:

其中,IG(G)为生成器的损失函数:

其中,λcls>=0、λcyc>=0和λid>=0是正则化参数,分别表示分类损失、循环一致性损失和特征映射损失的权重。Lcyc(G)、Lid(G)分别表示生成器的两步式对抗损失、分类器优化生成器的分类损失、循环一致损失、特征映射损失。

鉴别器的损失函数为:

其中,表示鉴别器的一步对抗损失,即鉴别器判别生成目标频谱特征和真实频谱特征的目标损失函数,表示鉴别器的二步对抗损失,即鉴别器判别生成的频谱再次经过生成器后生成的源频谱特征和真实源频谱特征的目标损失函数,D(xs,cs)、D(xt,ct)分别表示鉴别器D判别真实源、目标频谱特征。G(xs,ct,X-vectort)表示生成器G生成的目标说话人频谱特征,D(G(xs,ct,X-vectort),ct)表示鉴别器判别生成的频谱特征,D(G(G(xs,ct,X-vectort),cs)为鉴别器判别重构的源说话人频谱特征,表示生成器G生成的概率分布的期望,表示真实概率分布的期望,表示重构的源说话人频谱特征的概率分布的期望;

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

其中,pC(ct|xt)表示分类器判别目标说话人特征为标签ct的真实频谱的概率。

1.4)将1.2)中提取的源说话人频谱包络特征xs与目标说话人标签特征ct、x向量X-vectort作为联合特征(xs,ct,X-vectort)输入生成器进行训练。训练生成器,使生成器的损失函数LG尽量小,得到生成目标说话人频谱包络特征xtc

生成器采用2-1-2D CNN结构,由编码网络、解码网络以及ResNet层构成。编码网络包括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。解码网络包括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,在编码网络与解码网络之间建立若干层ResNet层,采用一维卷积神经网络1D CNN,本实施例ResNet层优选为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、源说话人x向量X-vectors输入到生成器G的解码网络进行训练,在训练过程中最小化生成器G的损失函数,得到重构源说话人的频谱包络特征xsc。在训练过程中最小化生成器的损失函数,包括生成器的两步式对抗损失、循环一致损失、特征映射损失以及生成器的分类损失。其中,提出的生成器的两步式对抗损失,是在STARGAN网络的对抗损失上,进一步提出对循环转换的特征施加对抗损失,该方法能够有效解决循环一致性损失利用L1造成的过平滑问题。训练循环一致损失是为了使源说话人频谱特征xs在经过生成器G后,所重构的源说话人频谱特征xsc可以和xs尽可能保持一致。训练特征映射损失,是为了保证xs在经过生成器G后说话人标签仍是cs、分类损失指分类器判别生成器所生成的目标说话人频谱xtc属于标签ct的概率损失。

生成器的损失函数为:

优化目标为:

其中,λcls>=0、λcyc>=0和λid>=0是正则化参数,分别表示分类损失、循环一致性损失和特征映射损失的权重。

表示GAN中生成器的两步式对抗损失:

其中,表示生成器的一步对抗损失,表示生成器的二步对抗损失;

其中,表示生成器生成的概率分布的期望,G(xs,ct,X-vectort)表示生成器生成频谱特征,和鉴别器的损失构成STARGAN-X中两步式对抗损失,用来判别输入鉴别器的频谱是真实频谱还是生成频谱,在训练过程中尽可能小,生成器不断优化,直至生成能够以假乱真的频谱特征G(xs,ct,X-vectort),使得鉴别器难以判别真假。

为分类器C用来优化生成器的分类损失:

其中,pC(ct|G(xs,ct,X-vectort))表示分类器判别生成目标说话人频谱标签属于ct的概率,G(xs,ct,X-vectort)表示生成器生成的目标说话人频谱。在训练过程中,尽可能小,使得生成器G生成的频谱G(xs,ct,X-vectort)能够被分类器正确分类为标签ct

Lcyc(G)和Lid(G)借鉴Cycle-GAN模型中生成器的损失,Lcyc(G)为生成器G中循环一致损失:

其中,G(G(xs,ct,X-vectort),cs)为重构的源说话人频谱特征,为重构源说话人频谱和真实源说话人频谱的损失期望。在训练生成器的损失中,Lcyc(G)尽可能小,使生成目标频谱G(xs,ct,X-vectort)、源说话人标签cs再次输入到生成器后,得到的重构源说话人语音频谱尽可能和xs相似。通过训练Lcyc(G),可以有效保证说话人语音的语义特征,在经过生成器的编码以后不被损失。

Lid(G)为生成器G的特征映射损失:

其中,G(xs,cs,X-vectors)为源说话人频谱、说话人标签和x向量,输入到生成器后得到的源说话人频谱特征,为xs和G(xs,cs,X-vectors)的损失期望。训练Lid(G),可以有效保证输入频谱的标签cs和说话人表示向量X-vectors在输入生成器后仍保持不变。

1.7)将上述生成的目标说话人频谱包络特征xtc和目标说话人的频谱包络特征xt输入分类器进行训练,最小化分类器的损失函数;

分类器采用二维卷积神经网络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.8)重复1.4)、1.5)、1.6)和1.7),直至达到迭代次数,从而得到训练好的STARGAN-X网络,其中生成器参数φ、鉴别器参数θ、分类器参数ψ为训练好的参数。由于神经网络具体设置不同以及实验设备性能不同,选择的迭代次数也各不相同。本实验中选择迭代次数为20000次。

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

基频转换函数为:

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

转换阶段实施步骤为:

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

2.2)将2.1)提取的源说话人语音的频谱包络特征xs′与目标说话人标签特征ct′、目标说话人x向量X-vectort′作为联合特征(xs′,ct′,X-vectort′)输入1.8)训练的STARGAN-X网络,从而重构出目标说话人频谱包络特征xtc′。

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

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

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于Perceptual STARGAN的多对多说话人转换方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!