本发明涉及语音合成技术,特别涉及一种语音合成方法。
背景技术:
在国家电网公司减员增效的大背景下,电力物资公司专业人员紧缺与供应商数量不断增多的矛盾日益突出,难以满足现有大批量招投标及履约信息交互需求。随着人工智能时代的到来,语音识别技术在不断发展。人工智能语音技术可以接管大部分人工话务工作,释放人力,提高效率。因此,国网重庆电力公司物资分公司在智慧供应商服务大厅的升级改造过程中,通过梳理现有语音呼叫交互场景需求,明确物资专员在信息告知中的重点,构建常见业务通知的话术流程,依托语音识别、语义理解、语音合成、大数据分析等技术,打造服务体贴、智能化水平高的ai智能外呼系统。
ai智能外呼系统可以解放工作人员的无聊重复工作,提高工作工作效率,同时ai智能外呼系统语音无情绪,可以有效避免发生冲突。语音合成技术是ai智能外呼系统中非常重要的一个技术问题,而如何准确的合成语音更是该系统的一项技术难题。
技术实现要素:
针对现有技术存在的上述问题,本发明要解决的技术问题是:如何准确合成语音。
为解决上述技术问题,本发明采用如下技术方案:一种语音合成方法,包括如下步骤:
s10:文本特征提取和声学特征提取;
文本特征提取模块首先对输入文本数据做字符嵌入,即使用固定维度大小的向量来对文本字符进行表征,然后依次通过pre-net、cbhg两个子网络,得到文本特征数据;
声学特征提取:使用梅尔频谱和线性频谱进行,首先对语音数据进行预加重处理,将原始音频信号通过一个高通滤波器得到预加重后的语音数据,然后进行短时傅里叶变换得到线性谱;
s20:对提取的文本特征数据与声学特征进行融合,具体包括如下步骤:
a)构建编码器,编码器使用tacotron框架中的编码器,s10中得到的文本特征数据输入编码器中,编码器输出编码序列;
b)构建一个位置敏感注意力机制,所述位置敏感注意力机制的位置特征用32个长度为31的1维卷积核卷积得出,所述a)输出的编码序列和位置特征投影到128维隐层表征后,得到出注意力权重,即注意力上下文向量;
c)构建解码器,所述解码器是一个自回归的循环神经网络,它将编码器输出的编码序列预测输出声谱图,一次预测一帧,上一步预测出的频谱帧首先被传入一个每层由256个隐藏relu单元组成的双层全连接的预处理网络pre-net;
pre-net的输出和注意力上下文向量拼接在一起,传给一个两层堆叠的由1024个单元组成的单向神经网络,所述神经网络的输出再次和注意力上下文向量拼接在一起,然后经过一个线性变换投影来预测目标频谱帧;
预测的所述目标频谱帧经过一个5层卷积网络来预测一个残差叠加到卷积前的频谱帧上,网络的每层由512个5×1卷积核和一个批标准化处理组成,除了最后一层卷积,每层的批标准化处理都后接一个tanh激活函数;
并行于频谱帧的预测,解码器的输出与注意力上下文向量拼接在一起,投影成一个标量后传递给sigmoid激活函数,来预测输出序列是否已经完成的概率;
将该概率值大于或等于预设的结束阈值时,表示预测结束,进行下一步;
d)后网络和波形合成,后处理网络由cbhg模块和全连接层组成,解码器的输出经过后处理网络转化成线性声谱图,griffin-lim算法将线性声谱图还原成语音波形输出。
作为优选,所述s10中声学特征提取的具体方法为:
1)将原始音频信号通过一个高通滤波器得到预加重后的语音数据,采用公式(1):
h(z)=1-μ·z-1(1);
其中,h为语音采样值,z表示不同时刻,1表示当前时刻的采样值,z-1表示上一时刻的采样值,μ为预加重系数;
2)然后公式(1)得到的语音数据进行短时傅里叶变换得到线性谱,如公式(2):
其中z(t)为源信号,z(t)=h(z),g(t)为窗函数,f为线性频谱的频率;
3)用梅尔滤波器组处理线性频谱得到梅尔频谱,如公式(3):
其中,f为线性频谱的频率。
作为优选,所述s20中的编码器由pre-net预处理网络和cbhg模块构成,cbhg模块依次由一维卷积滤波器组、残差连接、多层高速公路网络highwaynetwork和双向门控循环单元gru网络组成。
作为优选,所述s20中的构建位置敏感注意力机制后解码器的输出计算过程如下:
位置敏感注意力机制的能量计算如公式(4):
其中,si是第i时刻解码器循环神经网络的隐状态,hj是编码器的第j个输出,fi,j表示对i时刻前累加注意力权重的卷积输出,b是偏置值,初始为0向量,va、w、v和u表示不同网络层的权重矩阵,
卷积输出fi,j来自累加注意力权重
相对于现有技术,本发明至少具有如下优点:
本发明中使用自回归的循环神经网络构建解码器,并且在编码过程中引入了位置敏感注意力机制,从而在解码器时,将注意力上下文向量与编码器输出编码序列拼接在一起,由于敏感注意力机制能够同时考虑输入音素的内容和位置,可以使前一个解码过程后的累积注意权重被当作一个附加特征,使得模型在沿着输入序列前进时保持一致性,减少了解码时可能出现的子序列遗漏或重复等问题,提高了最后合成语音的准确性。
具体实施方式
下面对本发明作进一步详细说明。
一种语音合成方法,包括如下步骤:s10:文本特征提取和声学特征提取;
文本特征提取模块首先对输入文本数据做字符嵌入,即使用固定维度大小的向量来对文本字符进行表征,然后依次通过pre-net、cbhg两个子网络,得到文本特征数据;
声学特征提取:使用梅尔频谱和线性频谱进行,首先对语音数据进行预加重处理,将原始音频信号通过一个高通滤波器得到预加重后的语音数据,然后进行短时傅里叶变换得到线性谱。
作为改进,所述s01中声学特征提取的具体方法为:
1)将原始音频信号通过一个高通滤波器得到预加重后的语音数据,采用公式(1):
h(z)=1-μ·z-1(1);
其中,h为语音采样值,z表示不同时刻,1表示当前时刻的采样值,z-1表示上一时刻的采样值,μ为预加重系数,通常介于0.9-1.0之间;
2)然后公式(1)得到的语音数据进行短时傅里叶变换得到线性谱,如公式(2):
其中z(t)为源信号,z(t)=h(z),g(t)为窗函数,f为线性频谱的频率;
3)用梅尔滤波器组处理线性频谱得到梅尔频谱,如公式(3):
其中,f为线性频谱的频率。
s20:对提取的文本特征数据与声学特征进行融合,具体包括如下步骤:
a)构建编码器,编码器使用tacotron框架中的编码器,所述tacotron框架为现有技术。
s10中得到的文本特征数据输入编码器中,编码器输出编码序列。
所述的编码器由pre-net预处理网络和cbhg模块构成,pre-net作为输入文本的预处理。cbhg模块依次由一维卷积滤波器组、残差连接、多层高速公路网络highwaynetwork和双向门控循环单元gru网络组成;一维卷积滤波器组是一个由m个大小不同的一维的滤波器组成的卷积层,滤波器的大小分别为1,2,3…m;使用残差连接可以缓解神经网络层过深而导致的梯度弥散问题,这样能确保经过多层卷积后,不会丢掉太多之前输入的信息。highwaynetwork用来缓解网络加深带来过拟合问题和减少较深网络的训练难度。最后使用gru来得到双向提取特征序列。
b)构建一个位置敏感注意力机制;位置敏感注意力机制能够同时考虑输入音素的内容和位置,可以使前一个解码过程后的累积注意权重被当作一个附加特征,使得模型在沿着输入序列前进时保持一致性,减少了解码时可能出现的子序列遗漏或重复等问题。
所述位置敏感注意力机制的位置特征用32个长度为31的1维卷积核卷积得出,所述a)输出的编码序列和位置特征投影到128维隐层表征后,得到出注意力权重,即注意力上下文向量;
c)构建解码器,所述解码器是一个自回归的循环神经网络,它将编码器输出的编码序列预测输出声谱图,一次预测一帧,上一步预测出的频谱帧首先被传入一个每层由256个隐藏relu单元组成的双层全连接的预处理网络pre-net;
pre-net的输出和注意力上下文向量拼接在一起,传给一个两层堆叠的由1024个单元组成的单向神经网络,所述神经网络的输出再次和注意力上下文向量拼接在一起,然后经过一个线性变换投影来预测目标频谱帧。
预测的所述目标频谱帧经过一个5层卷积网络来预测一个残差叠加到卷积前的频谱帧上,用以改善频谱重构的整个过程。网络的每层由512个5×1卷积核和一个批标准化处理组成,除了最后一层卷积,每层的批标准化处理都后接一个tanh激活函数。
并行于频谱帧的预测,解码器的输出与注意力上下文向量拼接在一起,投影成一个标量后传递给sigmoid激活函数,来预测输出序列是否已经完成的概率。
将该概率值大于或等于预设的结束阈值时,表示预测结束,进行下一步;
网络中的卷积层使用概率为0.5的dropout进行正则化处理,lstm层使用概率为0.1的zoneout进行正则化处理。为了在推断时给输出结果带来些变化,概率为0.5的dropout只施加在自回归解码器的pre-net上。
本发明的模型使用更简洁的构造模块,使用普通的lstm和卷积层,每个解码步骤只输出一个单独的频谱帧。
所述s20中的构建位置敏感注意力机制后解码器的输出计算过程如下:
位置敏感注意力机制的能量计算如公式(4):
其中,si是第i时刻解码器循环神经网络的隐状态,hj是编码器的第j个输出,fi,j表示对i时刻前累加注意力权重的卷积输出,b是偏置值,初始为0向量,va、w、v和u表示不同网络层的权重矩阵,
卷积输出fi,j来自累加注意力权重
d)后网络和波形合成,后处理网络由cbhg模块和全连接层组成,解码器的输出经过后处理网络转化成线性声谱图,griffin-lim算法将线性声谱图还原成语音波形输出。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
1.一种语音合成方法,其特征在于,包括如下步骤:
s10:文本特征提取和声学特征提取;
文本特征提取模块首先对输入文本数据做字符嵌入,即使用固定维度大小的向量来对文本字符进行表征,然后依次通过pre-net、cbhg两个子网络,得到文本特征数据;
声学特征提取:使用梅尔频谱和线性频谱进行,首先对语音数据进行预加重处理,将原始音频信号通过一个高通滤波器得到预加重后的语音数据,然后进行短时傅里叶变换得到线性谱;
s20:对提取的文本特征数据与声学特征进行融合,具体包括如下步骤:
a)构建编码器,编码器使用tacotron框架中的编码器,s10中得到的文本特征数据输入编码器中,编码器输出编码序列;
b)构建一个位置敏感注意力机制,所述位置敏感注意力机制的位置特征用32个长度为31的1维卷积核卷积得出,所述a)输出的编码序列和位置特征投影到128维隐层表征后,得到出注意力权重,即注意力上下文向量;
c)构建解码器,所述解码器是一个自回归的循环神经网络,它将编码器输出的编码序列预测输出声谱图,一次预测一帧,上一步预测出的频谱帧首先被传入一个每层由256个隐藏relu单元组成的双层全连接的预处理网络pre-net;
pre-net的输出和注意力上下文向量拼接在一起,传给一个两层堆叠的由1024个单元组成的单向神经网络,所述神经网络的输出再次和注意力上下文向量拼接在一起,然后经过一个线性变换投影来预测目标频谱帧;
预测的所述目标频谱帧经过一个5层卷积网络来预测一个残差叠加到卷积前的频谱帧上,网络的每层由512个5×1卷积核和一个批标准化处理组成,除了最后一层卷积,每层的批标准化处理都后接一个tanh激活函数;
并行于频谱帧的预测,解码器的输出与注意力上下文向量拼接在一起,投影成一个标量后传递给sigmoid激活函数,来预测输出序列是否已经完成的概率;
将该概率值大于或等于预设的结束阈值时,表示预测结束,进行下一步;
d)后网络和波形合成,后处理网络由cbhg模块和全连接层组成,解码器的输出经过后处理网络转化成线性声谱图,griffin-lim算法将线性声谱图还原成语音波形输出。
2.如权利要求1所述的语音合成方法,其特征在于:所述s10中声学特征提取的具体方法为:
1)将原始音频信号通过一个高通滤波器得到预加重后的语音数据,采用公式(1):
h(z)=1-μ·z-1(1);
其中,h为语音采样值,z表示不同时刻,1表示当前时刻的采样值,z-1表示上一时刻的采样值,μ为预加重系数;
2)然后公式(1)得到的语音数据进行短时傅里叶变换得到线性谱,如公式(2):
其中z(t)为源信号,z(t)=h(z),g(t)为窗函数,f为线性频谱的频率;
3)用梅尔滤波器组处理线性频谱得到梅尔频谱,如公式(3):
其中,f为线性频谱的频率。
3.如权利要求1所述的语音合成方法,其特征在于:所述s20中的编码器由pre-net预处理网络和cbhg模块构成,cbhg模块依次由一维卷积滤波器组、残差连接、多层高速公路网络highwaynetwork和双向门控循环单元gru网络组成。
4.如权利要求1所述的语音合成方法,其特征在于:所述s20中的构建位置敏感注意力机制后解码器的输出计算过程如下:
位置敏感注意力机制的能量计算如公式(4):
其中,si是第i时刻解码器循环神经网络的隐状态,hj是编码器的第j个输出,fi,j表示对i时刻前累加注意力权重的卷积输出,b是偏置值,初始为0向量,va、w、v和u表示不同网络层的权重矩阵,
卷积输出fi,j来自累加注意力权重