本发明属于语音合成,具体涉及一种提升芯片端语音合成的后处理方法。
背景技术:
1、芯片端由于其算力和存储等限制,无法采用传统端到端技术实现语音合成,因此需要设计一款低成本芯片端可运行的语音合成算法方案。基于前端设计的语音合成技术,参考语言学基础设计一套可表述该语言发音规律的语言学特征,通过简单的dnn模型,得到文本对应的声学特征,该声学特征送入传统声码器(world等)即可得到音频数据。该方案所需硬件资源较少,可成功部署到芯片端,但是语音合成效果受影响。由于dnn模型限制,生成的声学特征与真实的声学特征相差较大,直接送入传统声码器容易产生噪声,破音等情况,因此对声学特征进行后处理十分必要。
2、声学特征的后处理方式有很多种,在不同的语音合成系统和实现中存在差异,多从频谱平滑、噪声抑制、特征修正等方面对声学特征进行优化。开源框架merlin(https://github.com/cstr-edinburgh/merlin)中,调用sptk(https://sp-tk.sourceforge.net)工具箱,实现对声学特征的后处理,计算过程复杂,耗时大。因此,针对dnn模型输出的声学特征的特殊性,设计一款能解决异常点问题,对声学特征进行平滑增强的算法十分必要。
技术实现思路
1、针对上述现有技术存在的缺陷问题,本发明公开了一种提升芯片端语音合成的后处理方法。
2、本发明所述提升芯片端语音合成的后处理方法,包括如下步骤:
3、s1.设计窗口函数,窗口总数nc=,m为最低频部分窗口值, n为最高频部分窗口值,符号表示向下取整,各窗口值wi计算方式为:
4、 (1)
5、 (2)
6、其中,公式(1)中lins运算表示在m和n之间等间距取值得到的nc个值, l表示这nc个值的集合l=(li),i=0,1,…nc-1;
7、s2.依次取每一帧声学特征的全部特征维度设置为向量p,向量p的各个元素是声学特征的特征维度;
8、做如下计算:将步骤s1得到的nc个窗口依次放在向量p上,起点依次为p0,p1…pnc-1,对向量p上被每一个窗口所覆盖的全部元素值求平均值,并记,,则第j个元素对应的特征值均值mj计算公式如下:
9、 (3)
10、公式(3)中,mj表示当前窗口求得的特征值均值,pk表示被窗口覆盖的全部特征维度;
11、则第j个元素位置处的特征值均值avej =mj;
12、并对公式(3)未计算的位置进行特征值均值补齐;
13、s3.对声学特征做增强处理,具体方式如下:
14、s31.定义零频率处的增益因子为zl,最大频率处增益因子为zu,则由如下公式得到代表增益因子的向量:
15、 (5)
16、lins运算表示在zl和zu之间等间距取值得到的n个值,是长度为的增益因子向量,n为特征维度的长度,b=(bi),i=1,2…n-2;bi为第i个位置的增益因子;
17、s32.按如下公式得到数据增强后的特征值:
18、(6)
19、公式(6)中为处理后得到的特征维度,pi表示处理前声学特征的全部特征维度,i=0,1,…n-1;最终组合全部,得到处理后的声学特征。
20、优选的,所述最低频部分窗口值m设置为9,最高频部分窗口值n设置为12。
21、优选的,所述零频率处的增益因子zl=2,最大频率处增益因子zu=1.6。
22、优选的,所述s2步骤中的声学特征的为基于语音合成方案dnn模型输出的声学特征。
23、优选的,所述步骤2中特征值均值补齐具体为:
24、第j个元素位置处的特征值均值avej
25、(4)
26、公式(4)中,avej表示第j个元素位置处的特征值均值,ml,mu表示根据公式(3)计算得到的第l和第u个元素对应的特征值均值。
27、本发明所述提升芯片端语音合成的后处理方法,可以对不同频率的特征值均值计算范围进行约束,通过频谱增强和修改语音信号的频谱分布,增强语音特征的可辨识性的同时抑制噪声,改善了语音合成的连贯性和合成质量;且本发明所述后处理方法所需算力小,易部署至芯片端。
1.一种提升芯片端语音合成的后处理方法,其特征在于,包括如下步骤:
2.如权利要求1所述的后处理方法,其特征在于,所述最低频部分窗口值m设置为9,最高频部分窗口值n设置为12。
3.如权利要求1所述的后处理方法,其特征在于,所述零频率处的增益因子zl=2,最大频率处增益因子zu=1.6。
4.如权利要求1所述的后处理方法,其特征在于,所述s2步骤中的声学特征的为基于语音合成方案dnn模型输出的声学特征。
5. 如权利要求1所述的后处理方法,其特征在于,所述步骤2中特征值均值补齐具体为: