一种语音合成方法与流程
本发明涉及语音技术领域,特别是一种语音合成方法。
背景技术:
语音合成技术就是赋予计算机(或者各种终端设备)具有像人一样的说话能力,这是一门典型的交叉学科。tts技术(又称文语转换技术)隶属于语音合成,它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的语音输出的技术。
目前常用评价合成语音方法是通过对合成的语音音质的评测来判断语音合成方法的好坏,这种评价的策略决定了,音质对语音合成技术的研究至关重要。将语音合成和语音音质评测结合起来,首先通过语音合成方法合成语音,然后通过语音音质评测判断出合成语音音质的好坏,最终通过评测结果来反映出该合成方法的优劣,找到影响该合成方法合成语音音质的因素加以修改,以便合成更好音质的语音。因此,为了有效地促进语音合成技术的发展,高音质合成算法尤为重要。
现阶段主流的语音合成方法是基于建模参数,一般由两个部分组成:特征预测模型和声码器模型,两个模型单独训练。特征预测模型将输入的文字序列映射成声学特征,声码器模型接收这些声学特征,将其还原成真实地语音。在训练模型之前,会先定义一个损失函数(lossfunction),也称目标函数,用来表达预测结果与真实样本之间的差距,进而调整模型参数。损失函数的设计对模型训练有较大影响。
常用的特征预测模型声学特征选择和对应损失函数有如下几种:
声学特征选择基频(f0),loss为平均绝对误差(meanabsoluteerror,mae)距离计算为一范数(l1)距离。先计算音素的持续时间(duration),再计算与对应真实音频的基频率距离,损失函数计算如下:
声学特征选择线性谱(linearspectrogram),loss为mae或者均方误差(meansquareerror,mse),距离计算为l1或者二范数(l2)距离。计算预测线性谱和真实线性谱之间的距离,表述如下:
声学特征选择梅尔谱(melspectrogram),loss为mae或者mse,距离计算为l1或者l2距离。计算预测梅尔谱和真实梅尔谱之间的距离,表述如下:
声学特征上述特征的组合,loss设计成上述loss的组合形式
论文[deepvoice:real-timeneuraltext-to-speech],公开的loss设计中采用了f0的maeloss。f0能量最大,正确的拟合f0,可以基本还原目标人音色。但是语音的中高频部分代表了语音的细节,这些细节与音质息息相关;采用基于f0的loss设计是没有考虑中高频部分的,会严重降低合成语音音质;
论文[tacotron:towardsend-to-endspeechsynthesis],公开的loss设计采用了melspectrogram和linearspectrogram两个的maeloss之和.在语音信号中,通常低频部分能量大,中高频部分能量较小,如果用mae,或者mseloss,模型势必会重点拟合低频部分(因为低频能量大带来的梯度大),中高频部分会浑浊,谱图上面显示的就是中高频纹理缺失,合成音质发闷。另外,maeloss会使谱“锐化”,合成音质有“机械感”;
论文[naturalttssynthesisbyconditioningwavenetonmelspectrogrampredictions],公开loss设计是melspectrogram的mseloss;如上面描述,依然不能刻画中高频细节,且mseloss会使谱图“模糊”,合成音质会有“浑浊”感觉。
技术实现要素:
本发明所要解决的技术问题是克服现有技术的不足而提供一种语音合成方法,本发明提升语音合成的音质。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种语音合成方法,包括以下步骤:
步骤1、声学特征选取梅尔谱或者线性谱作为特征预测模型的输出,文本经过特征预测模型进行前向计算获得预测谱
步骤2、计算
步骤3、计算真实音频的谱s;
步骤4、计算s的sobel算子ssobel;
步骤5、计算
步骤6、计算
步骤7、确定平衡系数α;
步骤8、构建如下损失函数loss:
其中,loss是由步骤5的均方误差
步骤9、基于步骤8计算的loss,反向求导,更新特征预测模型的参数;
步骤10、重复1-9步骤,训练特征预测模型,直至特征预测模型收敛,最终获得训练完备的特征预测模型;
步骤11、语音合成时,传入文本至特征预测模型,经特征预测模型计算输出步骤1中的预测谱
作为本发明所述的一种语音合成方法进一步优化方案,步骤2中,
作为本发明所述的一种语音合成方法进一步优化方案,步骤3中,真实音频的谱计算指的是计算目标音频的谱,是线性谱或者梅尔谱,但是要和步骤1中的谱选择一致。
作为本发明所述的一种语音合成方法进一步优化方案,步骤4中,ssobel计算指的是s的sobel特征计算,包括x方向和y方向。
作为本发明所述的一种语音合成方法进一步优化方案,步骤7中,平衡系数的范围是0到1之间。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
(1)将谱梯度sobel算子创新性地引入到语音合成模型的损失函数设计中,从而提高了语音合成中特征预测模型细节刻画的能力;
(2)本发明提升语音合成的音质。
附图说明
图1是结合sobel算子的损失函数的计算过程。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
sobel是源自图像处理一种梯度特征算子,刻画了图像的纹理特征。中高频音质的缺失是合成音质降低的一个重要原因。在本项技术中,特征预测模型loss设计中引入sobel算子,使模型关注声学特征的这些细节,从而提升合成音质。
结合sobel算子的语音合成模型损失函数确定方法,包含以下步骤:
步骤1、声学特征选取melspectrogram或者linearspectrogram,前向计算获得谱输出
步骤2、计算
步骤3、计算真实音频的谱s;
步骤4、计算s的sobel算子ssobel;
步骤5、计算两个谱的mse;
步骤6、计算两个谱sobel算子的mse
步骤7、确定平衡系数α
步骤8、构建如下loss:
步骤1的前向过程指的是模型训练时的谱输出
步骤2中,
步骤3中,真实音频的谱计算指的是计算目标音频的谱,可以是线性谱或者梅尔谱,但是要和步骤1中的谱选择一致;
步骤4中,ssobel计算指的是s的sobel特征计算,包括x方向和y方向;
步骤5中,计算的是谱的mse;
步骤6中,计算的是谱的sobel算子的mse;
步骤7中,平衡系数用来控制两部分的权重,范围是0到1之间;
步骤9中,构建的就是最终得loss函数,由谱的mse和谱sobel算子的mse两部分构成,平衡系数控制两部分的权重。
本发明重点在语音合成的特征预测模型中,这种基于sobel算子的损失设计方法;将谱梯度sobel算子创新性地引入到语音合成模型的损失函数设计中。
图1为损失函数的示意图,其中特征预测模型前向计算获得预测谱(部件101,对应公式(1)中
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除