基于稠密连接时延神经网络的多说话人中文语音合成方法



1.本发明属于语音合成技术领域,特别涉及一种基于稠密连接时延神经网络的多说话人语音合成方法。


背景技术:



2.语音合成是一种可以将任意输入文本转换成相应语音输出的技术,也是人机语音交互中不可或缺的技术之一,也在实际生活中得到了广泛的应用。随着科技的飞速发展,为了适用于更多应用,用户对于语音合成的需求正在不断增加。针对合成语音风格多样性的需求,最直观的方案是让每一个说话人录制数小时的高质量语料,然后为每一个说话人训练一个语音合成模型,在合成阶段根据用户指定的说话人选择相应的模型进行合成。但该方法的缺点也很突出,有几位说话人就要训练几个模型,这就增加了内存开销,同时合成语音的说话人风格只能局限在固定的已知说话人中,无法模仿训练中未知说话人的风格。
3.多说话人语音合成的主要目的是仅使用一个语音合成系统就能够合成出与不同说话人风格相似的任意语音,而不需要对于每一个说话人都训练一个单独的语音合成模型。此处的说话人风格具体指语音中说话人的音、口音、情感等特征。多说话人语音合成技术能够有效地利用不同说话人对于相同音素的发音中的相似性,在训练阶段不需要训练集中包含每一个目标说话人的大规模的平行语料库,而是仅需要由多个不同说话人的小规模语料库组成的大规模语料库,就可以模仿不同说话人的风格特征。相比于多个单说话人语音合成模型,多说话人语音合成模型能够减少存储开销,且在数据规模相同的情况下能够有效提高合成语音的自然度和多样性。
4.目前,已有一些主流的多说话人中文语音合成方法能够合成出与目标说话人风格相似的语音。其中大部分已有模型都需要单独训练一个额外的声纹验证网络,之后将该网络从参考语音中提取出的隐变量作为说话人特征表示,即说话人嵌入。并将该说话人嵌入与语音合成模型中得到的文本内容表示拼接起来组成条件文本表示,最后将得到的条件文本表示输入到语音合成模型的后续模块中进行合成。这类方法中声纹验证网络需要额外训练,导致整个多说话人语音合成方法的训练过程复杂繁琐,且该网络提取出的说话人嵌入是基于说话人分类任务训练得到的,并不一定适用于语音合成任务。此外,直观而言,在多说话人语音合成任务中,文本内容对于合成结果应起到主要作用,控制合成语音中表达的具体语义,说话人特征则起到辅助作用,控制合成语音中的音、口音和情感等特征。而大多数多说话人中文语音合成方法中使用拼接融合的方式生成条件文本表示,使得文本内容表示与说话人嵌入对语音合成结果起到了相似的作用,因此限制了合成语音的自然度和相似度。


技术实现要素:



5.本技术的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本技术的内容部分并不旨在标识要求保护的技术方案的关键特征或必
要特征,也不旨在用于限制所要求的保护的技术方案的范围。
6.针对现有技术中存在的问题与不足,本发明目的在于提供一种基于稠密连接时延神经网络的多说话人中文语音合成方法,利用基于稠密连接时延神经网络的多说话人中文语音合成网络中的说话人编码器模块从参考语音频谱中提取出说话人嵌入,该说话人编码器模块结构简单且参数量小,提取出的说话人嵌入融合了多层次信息,因此可以与多说话人中文语音合成网络中的其他模块一起优化,并在简化训练流程的同时能够提取出更适用于语音合成任务的说话人嵌入。其次,将多说话人中文语音合成网络中文本编码器模块的输出作为键和值,说话人编码器模块的输出作为查询,输入到编码器的放缩点积注意力机制中生成条件文本表示,使得说话人嵌入能够有效控制合成语音中的风格,能够有效提高合成语音的自然度和相似度,以解决上述背景技术中提出的问题。
7.为实现上述目的,本发明提供如下技术方案:
8.本发明公开一种基于稠密连接时延神经网络的多说话人中文语音合成方法,多说话人中文语音合成包括如下步骤:
9.步骤1,对输入的待合成中文文本进行预处理,将所述待合成中文文本的所有句子根据标点符号划分成多个子句,再将所述子句转换成子句拼音序列;
10.步骤2,对待合成的目标说话人语音进行预处理,将所述目标说话人语音转换为目标语音梅尔频谱,并从中截取出一段连续的频谱段作为合成参考语音频谱;
11.步骤3,训练一个基于稠密连接时延神经网络的多说话人中文语音合成系统,将所述子句拼音序列和合成参考语音频谱作为输入,得到所述子句合成输出的子句波形语音;
12.步骤4,根据原始所述子句的顺序将所有所述子句波形语音拼接起来得到最终生成的合成语音输出。
13.进一步的,步骤3中所述基于稠密连接时延神经网络的多说话人中文语音合成系统包括多说话人中文语音合成网络和声码器,所述多说话人中文语音合成系统的训练步骤包括有:
14.步骤3.1,对多说话人中文语音合成数据集中的训练数据进行预处理,将其中的训练中文文本转换为训练拼音序列,训练语音波形转换为训练梅尔频谱,所属同一说话人的所有训练梅尔频谱组成训练说话人频谱组;
15.步骤3.2,再根据所述训练拼音序列,从其所属说话人对应的所述训练说话人频谱组中随机选择一个梅尔频谱对其进行截取得到一段连续的频谱段,作为训练参考语音频谱;
16.步骤3.3,将所述训练拼音序列、训练梅尔频谱和训练参考语音频谱共同组成训练样本;
17.步骤3.4,定义基于稠密连接时延神经网络的多说话人中文语音合成网络,将所述训练样本作为输入进行训练输出预测梅尔频谱;
18.步骤3.5,使用所述多说话人中文语音合成数据集中所有所述训练梅尔频谱及其相应的训练语音波形训练声码器,将输入的所述预测梅尔频谱对应输出预测波形语音;
19.步骤3.6,组合训练完成的所述多说话人中文语音合成网络和声码器,得到训练完成的所述多说话人中文语音合成系统。
20.进一步的,步骤2和步骤3.2中所述截取一段连续的频谱段具体操作为:
21.若所述目标语音梅尔频谱或训练梅尔频谱的总长度小于所需的固定帧数,则对其进行复制使得所述目标语音梅尔频谱或训练梅尔频谱的总长度大于或等于固定帧数,之后再随机截取其中长度为固定帧数的连续频谱段;
22.若所述目标语音梅尔频谱或训练梅尔频谱的总长度大于或等于固定帧数,则直接随机截取其中长度为固定帧数的连续频谱段。
23.进一步的,当所述待合成中文文本和目标说话人语音进行合成相应语音输出时,其中目标说话人可以是在所述多说话人中文语音合成数据集中出现的已知说话人,也可以是未在所述多说话人中文语音合成数据集中出现的未知说话人。
24.进一步的,所述基于稠密连接时延神经网络的多说话人中文语音合成网络结构为:
25.e
text
=encoder
text
(x),
26.e
spk
=encoder
spk
(y
ref
),
27.e
cond
=attention
cond
(e
text
,e
spk
),
28.e
attn
=attention
dec
(e
cond
),
29.e
dec
=decoder
rnn
(e
attn
),
[0030][0031]
其中,encoder
text
表示编码器中的文本编码器模块,encoder
spk
表示编码器中的说话人编码器模块,attention
cond
表示编码器中的放缩点积注意力机制,attention
dec
表示解码器中的位置敏感注意力机制,decoder
rnn
表示解码器中的循环神经网络,postnet表示解码器中的后处理网络;x表示输入的子句拼音序列,y
ref
表示截取的参考语音频谱,e
text
表示编码器中文本编码器模块encoder
text
提取出的文本内容表示,e
spk
表示编码器中说话人编码器模块encoder
spk
提取出的说话人嵌入,e
cond
表示使用编码器中放缩点积注意力机制attention
cond
融合文本内容表示和说话人嵌入后得到的条件文本表示,e
attn
表示使用解码器中位置敏感注意力机制attention
dec
获得的输出,e
dec
表示解码器中循环神经网络decoder
rnn
输出的中间特征,为经过解码器中后处理网络postnet输出的频谱。
[0032]
进一步的,使用所述放缩点积注意力机制融合文本内容表示和说话人嵌入后得到的条件文本表示,其具体计算公式如下:
[0033]
k=w
ketext
+bk,
[0034]
v=w
vetext
+bv,
[0035]
q=w
qespk
+bq,
[0036][0037]
其中,k、v和q分别为所述放缩点积注意力机制中的键、值和查询,wk、wv、wq、bk、bv和bq为所述放缩点积注意力机制中计算键、值和查询中三个线性层的待训练参数,d表示为文本内容表示e
text
的维度。
[0038]
进一步的,所述位置敏感注意力机制的注意力权重计算公式为:
[0039]eij
=v
t
tanh(wssi+whhj+wff
ij
+b),
[0040][0041]
其中,si为第i步解码器隐状态,hj为第j步编码器隐状态,f
ij
为上一步的全部注意力权重α
i-1
经过卷积后得到的位置特征,v、ws、wh、wf和b均为待训练参数,l为编码的总长度。
[0042]
进一步的,所述说话人编码器模块中基于稠密连接时延神经网络模型的主体部分结构为:
[0043]
第一层为时延神经网络层,第二层至第七层均为稠密时延神经网络层,第八层为前向神经网络层,第九层至第二十层均为稠密时延神经网络层,第二十一层为前向神经网络层,第二十二层为计算所有帧均值和方差的池化层,第二十三层为前向神经网络层。
[0044]
进一步的,所述说话人编码器模块的稠密时延神经网络层包括基于所述前向神经网络的瓶颈层和时延神经网络层,并将它们使用残差连接,即将输入与所述时延神经网络层的输出加和后作为整个所述稠密时延神经网络层的输出。
[0045]
进一步的,所训练述多说话人中文语音合成网络使用的损失函数为:
[0046]
l
total
=l
before
+l
after
+l
st
+λ1·
l
spkenc
+λ2·
r;
[0047]
其中,l
before
和l
after
分别为所述解码器中后处理网络的输入和输出与目标频谱之间的均方误差,l
st
为停止符的交叉熵损失,l
spkenc
为说话人编码器模块中说话人分类的交叉熵损失,r为参数正则化项,λ1和λ2分别为说话人分类损失和正则化项的权重。
[0048]
与现有技术相比,本发明的有益效果为:本发明提供一种基于稠密连接时延神经网络的多说话人中文语音合成方法,基于稠密连接时延神经网络的多说话人中文语音合成系统最终生成合成语音输出。通过多说话人中文语音合成系统中多说话人中文语音合成网络的说话人编码器模块先后提取出语音中的局部特征和长时相关性,并且在这两次提取信息之后分别聚合了不同层的多阶段信息,因而能够提取出较好的说话人嵌入。由于说话人编码器模块有着较小的参数量和简单的结构,使其能够与多说话人中文语音合成网络模型中的其他部分联合优化,简化了训练流程,并且能够将参考语音频谱投影到一个适合于语音合成任务的说话人嵌入空间中,因此提取出的说话人嵌入能够更好地控制合成语音的风格。另外,本发明还使用编码器中的放缩点积注意力机制融合说话人信息和文本信息,生成的条件文本表示与原始文本内容表示之间的残差由说话人嵌入和文本内容表示计算得到,使得说话人嵌入以符合直观的方式控制合成语音的风格。因此本发明提出的方法能够模仿目标说话人语音中的说话人风格,合成出任意文本的语音,并可适用于已知说话人和未知说话人,相比于现有技术合成出的语音具有更高的自然度和相似度。
附图说明
[0049]
构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0050]
图1:为本发明实施的基于稠密连接时延神经网络的多说话人中文语音合成方法的多说话人中文语音合成步骤流程图;
[0051]
图2:为本发明实施的基于稠密连接时延神经网络的多说话人中文语音合成方法的多说话人中文语音合成系统训练步骤流程图;
[0052]
图3:为本发明实施的基于稠密连接时延神经网络的多说话人中文语音合成方法中多说话人中文语音合成网络的结构流程图;
[0053]
图4:为本发明实施的基于稠密连接时延神经网络的多说话人中文语音合成方法中说话人编码器模块的结构框图。
具体实施方式
[0054]
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0055]
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
[0056]
本发明公开了一种基于稠密连接时延神经网络的多说话人中文语音合成方法,下面将参考附图并结合实施例来详细说明本公开。
[0057]
参照图1所示,多说话人中文语音合成包括如下步骤:
[0058]
步骤1,对输入的待合成中文文本进行预处理,将待合成中文文本的所有句子根据标点符号划分成多个子句,再将子句转换成子句拼音序列;
[0059]
步骤2,对待合成的目标说话人语音进行预处理,将目标说话人语音转换为目标语音梅尔频谱,并从中截取出一段连续的频谱段作为合成参考语音频谱;
[0060]
步骤3,训练一个基于稠密连接时延神经网络的多说话人中文语音合成系统,将子句拼音序列和合成参考语音频谱作为输入,得到子句合成输出的子句波形语音;
[0061]
步骤4,根据原始子句的顺序将所有子句波形语音拼接起来得到最终生成的合成语音输出。
[0062]
具体而言,首先对于给定的待合成中文文本和目标说话人语音进行预处理,将待合成中文文本根据逗号和句号划分为多个子句,并将每个子句对应转换为子句拼音序列。同时将目标说话人语音转换成80维的目标语音梅尔频谱,通过复制截取后得到一个固定帧数的频谱段作为合成参考语音频谱。之后将每一个子句拼音序列和合成参考语音频谱输入到训练好的基于稠密连接时延神经网络的多说话人中文语音合成系统中,获得每个子句合成输出的子句波形语音。最后根据子句的原始顺序将所有子句波形语音拼接起来,得到最终生成的合成语音输出。
[0063]
更进一步而言,多说话人中文语音合成系统包括多说话人中文语音合成网络和声码器,即子句拼音序列和参考语音频谱先输入至多说话人中文语音合成网络,以获得每个子句合成输出的子句梅尔频谱。再将所有的子句梅尔频谱输入到训练好的声码器中,得到每个子句对应输出的子句波形语音。本发明中使用的声码器为hifi-gan声码器,该声码器基于生成对抗网络的方法,使用生成器和判别器进行对抗训练,经过训练后能够快速合成出质量较高的波形语音。
[0064]
参照图2所示,多说话人中文语音合成系统的训练步骤包括有:
[0065]
步骤3.1,对多说话人中文语音合成数据集中的训练数据进行预处理,将其中的训练中文文本转换为训练拼音序列,训练语音波形转换为训练梅尔频谱,所属同一说话人的
所有训练梅尔频谱组成训练说话人频谱组;
[0066]
步骤3.2,再根据所述训练拼音序列,从其所属说话人对应的所述训练说话人频谱组中随机选择一个梅尔频谱对其进行截取得到一段连续的频谱段,作为训练参考语音频谱;
[0067]
步骤3.3,将所述训练拼音序列、训练梅尔频谱和训练参考语音频谱共同组成训练样本;
[0068]
步骤3.4,定义基于稠密连接时延神经网络的多说话人中文语音合成网络,将所述训练样本作为输入进行训练输出预测梅尔频谱;
[0069]
步骤3.5,使用所述多说话人中文语音合成数据集中所有所述训练梅尔频谱及其相应的训练语音波形训练声码器,将输入的所述预测梅尔频谱对应输出预测波形语音;
[0070]
步骤3.6,组合训练完成的所述多说话人中文语音合成网络和声码器,得到训练完成的所述多说话人中文语音合成系统。
[0071]
具体而言,首先对于多说话人中文语音合成数据集中的所属说话人语音波形和待训练中文文本进行预处理,根据汉语拼音规范将待训练中文文本转换为训练拼音序列,将所属说话人语音波形经过去静音、预加重、能量归一化、短时傅立叶变换和梅尔滤波器滤波这一系列处理后,得到80维对数的训练梅尔频谱。之后对于每一对平行数据,从该数据所属说话人的所有训练梅尔频谱中随机选取一个频谱,通过复制截取的方式获得一个固定帧数的频谱段作为训练参考语音频谱,从而构建训练样本。每一个训练样本由一条训练拼音序列及其对应的训练梅尔频谱和训练参考语音频谱组成。定义一个基于稠密连接时延神经网络的多说话人中文语音合成网络,并使用所有的训练样本对该网络进行训练。再使用多说话人中文语音合成数据集中训练梅尔频谱及其对应的训练语音波形训练通用的声码器,声码器为所有说话人通用的声码器,使用所有说话人的数据(即多说话人中文语音合成数据集中的所有数据)进行训练,因此训练数据不需要区分说话人。最后将多说话人中文语音合成网络的输出作为声码器的输入,使用多说话人中文语音合成网络生成出预测梅尔频谱与相应的预测波形语音作为训练集微调声码器,组合训练完成的多说话人中文语音合成网络和声码器,得到训练完成的多说话人中文语音合成系统。
[0072]
更进一步而言,多说话人中文语音合成数据集中包含多个说话人的数据,其中每一个说话人的数据中包括多个文本语音对,每一个文本语音对包括训练中文文本转换的训练拼音序列和训练语音波形转换的训练梅尔频谱。而每个训练样本则包括一个训练拼音序列、一个该拼音序列对应的训练梅尔频谱和一个该拼音序列所属说话人频谱组中随机选择并截取得到的梅尔频谱段。将其用符号表示为:同一个说话人的所有数据为(xi,yi),i=1,2,...,n,其中xi表示一个训练拼音序列,yi表示相应的训练梅尔频谱,n表示该说话人的数据个数;每一个训练样本为(xi,yi,yj′
),其中yj′
表示所有yi中随机选择的一个频谱yj截取后的梅尔频谱段。
[0073]
当在待合成的中文文本和目标说话人进行合成相应语音输出时,目标说话人可以是在多说话人中文语音合成数据集中出现的已知说话人,也可以是未在多说话人中文语音合成数据集中出现的未知说话人。
[0074]
在步骤2和步骤3.2中截取一段连续的梅尔频谱段,其具体操作为:设定截取出的固定帧数为200帧。若目标语音梅尔频谱或训练梅尔频谱的总长度小于200帧,则对其进行
复制使得目标语音梅尔频谱或训练梅尔频谱的总长度大于或等于200帧,之后再随机截取其中长度为200帧的连续频谱段;若目标语音梅尔频谱或训练梅尔频谱的总长度大于或等于200帧,则直接随机截取其中长度为200帧的连续频谱段。
[0075]
参照图3所示,基于稠密连接时延神经网络的多说话人中文语音合成网络结构为:
[0076]etext
=encoder
text
(x),
[0077]espk
=encoder
spk
(y
ref
),
[0078]econd
=attention
cond
(e
text
,e
spk
),
[0079]eattn
=attention
dec
(e
cond
),
[0080]edec
=decoder
rnn
(e
attn
),
[0081][0082]
其中,encoder
text
表示编码器中的文本编码器模块,encoder
spk
表示编码器中的说话人编码器模块,attention
cond
表示编码器中的放缩点积注意力机制,attention
dec
表示解码器中的位置敏感注意力机制,decoder
rnn
表示解码器中的循环神经网络,postnet表示解码器中的后处理网络;x表示输入的子句拼音序列,y
ref
表示截取的参考语音频谱,e
text
表示编码器中文本编码器模块encoder
text
提取出的文本内容表示,e
spk
表示编码器中说话人编码器模块encoder
spk
提取出的说话人嵌入,e
cond
表示使用编码器中放缩点积注意力机制attention
cond
融合文本内容表示和说话人嵌入后得到的条件文本表示,e
attn
表示使用解码器中位置敏感注意力机制attention
dec
获得的输出,e
dec
表示解码器中循环神经网络decoder
rnn
输出的中间特征,为经过解码器中后处理网络postnet输出的频谱。
[0083]
具体而言,多说话人中文语音合成网络可划分为编码器和解码器。
[0084]
编码器由三个部分构成,分别为文本编码器模块、说话人编码器模块和编码器注意力模块。其中文本编码器模块根据拼音序列生成文本内容表示,说话人编码器模块从输入参考语音中提取说话人嵌入,而编码器注意力模块根据文本内容表示和说话人嵌入生成条件文本表示,以输入到后续的解码器中。编码器注意力模块则使用了放缩点积注意力机制。
[0085]
文本编码器模块由一个拼音嵌入层、三个卷积层和一个双向长短时记忆神经网络(bi-direactional long short-term memory,简称bi-lstm)组成。用于从输入的子句拼音序列中提取出文本内容表示。输入的子句拼音序列首先通过一个查询表获得序列中每一个拼音元素的向量,每一个向量的维度为512。之后经过三个卷积层,将最后一层卷积层的输出输入到一个双向长短时记忆神经网络中,以更好地获取文本中的上下文信息。
[0086]
如图4所示,说话人编码器模块基于稠密连接时延神经网络模型设置,对于每一个输入的参考语音频谱,从中提取出一个256维的说话人嵌入。其基于稠密连接时延神经网络模型的主体部分结构为:第一层为时延神经网络层,并使用激活函数relu进行激活;第二层至第七层均为帧偏移量为1的稠密时延神经网络层;第八层为使用relu激活后的前向神经网络层;第九层至第二十层为帧偏移量为3的稠密时延神经网络层;第二十一层为使用relu激活后的前向神经网络层;第二十二层为计算所有帧均值和方差的池化层;第二十三层为前向神经网络层,并进行批标准化。
[0087]
在图4中虚线部分所示,训练时在最后增加一层线性分类层对说话人嵌入进行分类,并将分类损失加入到整个多说话人中文语音合成网络的损失中。相比于其他声纹验证
网络,基于稠密连接时延神经网络模型整体参数更少,结构更简单。基于稠密连接时延神经网络模型的说话人编码器模块可以与多说话人中文语音合成网络的其他部分同时进行训练,而不需要单独训练。此外,该说话人编码器通过聚合不同层的多阶段信息,能够有效地从语音中提取出说话人特征,以便于合成模型更好地合成出与目标说话人语音相似的语音。
[0088]
解码器划分为预处理网络模块、解码器注意力模块、循环神经网络模块和后处理网络模块,解码器中的预处理网络模块包括两个全连接层,循环神经网络模块由两个单向长短时记忆神经网络构成,后处理网络模块由五层卷积层构成,解码器注意力模块使用了位置敏感注意力机制。在解码器的每一步运算中,输入经过预处理网络模块后与解码器注意力模块上一步输出的上下文向量拼接起来,之后由循环神经网络模块计算得到一个当前步的输出,再使用解码器注意力模块根据该输出计算当前步的上下文信息,最后将循环神经网络模块的当前步输出与解码器注意力模块的当前步输出拼接起来后分别经过两个线性层映射得到当前帧的频谱和停止符结果。
[0089]
更进一步而言,多说话人中文语音合成网络的工作流程为:子句拼音序列输入文本编码器模块提取出文本内容表示,参考语音频谱输入说话人编码器模块提取出说话人嵌入,将文本内容表示与说话人嵌入输入至放缩点积注意力机制中输出条件文本表示。条件文本表示输入至位置敏感注意力机制输出计算当前步的上下文信息,与循环神经网络模块的当前步输出拼接起来,经过两个线性层映射得到当前帧的频谱和停止符结果。在获得所有帧的频谱后,由后处理网络模块使用残差连接的方式对得到的频谱进行微调,以处理在单向循环神经网络中计算时无法提前预见后续帧的问题。以获得每个子句合成输出的子句梅尔频谱。
[0090]
其中,为了使得模型能够更好且更快地收敛,在循环神经网络中使用了教师强制法,即以一定的几率从真实的频谱中随机选取,作为下一帧的输入。稠密时延神经网络层包括基于前向神经网络的瓶颈层和时延神经网络层,并将它们使用残差连接,即将输入与时延神经网络层的输出加和后作为整个稠密时延神经网络层的输出。
[0091]
编码器中编码器注意力模块使用放缩点积注意力机制融合文本内容表示和说话人嵌入后得到的条件文本表示,其具体计算公式如下:
[0092]
k=w
ketext
+bk,
[0093]
v=w
vetext
+bv,
[0094]
q=w
qespk
+bq,
[0095][0096]
其中,k、v和q分别为放缩点积注意力机制中的键、值和查询,wk、wv、wq、bk、bv和bq为放缩点积注意力机制中计算键、值和查询中三个线性层的待训练参数,d表示为文本内容表示e
text
的维度。
[0097]
解码器中解码器注意力模块使用的位置敏感注意力机制,其注意力权重的计算公式为:
[0098]eij
=v
t
tanh(wssi+whhj+wff
ij
+b),
[0099][0100]
其中,si为第i步解码器隐状态,hj为第j步编码器隐状态,f
ij
为上一步的全部注意力权重α
i-1
经过卷积后得到的位置特征,v、ws、wh、wf和b均为待训练参数,l为编码的总长度。
[0101]
训练多说话人中文语音合成网络使用的损失函数为:
[0102]
l
total
=l
before
+l
after
+l
st
+λ1·
l
spkenc
+λ2·
r;
[0103]
其中,l
before
和l
after
分别为解码器中后处理网络的输入和输出与目标频谱之间的均方误差,l
st
为停止符的交叉熵损失,l
spkenc
为说话人编码器模块中说话人分类的交叉熵损失,r为参数正则化项,λ1和λ2分别为说话人分类损失和正则化项的权重。
[0104]
实施例应用于大规模中文多说话人语音合成数据集aishell-3
[0105]
将本发明的方法在大规模中文多说话人语音合成数据集aishell-3上进行了实验,该数据集中供包括了由218位说话人录制的平行语料。对比了本发明的方法和已有最好方法的效果,已有的最好方法是2020年语音领域顶级会议interspeech中发表的论文中提出的“使用反馈约束的多说话人语音合成系统”。实验中使用平均主观意见得分作为评价指标,分别比较了本发明提出的方法和现有最好方法在合成已知说话人语音和未知说话人语音时的自然度和相似度。实验结果表示,本发明可以在简化训练流程的同时,有效提高合成语音的自然度及相似度。尤其是目标说话人为未知说话人时,合成语音效果的提升更加明显。
[0106]
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

技术特征:


1.一种基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于,多说话人中文语音合成包括如下步骤:步骤1,对输入的待合成中文文本进行预处理,将所述待合成中文文本的所有句子根据标点符号划分成多个子句,再将所述子句转换成子句拼音序列;步骤2,对待合成的目标说话人语音进行预处理,将所述目标说话人语音转换为目标语音梅尔频谱,并从中截取出一段连续的频谱段作为合成参考语音频谱;步骤3,训练一个基于稠密连接时延神经网络的多说话人中文语音合成系统,将所述子句拼音序列和合成参考语音频谱作为输入,得到所述子句合成输出的子句波形语音;步骤4,根据原始所述子句的顺序将所有所述子句波形语音拼接起来得到最终生成的合成语音输出。2.根据权利要求1所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于,步骤3中所述基于稠密连接时延神经网络的多说话人中文语音合成系统包括多说话人中文语音合成网络和声码器,所述多说话人中文语音合成系统的训练步骤包括有:步骤3.1,对多说话人中文语音合成数据集中的训练数据进行预处理,将其中的训练中文文本转换为训练拼音序列,训练语音波形转换为训练梅尔频谱,所属同一说话人的所有训练梅尔频谱组成训练说话人频谱组;步骤3.2,再根据所述训练拼音序列,从其所属说话人对应的所述训练说话人频谱组中随机选择一个梅尔频谱对其进行截取得到一段连续的频谱段,作为训练参考语音频谱;步骤3.3,将所述训练拼音序列、训练梅尔频谱和训练参考语音频谱共同组成训练样本;步骤3.4,定义基于稠密连接时延神经网络的多说话人中文语音合成网络,将所述训练样本作为输入进行训练输出预测梅尔频谱;步骤3.5,使用所述多说话人中文语音合成数据集中所有所述训练梅尔频谱及其相应的训练语音波形训练声码器,将输入的所述预测梅尔频谱对应输出预测波形语音;步骤3.6,组合训练完成的所述多说话人中文语音合成网络和声码器,得到训练完成的所述多说话人中文语音合成系统。3.根据权利要求2所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于,步骤2和步骤3.2中所述截取一段连续的频谱段具体操作为:若所述目标语音梅尔频谱或训练梅尔频谱的总长度小于所需的固定帧数,则对其进行复制使得所述目标语音梅尔频谱或训练梅尔频谱的总长度大于或等于固定帧数,之后再随机截取其中长度为固定帧数的连续频谱段;若所述目标语音梅尔频谱或训练梅尔频谱的总长度大于或等于固定帧数,则直接随机截取其中长度为固定帧数的连续频谱段。4.根据权利要求2所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于:当所述待合成中文文本和目标说话人语音进行合成相应语音输出时,其中目标说话人可以是在所述多说话人中文语音合成数据集中出现的已知说话人,也可以是未在所述多说话人中文语音合成数据集中出现的未知说话人。5.根据权利要求2所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,
其特征在于,所述基于稠密连接时延神经网络的多说话人中文语音合成网络结构为:e
text
=encoder
text
(x),e
spk
=encoder
spk
(y
ref
),e
cond
=attention
cond
(e
text
,e
spk
),e
attn
=attention
dec
(e
cond
),e
dec
=decoder
rnn
(e
attn
),其中,encoder
text
表示编码器中的文本编码器模块,encoder
spk
表示编码器中的说话人编码器模块,attention
cond
表示编码器中的放缩点积注意力机制,attention
dec
表示解码器中的位置敏感注意力机制,decoder
rnn
表示解码器中的循环神经网络,postnet表示解码器中的后处理网络;x表示输入的子句拼音序列,y
ref
表示截取的参考语音频谱,e
text
表示编码器中文本编码器模块encoder
text
提取出的文本内容表示,e
spk
表示编码器中说话人编码器模块encoder
spk
提取出的说话人嵌入,e
cond
表示使用编码器中放缩点积注意力机制attention
cond
融合文本内容表示和说话人嵌入后得到的条件文本表示,e
attn
表示使用解码器中位置敏感注意力机制attention
dec
获得的输出,e
dec
表示解码器中循环神经网络decoder
rnn
输出的中间特征,为经过解码器中后处理网络postnet输出的频谱。6.根据权利要求5所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于,使用所述放缩点积注意力机制融合文本内容表示和说话人嵌入后得到的条件文本表示,其具体计算公式如下:k=w
k
e
text
+b
k
,v=w
v
e
text
+b
v
,q=w
q
e
spk
+b
q
,其中,k、v和q分别为所述放缩点积注意力机制中的键、值和查询,w
k
、w
v
、w
q
、b
k
、b
v
和b
q
为所述放缩点积注意力机制中计算键、值和查询中三个线性层的待训练参数,d表示为文本内容表示e
text
的维度。7.根据权利要求6所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于,所述位置敏感注意力机制的注意力权重计算公式为:e
ij
=v
t
tanh(w
s
s
i
+w
h
h
j
+w
f
f
ij
+b),其中,s
i
为第i步解码器隐状态,h
j
为第j步编码器隐状态,f
ij
为上一步的全部注意力权重α
i-1
经过卷积后得到的位置特征,v、w
s
、w
h
、w
f
和b均为待训练参数,l为编码的总长度。8.根据权利要求7所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于,所述说话人编码器模块中基于稠密连接时延神经网络模型的主体部分结构为:第一层为时延神经网络层,第二层至第七层均为稠密时延神经网络层,第八层为前向神经网络层,第九层至第二十层均为稠密时延神经网络层,第二十一层为前向神经网络层,
第二十二层为计算所有帧均值和方差的池化层,第二十三层为前向神经网络层。9.根据权利要求8所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于:所述说话人编码器模块的稠密时延神经网络层包括基于所述前向神经网络的瓶颈层和时延神经网络层,并将它们使用残差连接,即将输入与所述时延神经网络层的输出加和后作为整个所述稠密时延神经网络层的输出。10.根据权利要求9所述的基于稠密连接时延神经网络的多说话人中文语音合成方法,其特征在于,所训练述多说话人中文语音合成网络使用的损失函数为:l
total
=l
before
+l
after
+l
st
+λ1·
l
spkenc
+λ2·
r;其中,l
before
和l
after
分别为所述解码器中后处理网络的输入和输出与目标频谱之间的均方误差,l
st
为停止符的交叉熵损失,l
spkenc
为说话人编码器模块中说话人分类的交叉熵损失,r为参数正则化项,λ1和λ2分别为说话人分类损失和正则化项的权重。

技术总结


本发明公开一种基于稠密连接时延神经网络的多说话人中文语音合成方法,利用基于稠密连接时延神经网络的多说话人中文语音合成网络中说话人编码器模块从参考语音频谱中提取说话人嵌入,说话人编码器模块结构简单且参数量小,提取的说话人嵌入融合了多层次信息,因此可与多说话人中文语音合成网络中的其他模块一起优化,在简化训练流程的同时能够提取更适用于语音合成任务的说话人嵌入。其次将多说话人中文语音合成网络中文本编码器模块的输出作为键和值,说话人编码器模块的输出作为查询,输入到编码器的放缩点积注意力机制中生成条件文本表示作为解码器的输入,使说话人嵌入能够有效控制合成语音中的风格,提高合成语音的自然度和相似度。的自然度和相似度。的自然度和相似度。


技术研发人员:

李武军 周佳依

受保护的技术使用者:

南京大学

技术研发日:

2022.05.09

技术公布日:

2022/8/9

本文发布于:2024-09-22 09:34:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/23391.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:频谱   神经网络   说话   多说
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议