发明内容
本申请的目的在于克服传统的中文端到端网络利用Tacotron2将输入的中文文本转换为语音时存在韵律不稳定的问题。
为了实现上述目的,本申请提供了一种韵律控制语音合成方法、系统和电子装置,基于DCT参数化基频和时长来实现韵律控制。
第一方面,本申请提供了一种韵律控制语音合成方法,包括:对待合成文本进行正则获取语言学特征和音素序列;将所述音素序列输入Tacotron2模型的编码器;将编码结果和所述语言学特征输入韵律参数预测模型,预测待合成文本的韵律参数,获得音素级别的时长和DCT参数化基频;将所述音素级别时长和DCT参数化基频映射为二维向量,与所述编码结果拼接输入Tacotron2的解码器,输出韵律声学特征序列;将所述韵律声学特征序列送入声码器合成语音信号。
在一个可能的实施方式中,所述方法还包括预训练Tacotron2模型,包括:以音素序列为输入,以帧级别的多维声学特征为输出训练Tacotron2模型,获得具有音素序列与所述声学特征的对应关系的上下文权重矩阵。
在一个可能的实施方式中,所述预测待合成文本的韵律参数,包括:基于预训练Tacotron2模型获得的所述上下文权重矩阵,使用以下公式获得音素对应的帧数:
Ni=∑jWij
其中Ni表示所述音素序列中第i个音素对应的帧数,Wij表示第j帧声学特征对应于第i个音素的概率;计算log(Ni)获得所述音素级别的时长;计算N阶的离散余弦变换的系数e=[e0,e1...eT-1]T的基频为:
其中,D(t)为逆离散余弦变换时的第t帧的向量:
在一个可能的实施方式中,所述方法还包括Tacotron2网络和韵律参数预测模型联合训练的步骤,具体包括:以帧级别的音素序列和音素级别的语言学特征为输入,以多维声学特征为输出;以训练过程中最小绝对误差作为韵律参数预测损失函数;以训练过程中输出的声学特征与帧级别声学特征的最小均方误差作为声学特征重建损失;将韵律参数预测损失函数与声学特征重建损失加权求和作为最终损失函数;根据最终损失函数更新网络参数,对Tacotron2模型和韵律参数预测模型进行联合训练;在前50epoch的训练中将损失权重设为零,在训练时损失权重不断增加,到0.1为止。
在一个可能的实施方式中,在所述预训练Tacotron2模型或联合训练之前还包括:从单一说话人语音数据库提取帧级别的音素序列、多维声学特征以及音素级别的语言学特征;其中,所述多维声学特征提取时的帧移为10ms;所述多维声学特征为20维,包括:18维bark倒谱系数、1维基频参数和1维基频相关系数;所述音素级别的语言学特征为5维,包括:当前音素在字中的位置、当前字在词中的位置,当前词的词性,句子中词语的个数和当前句子的类型。
在一个可能的实施方式中,所述对待合成文本进行正则获取语言学特征和音素序列,包括:利用分词工具获得所述待合成文本的分词结果和词性标注,提取语言学特征;通过字音转换获得所述待合成文本的音素序列。
在一个可能的实施方式中,将所述音素级别时长和DCT参数化基频映射为二维向量,与所述编码结果拼接输入解码器,输出韵律声学特征序列,包括:将所述音素级别时长和DCT参数化基频降维映射为二维向量,与所述编码结果拼接在一起后送入解码器,输出韵律声学特征序列。
第二方面,本申请提供了一种韵律控制语音合成系统,用于实现上述实施例所述的语音合成方法,包括所述Tacotron2模型和所述韵律参数预测模型;所述Tacotron2模型对待合成文本的语言学特征和音素序列进行编码和解码处理;所述Tacotron2模型包括编码器和解码器,所述编码器用于将获取的音素序列编码提取高维表征,将编码结果和所述语言学特征输入韵律参数预测模型;所述韵律参数预测模型,用于根据所述编码结果和所述语言学特征进行韵律参数预测,获得音素级别的时长和DCT参数化基频,将所述音素级别时长和DCT参数化基频映射为二维向量,与所述编码结果拼接输入所述解码器;所述解码器,用于将拼接的二维向量和编码结果解码,输出韵律声学特征序列,将所述韵律声学特征序列送入声码器合成语音信号。
在一个可能的实施方式中,所述韵律参数预测模型包括双向的LSTM单元、第三线性投影单元、降维单元和连接单元;所述双向的LSTM单元用于对所述编码结果和所述语言学特征进行计算,用最小绝对误差作为损失函数,生成隐状态;所述第三线性投影单元用于根据所述隐状态预测韵律参数,获得音素级别的时长和DCT参数化基频;所述降维单元用于将所述音素级别时长和所述DCT参数化基频映射为二维向量;所述连接单元用于将所述二维向量和所述编码结果拼接输入所述解码器。
第三方面,本申请提供了一种电子装置,包括存储器和处理器;所述处理器用于执行所述存储器所存储的计算机执行指令,所述处理器运行所述计算机执行指令执行上述任意一实施例所述的韵律控制语音合成方法。
本申请实施例提出的韵律控制语音合成方法、系统和电子装置,所述方法通过使用DCT参数化的基频和时长,使得Tacotron2模型中能够引入额外的语言学特征来辅助韵律的控制,并且该方法使得模型能够收敛,更加具有解释性。该方法相比其他方法更加鲁棒,对于长句更加稳定。
具体实施方式
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
在描述本申请实施例提供的方案之前,先对本申请的发明构思作以下说明。
图1为传统的Tacotron2模型结构;如图1所示,Tacotron2模型结构包含编码器(encoder)和解码器(decoder),编码器将输入的音素序列编码成固定长度的向量,解码器再将该固定长度的向量解码生成声谱序列,利用位置敏感注意力模块(LocationSensitive Attention)“关注”向量的不同部分,自动学习出声学特征与音素序列的对应关系。
具体地,Tacotron2的编码器(decoder)是一个3层卷积单元(3 Conv Laywes)后跟一个双向LSTM单元(Bidirectional Lstm)形成的模块。在Tacotron2中3层卷积单元给予了神经网络类似于N-gram感知上下文的能力,由于实践中RNN很难捕获长时依赖,因此Tacotron2使用3层卷积单元获取上下文,使得模型对不发音字符更为鲁棒(如'know'中的'k')。
具体地,将音素序列(Phoneme Sequence)映射至音素嵌入单元(PhonemeEmbedding),音素嵌入的音素序列先送入3层卷积单元以提取前后音素信息,然后送入双向的LSTM单元中生成编码器隐状态,编码器隐状态生成后,就会将其送入位置敏感注意力模块(Location Sensitive Attention)。
位置敏感注意力模块用作编码器和解码器的桥接,本质是由一个上下文权重向量组成的矩阵。位置敏感注意力模块能够自动学习出声学特征与音素序列的对应关系,输出上下文向量。
在Tacotron2模型中,注意力计算(attention computation)发生在每一个解码单元(2LSTM Layers)时间步上。位置敏感注意力模块Location Sensitive Attention,通过累加注意力权重,了解它已经学习到的位置敏感信息,使得Tacotron2模型能在音素序列中顺序持续进行并且避免重复预测语音或漏掉预测的语音。
图2为位置敏感注意力模块输出的注意力机制结果;如下图2所示,纵轴是音素序列(Encoder timestep),横轴是帧级别的声学特征(Decoder time step),例如,输入句子中的第5个音素对应第50帧的声学特征。
解码器(decoder)是一个自回归的循环神经网络。具体地,Tacotron2模型解码器包括预测单元(2Layer Pre-Net)、解码单元(2LSTM Layers)、第一线性投影单元、第二线性投影单元(Linear projection)、滤波单元(5 Conv Layer Post-Net)、LPCNet单元和声码器(Vocoder features)。解码过程从输入上一步的输出声学特征或上一步的真实的声学特征帧到预测单元开始,预测单元的输出与使用上一个解码步骤中经注意力计算而得的上下文向量做拼接,在解码单元中解码,解码输出进行注意力计算生成新的上下文向量,最后新的上下文向量在解码单元的解码后,送入第一、第二线性投影单元以预测输出。输出有两种形式,第一线性投影单元输出韵律声学特征序列,韵律声学特征序列为真实声谱帧,第二线性投影单元输出结束概率(stop token),结束概率用来决定解码过程是否结束。韵律声学特征序列输入滤波单元(5Conv Layer Post-Net)滤波后与韵律声学特征序列拼接输入声码器经过神经语音合成单元LPCNet后合成语音信号(Waveform Samples)。
如背景技术的内容所述,基于Tacotron2模型,端到端的中文语音合成很大的提升了自然度,但由于中文汉字的稀疏性,在合成中文语音时会存在韵律不稳定的问题。为解决上述问题,通常采用音素序列作为输入,但在字音转换过程损失很多分词和词性相关的信息。为了显式建模韵律,能够通过引入额外的输入实现对韵律直接控制,且使得模型更具解释性,可以考虑引入音素对应帧数和离散余弦变换参数化的基频(DCT F0),分别来表示时长和基频的变化趋势,对时长乘上系数能够控制语音倍速,对DCT F0乘上系数能够控制发音的饱满度,即语音的抑扬顿挫。在原有Tacotron2模型基础上,构建韵律预测网络,将编码结果和韵律预测网络提取的时长和基频拼接成韵律向量一起送入解码器,以此来解决中文端到端的韵律不稳定问题。使用额外输入的语言学特征(Context Feature)提取的音素对应帧数和离散余弦变换参数化的基频可以更好的控制韵律,且使得模型更具解释性。
离散余弦变换(DCT)是对实信号定义的一种变换,变换后在频域中得到的也是一个实信号。DCT有一个很重要的性质是能量集中特性,大多数自然信号比如声音、图像的能量都集中在离散余弦变换后的低频部分,因而DCT在声音、图像数据压缩中得到了广泛的使用。由于DCT是从DFT推导出来的另一种变换,因此许多DFT的属性在DCT中仍然是保留下来的。基于此,使用一个有限个数的离散余弦变换的系数(简称DCT系数)来获取音素级别的基频变化模式,能够拟合一个音素序列的基频曲线。
综上所述,为了解决在合成中文语音时会存在韵律不稳定的问题,发明人考虑对声谱预测网络Tacotron2模型进行改进,改进思路如下:
首先,对单一说话人数据库提取帧级别的声学特征、音素序列和音素级别的语言学特征,预训练声谱预测网络Tacotron2模型,获得代表音素与声学特征的对应关系的上下文权重矩阵以及编码器的输出。
然后,基于上下文权重矩阵,提取韵律参数,韵律参数包括音素级别时长(Duration)和音素级别的DCT参数化基频(F0 Representation)。
接着,构建韵律参数预测模型,其输入包括声学特征网络中编码器的输出和语言学特征,使用最小绝对误差损失函数优化输出,输出结果是DCT参数化基频和时长;
再接着,构建韵律控制语音合成模型,具体地,可以在Tacotron2模型基础上,增加韵律参数预测模型,并对Tacotron2模型和韵律参数预测模型进行联合训练,获得训练好的韵律控制语音合成模型。
在进行语音合成时,将待合成文本进行正则,送入训练好的韵律控制语音合成模型,预测语音的韵律声学特征,将该韵律声学特征送入声码器合成语音信号。
以上就是本申请的发明构思,基于该发明构思就可以得到本申请实施例提供的技术方案,以下对本申请实施例进行详细阐述。
图3为本申请实施例提供的语音合成方法流程图,所述方法的执行主体可以为具有处理能力的设备,服务器或者系统或者装置。如图3所示,所述方法包括:对待合成文本进行正则获取语言学特征(Context feature)和音素序列(Phoneme Sequence);将所述音素序列输入Tacotron2模型的编码器;将编码结果和所述语言学特征输入韵律参数预测模型,预测待合成文本的韵律参数,获得音素级别的时长和DCT参数化基频;将音素级别时长和DCT参数化基频映射为二维向量,与编码结果拼接输入Tacotron2的解码器,输出韵律声学特征序列;将韵律声学特征序列送入声码器合成语音信号。下面针对每一步骤进行具体分析。
S301,对待合成语音的文本进行正则获取音素序列和语言学特征。
具体地,待合成语音的文本首先通过字音转换获得其音素序列,再利用分词工具获得分词结果和词性标注,并提取其语言学特征,用以预测韵律声学特征。
S302,将音素序列输入Tacotron2模型的编码器。
图4为本申请实施例提供的韵律控制语音合成模型示意图;如图4所示,从待合成语音的文本中提取的音素序列输入韵律控制语音合成模型后,经过音素嵌入单元映射后的音素序列进入编码器(Encoder)进行编码。
需要说明的是该韵律控制语音合成模型中的编码器与Tacotron2模型中的编码器相同,包括一个3层卷积单元和一个双向的LSTM单元。
经过音素嵌入单元映射后音素序列先送入3层卷积单元以提取前后音素信息,然后送入双向的LSTM中生成隐状态,输出编码结果。
S303,将编码结果和语言学特征输入韵律参数预测模型,预测待合成文本的韵律参数,获得音素级别的时长和DCT参数化基频。
继续如图4所示,将S302输出的编码结果和S301提取语言学特征送入双向的LSTM单元(3Bidirectional Lstm)和第三线性投影单元(Linear projection),用最小绝对误差作为损失函数,预测待合成语音的文本的韵律参数,预测出的韵律参数包括音素级别的时长(Duration)和DCT参数化基频(F0 Representation)。
S304,将音素级别时长和DCT参数化基频映射为二维向量,与编码结果拼接输入解码器,输出韵律声学特征序列。
继续如图4所示,将音素级别时长和DCT参数化基频送入降维单元(BottleneckLayer)映射到二维空间后,送入连接单元(Concatenate)与编码器的结果拼接在一起后送入解码器(Decoder),输出韵律声学特征序列。
在该韵律控制语音合成模型中解码器(Decoder)与Tacotron2模型中的解码器相同。解码的过程与Tacotron2模型解码过程相同,不再赘述。
S305,将所述韵律声学特征序列送入声码器合成语音信号。
在上述语音合成的方法中,韵律控制语音合成模型是在Tacotron2模型基础上增加韵律参数预测模型,在训练时分为两步进行训练,首先预训练Tacotron2模型,基于训练Tacotron2模型时获得的上下文权重矩阵可以构建韵律参数预测模型。然后再对Tacotron2模型和韵律参数预测模型进行联合训练,获得训练好的韵律控制语音合成模型。
图5为本申请实施例提供的韵律控制语音合成模型训练流程图;,训练具体步骤如图5所示。
S401,对获得的单一说话人语音数据库提取帧级别的多维声学特征、音素序列以及音素级别的语言学特征。
其中,帧级别的多维声学特征共20维,包括:18维bark倒谱系数、1维基频参数和1维基频相关系数。音素级别的语言学特征共5维,包括:当前音素在字中的位置、当前字在词中的位置,当前词的词性,句子中词语的个数,当前句子的类型。声学特征提取时的帧移为10ms。
S402,以音素序列为输入,以帧级别的多维声学特征为输出,训练所述Tacotron2模型,获得具有音素序列与声学特征的对应关系的上下文权重矩阵W。
S403,基于预训练Tacotron2模型获得的所述上下文权重矩阵,提取韵律参数包括音素级别时长(Duration)和音素级别的DCT参数化基频(F0 Representation),其中,音素级别时长代表韵律中的音素时长,音素级别的DCT参数化基频代表基频变化趋势。具体步骤如下:
基于上下文权重矩阵W,使用以下公式获得音素对应的帧数:
Ni=∑j Wij (1)
其中Ni表示第i个音素对应的帧数,Wij表示第j帧对应于第i个音素的概率,计算log(Ni)得到音素级别时长。
使用一个有限个数的离散余弦变换的系数(简称DCT系数)来获取音素级别的基频变化模式。具体步骤如下:
假设s=[s0,s1...sT-1]T表示T帧基频曲线,c=[c0,c1...cT-1]T表示对应的相关系数,N阶的DCT系数e=[e0,e1...eT-1]T计算公式如下:
重建的基频曲线表示为:
计算逆DCT时的第t帧的向量D(t):
此方程的解在一阶导数为零处取得,解DCT系数为:
可以使用4阶DCT系数来表示基频曲线变化趋势,4阶DCT能较好地获得平滑的基频曲线,而更高阶数则会对基频过拟合。
S404,构建韵律参数预测模型,如图4所示,韵律参数预测模型包括一个双向的LSTM单元(3Bidirectional Lstm)和一个线性投影单元组成,使用最小绝对误差作为损失函数。输入包含编码器的结果和提取的语言学特征。
以Tacotron2模型中编码结果和语言学特征为输入,通过双向的LSTM单元(3Bidirectional Lstm)和线性投影单元(Linear projection),用最小绝对误差作为损失函数,预测待合成语音的文本的韵律参数,预测的韵律参数包括音素级别的时长(Duration)和DCT参数化基频(F0 Representation)。
S405,以S401提取的音素序列和音素级别的语言学特征为输入,以S401提取的帧级别声学特征为输出,对Tacotron2模型和韵律参数预测模型进行联合训练。
计算训练过程中输出的声学特征与真实的帧级别声学特征的最小均方误差,以最小均方误差作为声学特征重建损失。
将韵律参数预测损失函数与声学特征重建损失加权求和为最终损失函数,在联合训练过程中,并更新网络参数,最后获得训练好的韵律控制语音合成模型。
韵律参数预测模型(Prosody Prediction Network)和Tacotron2模型是联合训练的,为了避免韵律参数预测模型减缓模型对齐,所以在前50epoch的训练中将韵律参数预测模型的损失权重设为零,在50epoch之后损失权重不断增加,到0.1为止。
韵律控制语音合成模型与Tacotron2相比,除了原有的编码结果,还显式的引入韵律参数,韵律参数包括音素级别时长(Duration)和音素级别的DCT参数化基频(F0Representation),将二者映射到一个二维空间后与原有的编码结果拼接在一起后送入解码器。实验表明,韵律参数预测模型输出的韵律参数能够实现对语音信号韵律的修改,对音素级别时长乘上系数能够控制语音信号的倍速,对DCT F0乘上系数能够控制语音信号发音的饱满度,即语音信号的抑扬顿挫。
采用本申请实施例提出的韵律控制语音合成方法合成语音韵律更加自然,而且相较于Tacotron2模型,本方法更加鲁棒,解决了跳字和重复的错误。
另一方面,本申请实施例提供一种韵律控制语音合成系统,用于实现上述任意实施例提出的律控制语音合成方法,包括Tacotron2模型和韵律参数预测模型。
返回图4所示,Tacotron2模型包括编码器和解码器,编码器对待合成文本进行正则获取的音素序列编码,将编码结果和对待合成文本进行正则获取的语言学特征输入韵律参数预测模型。
韵律参数预测模型根据所述编码结果和语言学特征进行韵律参数预测,获得音素级别的时长和DCT参数化基频,将音素级别时长和DCT参数化基频映射为二维向量与编码结果拼接输入解码器。
解码器将拼接的二维向量和编码结果解码,输出韵律声学特征序列,将韵律声学特征序列送入声码器合成语音信号。
其中,韵律参数预测模型包括双向的LSTM单元、第三线性投影单元、降维单元和连接单元。
具体地,将Tacotron2模型编码器的编码结果和待合成文本提取的语言学特征输入双向的LSTM单元进行计算,用最小绝对误差作为损失函数,生成隐状态;第三线性投影单元根据隐状态预测韵律参数,获得音素级别的时长和DCT参数化基频;降维单元将音素级别时长和DCT参数化基频映射为二维向量;连接单元将二维向量与编码结果拼接输入Tacotron2模型解码器。
具体地,Tacotron2模型解码器包括预测单元、解码单元、第一线性投影单元、第二线性投影单元、滤波单元、LPCNet单元和声码器;预测单元将上一个解码步骤中第一线性投影单元输出的韵律声学特征序列转换为二维向量输出至解码单元;解码单元,用于将二维向量与编码结果经注意力计算而得的上下文向量做拼接,输出新的上下文向量至第一和第二线性投影单元;第一线性投影单元将所述新的上下文向量进行线性投影,输出韵律声学特征序列;第二线性投影单元输出结束概率,决定解码过程是否结束;滤波单元将所述韵律声学特征序列进行滤波;声码器将滤波后韵律声学特征序列经过LPCNet单元后合成语音信号。
第三方面,本申请实施例提供一种电子装置,包括存储器和处理器;所述处理器用于执行所述存储器所存储的计算机执行指令,所述处理器运行所述计算机执行指令执行上述任意实施例所述的韵律控制语音合成方法。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。