基于自回归网络的非平行语料语音转换方法及系统
技术领域
本发明涉及语音转换领域,尤其是涉及了一种保持输入语音内容不变但是音色转换成目标说话人音色的方法及系统。
背景技术
语音转换旨在修改原说话人的声音,使得音色接近目标说话人,同时保证转换后语音内容不变。语音转换是人工智能领域一个很重要的研究课题,并具有广泛的应用,例如情感语音转换、歌唱转换、个性化转换等等。
传统语音转换技术通常需要平行语料,即原说话人和目标说话人讲述相同的内容。基于平行语料的语音转换框架,首先采用动态时间规整技术,获取源语音和目标语音声学特征的映射关系。然后采用转换模型,将源语音的声学特征映射到目标语音的声学特征上。最近,研究者提出基于序列到序列模型(seq2seq)的平行语料的语音转换框架,与传统方法相比,这种方法可以达到更好的自然度和说话人相似度。然而,也存在着发音错误和训练不稳定等问题。
当平行语料不可获取时,也有研究者提出基于非平行语料的语音转换框架。变分自编码器已成功应用于非平行语料的语音转换任务,但是变分自编码器转换得到的语音存在“过平滑”的问题。为了解决这个问题,研究者提出基于生成对抗网络的平行语料的语音转换框架,采用判别器减少转换语音和真实语音之间的差异。但是,这种方法较难训练,而且判别器学习到的区分能力可能和人的听感存在差异,从而降低转换语音的音质。最近,基于音素后延概率的非平行语料的语音转换框架得到了广泛应用。该语音转换框架主要包括两部分内容:转换模型和声码器。转换模型将音素后延概率转换为目标说话人的声学特征。声码器使用这些转换后的特征来合成语音波形。但是,在实际测试过程中,我们发现存在波形轨迹不平滑的问题,从而导致一些发音错误的情况。
发明内容
为解决现有技术的不足,实现提高转换语音的音质和说话人相似性的目的,本发明采用如下的技术方案:
基于自回归网络的非平行语料语音转换方法,包括如下步骤:
S1,音素后延概率抽取,利用预先训练好的说话人无关的语音识别模型,从输入语音中抽取音素后延概率特征,作为文本特征表示;
S2,编码阶段,利用卷积神经网络和门控循环单元,捕获音素后延概率特征中的上下文信息,从而获取融合上下文信息的文本特征表示;提升了转换后语音的自然度和说话人相似度;
S3,利用自适应注意力机制,对当前时刻的文本特征和上一时刻的声学特征进行融合,获取增广的特征表示;使得生成波形轨迹更加平滑,同时减少了发音错误的情况;
S4,解码阶段,基于增广的特征表示,采用长短时记忆网络预测目标说话人的声学特征;
S5,语音生成,基于预测的目标说话人的声学特征,利用声码器合成语音。
所述步骤S1,首先基于大规模语料,训练一套说话人无关的语音识别系统,然后将待测语音输入到语音识别系统中,获取音素后延概率,作为其文本特征表示。
所述步骤S2,包括如下步骤:
S21,将从语音中抽取的音素后延概率特征标记为X=[x1,x2,…,xN],其中xi表示语音中第i帧的音素后延概率;
S22,将X输入到多层感知机中进行特征变换:
X1=Dropout(XW1+b1)
X2=Dropout(X1W2+b2)
其中,W1,W2,b1,b2为可训练参数,Dropout(*)可以有效缓解过拟合问题,在一定程度上达到正则化的效果;
S23,将X2输入到多个一维卷积神经网络中,这些卷积神经网络的卷积核大小不同,从而能够提取不同长度的上下文信息,然后将多个卷积神经网络的输出结果堆叠起来,作为融合上下文信息的特征表示,上述操作标记为ConvBank(*),X3=ConvBank(X2);
S24,将X3输入到最大池化网络中,获取压缩后的特征表示,上述操作标记为MaxPooling(*),X4=MaxPooling(X3);
S25,将X4输入到highway模块,控制输出信息,并缓解过拟合问题,公式如下:
H=ReLU(X4WH)
T=sigmoid(X4WT)
C=1-T
X5=H⊙T+X4⊙C
其中WH,WT为可训练参数,ReLU(*)为线性整流函数,sigmoid(*)将特征映射到(0,1),⊙为点乘操作,即矩阵元素按对应位置相乘;
S26,将X5输入到双向门控循环单元网络中,进一步捕获文本中的上下文信息,设X5=[f1,f2,…,fN],其中fj表示第j帧的特征表示:
其中
表示正向门控循环单元的输出,
表示反向门控循环单元的输出,每个方向的门控循环单元,将上一时刻的隐层状态特征以及当前时刻的输入特征f
j作为输入信息,将正向门控循环单元的输出
和反向门控循环单元的输出
拼接起来,作为融合上下文信息的特征表示:
S27,将编码阶段输出结果标记为R=[r1,r2,…,rN]。
所述步骤S3,包括如下步骤:
S31,设解码阶段预测的声学特征为O=[o1,o2,…,oN],其中oj表示预测的第j帧声学特征;
S32,对于第j帧而言,自适应注意力机制将当前时刻文本特征rj和上一时刻预测的声学特征oj-1进行融合,获取增广的特征表示,公式如下:
fcat=Concat(oj-1Wo,rjWr)
αatt=softmax(tanh(fcatWf)wf)
其中Wo,Wr,Wf,wf为可训练参数,Concat(*)为特征拼接操作,fcat表示拼接后的特征参数,tanh(*)表示双曲正切函数,αatt为两部分输入的权重系数,qj为加权融合后第j帧的输出结果;
S33,将注意力机制输出结果标记为Q=[q1,q2,…,qN]。
所述步骤S4,包括如下步骤:
S41,对于第j帧而言,长短时记忆网络的输入包括注意力机制第j帧的输出结果q
j以及上一时刻的隐层状态特征
公式如下:
其中LSTM(*)表示长短时记忆网络,Wo,bo为可训练参数;
S42,解码阶段预测的声学特征为O=[o1,o2,…,oN]。
所述步骤S5,基于解码阶段的预测结果O=[o1,o2,…,oN],利用LPCNet声码器合成语音。提升了转换后语音的自然度和说话人相似度。
基于自回归网络的非平行语料语音转换系统,包括音素后延概率抽取模块、编码模块、语音生成模块,以及一组注意力模块和解码模块,编码模块分别与音素后延概率抽取模块和注意力模块连接,解码模块分别与注意力模块和语音生成模块,后一注意力模块和解码模块分别与前一解码模块连接。
所述编码模块,包括自上而下依次连接的多层感知机模块、卷积神经网络模块、最大池化网络模块、highway模块和双向门控循环单元网络模块,多层感知机模块与音素后延概率抽取模块连接,双向门控循环单元网络模块与注意力模块连接。
所述语音生成模块包括LPCNet声码器。
本发明的优势和有益效果在于:
本发明提出了基于自回归网络的非平行语料语音转换框架,该框架基于两部分输入信息来预测下一时刻的声学参数:(1)上一时刻预测的声学特征;(2)当前时刻的音素后延概率。与基于序列到序列模型(seq2seq)的平行语料的语音转换框架相比,本发明删除了基于注意力的时长预测模块,减少了发音错误,并提升了系统的稳定性。与基于音素后延概率的非平行语料语音转换框架相比,本发明将上一时刻预测的声学特征作为下一时刻的输入,使得生成波形轨迹更加平滑,并减少了发音错误的情况。
附图说明
图1是本发明的系统结构图。
图2是本发明中音素后延概率抽取模块的结构示意图。
图3是本发明中编码模块的结构示意图。
图4是本发明中注意力模块的结构示意图。
图5是本发明中解码模块的结构示意图。
图6是本发明中语音生成模块的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
基于自回归网络的非平行语料语音转换方法,通过预先训练好的语音识别模型获取音素后延概率,利用卷积神经网络和门控循环单元建模文本中的上下文信息,利用自适应注意力机制融合当前时刻的文本特征和上一时刻的声学特征,利用长短时记忆网络预测目标说话人的声学特征,以及通过LPCNet声码器合成语音,提升了转换后语音的自然度和说话人相似度。
如图1所示,基于自回归网络的非平行语料语音转换系统,包括:音素后延概率抽取模块,利用预先训练好的说话人无关的语音识别模型,从输入语音中抽取音素后延概率,作为文本特征表示;编码模块,与音素后延概率抽取模块相连,利用卷积神经网络和门控循环单元,捕获音素后延概率特征中的上下文信息,从而获取融合上下文信息的文本特征表示;注意力模块,利用自适应注意力机制,对当前时刻的文本特征和上一时刻的声学特征进行融合,获取增广的特征表示;解码模块,与注意力模块相连,基于注意力模块的输出结果,采用长短时记忆网络预测目标说话人的声学特征;语音生成模块,与解码模块相连,基于解码模块的预测结果,利用LPCNet声码器合成语音。采用转换语音的音质和说话人相似性,判断语音转换系统的性能。
如图2所示,音素后延概率抽取模块,首先基于大规模语料,训练一套说话人无关的语音识别系统,然后将待测语音输入到语音识别系统中,获取音素后延概率,作为其文本特征表示。
如图3所示,编码模块,利用卷积神经网络和门控循环单元,捕获音素后延概率特征中的上下文信息,包括如下步骤:
1、将从语音中抽取的音素后延概率特征标记为X=[x1,x2,…,xN],其中xi表示语音中第i帧的音素后延概率;
2、将X输入到多层感知机模块中进行特征变换:
X1=Dropout(XW1+b1)
X2=Dropout(X1W2+b2)
其中,W1,W2,b1,b2为可训练参数,Dropout(*)可以有效缓解过拟合问题,在一定程度上达到正则化的效果;
3、将X2输入到多个一维卷积神经网络模块中,这些卷积神经网络的卷积核大小不同,从而能够提取不同长度的上下文信息,然后将多个卷积神经网络的输出结果堆叠起来,作为融合上下文信息的特征表示,上述操作标记为ConvBank(*),X3=ConvBank(X2);
4、将X3输入到最大池化网络模块中,获取压缩后的特征表示,上述操作标记为MaxPooling(*),X4=MaxPooling(X3);
5、将X4输入到highway模块,控制输出信息,并缓解过拟合问题,公式如下:
H=ReLU(X4WH)
T=sigmoid(X4WT)
C=1-T
X5=H⊙T+X4⊙C
其中WH,WT为可训练参数,ReLU(*)为线性整流函数,sigmoid(*)将特征映射到(0,1),⊙为点乘操作,即矩阵元素按对应位置相乘;
6、将X5输入到双向门控循环单元网络模块中,进一步捕获文本中的上下文信息,设X5=[f1,f2,…,fN],其中fj表示第j帧的特征表示:
其中
表示正向门控循环单元的输出,
表示反向门控循环单元的输出,每个方向的门控循环单元,将上一时刻的隐层状态特征以及当前时刻的输入特征f
j作为输入信息,将正向门控循环单元的输出
和反向门控循环单元的输出
拼接起来,作为融合上下文信息的特征表示:
7、将编码模块输出结果标记为R=[r1,r2,…,rN]。
如图4所示,注意力模块,利用自适应注意力机制,对当前时刻文本特征和上一时刻预测的声学特征进行融合,获取增广的特征表示,包括如下步骤:
1、设解码模块预测的声学特征为O=[o1,o2,…,oN],其中oj表示预测的第j帧声学特征;
2、对于第j帧而言,自适应注意力机制将当前时刻文本特征rj和上一时刻预测的声学特征oj-1进行融合,获取增广的特征表示,公式如下:
fcat=Concat(oj-1Wo,rjWr)
αatt=softmax(tanh(fcatWf)wf)
其中Wo,Wr,Wf,wf为可训练参数,Concat(*)为特征拼接操作,fcat表示拼接后的特征参数,tanh(*)表示双曲正切函数,αatt为两部分输入的权重系数,qj为加权融合后第j帧的输出结果;
3、将注意力模块输出结果标记为Q=[q1,q2,…,qN]。
如图5所示,解码模块,基于注意力模块的输出结果,采用长短时记忆网络预测目标说话人的声学特征,包括如下步骤:
1、对于第j帧而言,长短时记忆网络的输入包括注意力模块第j帧的输出结果q
j以及上一时刻的隐层状态特征
公式如下:
其中LSTM(*)表示长短时记忆网络,Wo,bo为可训练参数;当q1没有上一时刻的隐层状态特征,采用正交初始化;
2、解码模块预测的声学特征为O=[o1,o2,…,oN]。
如图6所示,语音生成模块,基于解码模块的预测结果O=[o1,o2,…,oN],利用LPCNet声码器合成语音。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。