具体实施方式
针对现有技术中存在的问题,本发明中提出一种获取语音信号的平滑谱的方案,能够减少计算量和时耗。
本发明所述方案的实现思想如下一)~五)部分所示。
一)
对于语音信号来说,任一频率点的平滑谱值的计算公式为:
d(ω)=-10lg|A(ω)|2;(1)
其中,
式(2)中的ai(i≠0)为语音信号的LPC参数,p表示LPC参数的个数,LPC参数的个数等于LSP参数的个数,||表示求模运算,ω表示任一频率点,j为虚数单位。
LPC参数为语音信号使用线性预测编码得到的参数,LSP参数为描述语音信号的另一种参数,LSP参数和LPC参数之间可以相互转换,LSP参数的取值介于0到π(圆周率)之间。
二)
根据LPC参数转LSP参数的原理,LSP参数是由以下两式等于0的根得到的:
P(ω)=A(ω)+e-jω(p+1)A(-ω);(3)
Q(ω)=A(ω)-e-jω(p+1)A(-ω);(4)
P(ω)=0和Q(ω)=0均有互为相反数的根。
具体来说,当p为偶数时,π为P(ω)=0的一个根,0为Q(ω)=0的一个根,用±ωi来表示P(ω)=0的其它根,用±θi来表示Q(ω)=0的其它根,则有:
0<ω1<θ1<ω2<θ2<…<ωp/2<θp/2<π;(5)
当p为奇数时,0和π均为Q(ω)=0的根,用±ωi来表示P(ω)=0的根,用±θi来表示Q(ω)=0的其它根,则有:
0<ω1<θ1<…<θ(p-1)/2<ω(p+1)/2<π;(6)
由于LSP参数的取值需要介于0到π之间,因此,0、π以及-ωi和-θi均不能作为LSP参数,也就是说,只有+ωi和+θi可以作为LSP参数,两者通常交替出现,即:(ω1,θ1,ω2,θ2,…)为语音信号的LSP参数。
三)
依据式(3)和(4)可以推导出:
|P(ω)+Q(ω)|=2|A(ω)|;(7)
|P(ω)-Q(ω)|=2|A(ω)|;(8)
由于P(ω)和Q(ω)满足式(7)和(8)所示关系,因此可知,P(ω)与Q(ω)正交,那么,根据勾股定理,即可推导出:
|A(ω)|2=[|P(ω)|2+|Q(ω)|2]/4。(9)
四)
依据之前的介绍可知,当p为偶数时,P(ω)=0共有p+1个根,分别为:π(一个)、+ωi(p/2个)和-ωi(p/2个),那么,根据根与系数的关系,则可将P(ω)表示为:
相应地,则有:
类似地,
当p为偶数时,Q(ω)=0共有p+1个根,分别为:0(一个)、+θi(p/2个)和-θi(p/2个),那么,根据根与系数的关系,则可将Q(ω)表示为:
相应地,则有:
类似地,
当p为奇数时,P(ω)=0共有p+1个根,分别为:+ωi((p+1)/2个)和-ωi((p+1)/2个),那么,根据根与系数的关系,则可将P(ω)表示为:
相应地,则有:
类似地,
当p为奇数时,Q(ω)=0共有p+1个根,分别为:0(一个)、π(一个)、+θi((p-1)/2个)和-θi((p-1)/2个),那么,根据根与系数的关系,则可将Q(ω)表示为:
相应地,则有:
五)
结合式(1)、(9)、(11)、(13)、(15)和(17)可以看出,针对任一频率点,只需计算出该频率点的余弦值,并分别计算出各LSP参数(如前所述,(ω1,θ1,ω2,θ2,…)即为LSP参数)的余弦值,然后,将该频率点的余弦值以及各LSP参数的余弦值分别代入到式(11)和(13)或式(15)和(17)中,即可得到该频率点的|P(ω)|2和|Q(ω)|2,之后,通过式(9),即可计算出该频率点的|A(ω)|2,再之后,通过式(1),即可最终计算出该频率点的平滑谱值d(ω)。
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
图1为本发明获取语音信号的平滑谱的方法实施例的流程图。如图1所示,包括:
步骤11:获取待处理的语音信号的各LSP参数。
如何获取为现有技术。
步骤12:分别计算各LSP参数的余弦值。
本步骤中,可首先将步骤11中获取到的各LSP参数按照预定规则划分为两组,之后,分别计算每组中的各LSP参数的余弦值。
从式(11)和(15)可以看出,在计算|P(ω)|2时,会用到cos(ωi),而不会用到cos(θi),从式(13)和(17)可以看出,在计算|Q(ω)|2时,会用到cos(θi),而不会用到cos(ωi),因此,可针对步骤11中获取到的各LSP参数,将为P(ω)=0的根的各LSP参数划分为一组,为便于表述,将其称之为第一组,将为Q(ω)=0的根的各LSP参数划分为另一组,为便于表述,将其称之为第二组,并且,分别计算第一组和第二组中的各LSP参数的余弦值。
步骤13:针对各预定频率点,分别计算该预定频率点的余弦值,并根据计算出的该预定频率点的余弦值以及各LSP参数的余弦值,计算出该预定频率点的平滑谱值。
对应于步骤12,本步骤中,对于任一预定频率点,可根据第一组中的各LSP参数的余弦值以及该预定频率点的余弦值,计算出该预定频率点的第一中间量|P(ω)|2,根据第二组中的各LSP参数的余弦值以及该预定频率点的余弦值,计算出该预定频率点的第二中间量|Q(ω)|2。
具体来说,当p为偶数时,即步骤11中获取到的LSP参数的个数为偶数时,
其中,cos(ωi)表示第一组中的各LSP参数的余弦值,cos(θi)表示第二组中的各LSP参数的余弦值,cos(ω)表示该预定频率点的余弦值,||表示求模运算。
当p为奇数时,
对于任一预定频率点,在得到该预定频率点的|P(ω)|2和|Q(ω)|2之后,即可根据|P(ω)|2和|Q(ω)|2进一步计算出该预定频率点的平滑谱值d(ω),计算方式为:
首先,计算|A(ω)|2=[|P(ω)|2+|Q(ω)|2]/4;(9)
之后,计算d(ω)=-10lg|A(ω)|2。(1)
步骤14:根据计算出的各预定频率点的平滑谱值生成该语音信号的平滑谱。
本步骤中,根据计算出的各预定频率点的平滑谱值绘制生成该语音信号的平滑谱,如何生成为现有技术。
基于上述介绍,图2为本发明获取语音信号的平滑谱的装置实施例的组成结构示意图。如图2所示,包括:
第一处理模块21,用于获取待处理的语音信号的各LSP参数,并发送给第二处理模块22;
第二处理模块22,用于分别计算各LSP参数的余弦值;并针对各预定频率点,分别计算该预定频率点的余弦值,根据计算出的该预定频率点的余弦值以及各LSP参数的余弦值,计算出该预定频率点的平滑谱值,发送给第三处理模块23;
第三处理模块23,用于根据计算出的各预定频率点的平滑谱值生成所述语音信号的平滑谱。
其中,第二处理模块22中可具体包括:
第一处理单元221,用于按照预定规则将各LSP参数划分为两组,分别计算每组中的各LSP参数的余弦值,并发送给第二处理单元222;
第二处理单元222,用于针对各预定频率点,分别根据其中一组中的各LSP参数的余弦值以及该预定频率点的余弦值,计算出该预定频率点的第一中间量|P(ω)|2,根据另外一组中的各LSP参数的余弦值以及该预定频率点的余弦值,计算出该预定频率点的第二中间量|Q(ω)|2,并根据|P(ω)|2和|Q(ω)|2计算出该预定频率点的平滑谱值,发送给第三处理模块23。
具体地,
第一处理单元221可将为P(ω)=0的根的各LSP参数划分为第一组,将为Q(ω)=0的根的各LSP参数划分为第二组;
相应地,
其中,cos(ωi)表示第一组中的各LSP参数的余弦值,cos(θi)表示第二组中的各LSP参数的余弦值,p表示第一组和第二组中的LSP参数的总个数,p为偶数,cos(ω)表示该预定频率点的余弦值,||表示求模运算;
或者,
其中,cos(ωi)表示第一组中的各LSP参数的余弦值,cos(θi)表示第二组中的各LSP参数的余弦值,p表示第一组和第二组中的LSP参数的总个数,p为奇数,cos(ω)表示该预定频率点的余弦值,||表示求模运算。
另外,
第二处理单元222计算|A(ω)|2=[|P(ω)|2+|Q(ω)|2]/4;(9)
并计算d(ω)=-10lg|A(ω)|2;(1)
将计算出的d(ω)作为该预定频率点的平滑谱值。
图2所示装置实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
总之,采用本发明所述方案,只需根据各预定频率点的余弦值以及各LSP参数的余弦值,即可计算出各预定频率点的平滑谱值,并进而根据各预定频率点的平滑谱值生成语音信号的平滑谱,也就是说,相比于现有技术,本发明所述方案中无需将LSP参数转换为LPC参数,从而减少了计算量,相应地,也减少了时耗。
而且,本发明所述方案中,可根据需要灵活设置各预定频率点的取值以及预定频率点的个数,比如,如果比较关心某一频率范围,则可在该频率范围内多设置一些频率点,从而使得该频率范围对应的平滑谱更为精确,反之,如果不太关心某一频率范围,则可在该频率范围内少设置一些频率点,而现有技术中,由于采用了FFT技术,因此只能全频段均匀的设置频率点,显然,相比于现有技术,本发明所述方案实现起来更为灵活方便。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。