背景技术
线谱对(LSP)参数又叫线谱频率(LSF)参数,是描述音频信号的一种参数。一帧音频信号通常可以用一组LSP参数描述。每一组LSP参数包含多个数据,这些数据都介于0到π(圆周率)之间;LSP参数包含数据的个数称为该LSP参数的阶数。采用LSP参数合成音频数据时,常先把LSP参数转化为线性预测(LPC)参数,再用利用LPC合成器将LPC参数转化为音频信号。
平滑谱曲线是一种能够描述音频信号的曲线,每帧音频信号对应一幅平滑谱曲线。计算平滑谱曲线时,首先在频率轴(范围为0~π)上选取抽样频率点;之后,采用LSP参数分别计算每个抽样频率点的平滑谱值;之后,依次将每个抽样频率点的平滑谱值连接,形成平滑谱曲线。平滑谱曲线的精细程度与抽样频率点的多少有关,抽样越密集,平滑谱越精细。实际运用中,根据不同的需求会选取不同密度的抽样频率点,计算出各个抽样频率点的平滑谱值。
计算某一抽样频率点的平滑谱值的公式为:
d(ω)=-10lg|A(ω)|2(1)
其中,|A(ω)|2=[|P(ω)|2+|Q(ω)|2]/4(2)
其中,当LSP参数的阶数为偶数时,
当LSP参数的阶数为奇数时,
其中,p为LSP参数的阶数;
ωi与θi是一组lsf参数,0<ω1<θ1<ω2<θ2<…<π;
ω为要计算平滑谱值的抽样频率点;
d(ω)为ω对应的平滑谱值;
|A(ω)|为逆滤波器的幅度谱值;
1/|A(ω)|为抽样频率点的幅度谱值(以下简称幅频值);
1/|A(ω)|2为抽样频率点的幅度谱平方值(以下简称幅平值);
由上述公式(1)可见,平滑谱与幅平谱的增减性相同。也就是说,在平滑谱曲线中,平滑谱值越大的抽样频率点,其幅平谱也越大;反之亦然。
图1为平滑谱曲线示意图。在图1中,横轴为频率,范围为(0~π),纵轴为平滑谱值。在平滑谱曲线中,凸起的尖峰为共振峰。共振峰是指在声音的频谱中能量相对集中的一些区域,共振峰是音质的决定因素,而且反映了声道(共振腔)的物理特征。声音在经过共振腔时,受到腔体的滤波作用,使得频域中不同频率的能量重新分配,一部分因为共振腔的共振作用得到强化,另一部分则受到衰减,得到强化的那些频率在时频分析的语图上表现为浓重的黑色条纹。由于能量分布不均匀,强的部分犹如山峰一般,故而称之为共振峰。在语音声学中,共振峰决定着元音的音质,而在计算机发声中,它们是决定音色和音质的重要参数。共振峰过于平滑,声音会比较沉闷。不同元音或者乐器的共振峰对应于不同的频率点。
由上述共振峰的特征可见,增强共振峰(也叫共振峰锐化),使能量更集中于共振峰部分,提高共振峰与其他部分的能量对比度能够提高音频信号的音质。
在现有技术中,增强共振峰,从而提高音频信号音质的方式有两种:
第一种,基于LSP参数的经验公式调整。
第二种,基于LPC参数的调整。将LSP参数转为LPC参数,通过调整LPC参数构造后置滤波器,从而增强共振峰。
上述方法存在如下缺点:
第一种方式的缺点是共振峰增强不明显,音质提升无明显效果。
第二种方式的缺点是容易造成频率倾斜,不能分频段进行调整,且运算量较大。
发明内容
本发明提供了一种提高音频信号音质的方法,能够分频段增强共振峰,提高音频信号的音质。
本发明还提供了一种提高音频信号音质的装置,能够分频段增强共振峰,提高音频信号的音质。
本发明提出的技术方案是这样实现的:
一种提高音频信号音质的方法,包括:
获取线谱对LSP参数;
确定平滑谱曲线的多个抽样频率点;
采用所述LSP参数,确定平滑谱值为极大值的抽样频率点和平滑谱值为极小值的抽样频率点,并计算LSP参数的能量值Elsp;
根据平滑谱值为极小值的抽样频率点将整个频率范围划分为(N+1)个频段,其中N为平滑谱值为极小值的抽样频率点的个数;在所述各个频段中,将LSP参数中属于该频段的数据向该频段中平滑谱值为极大值的抽样频率点移动,并保持各数据的大小关系不变;
根据调整后的LSP参数计算调整后的LSP参数的能量值Elsp',根据Elsp和Elsp'调整音频信号的能量系数,保证调整LSP参数之前的音频信号能量与调整LSP参数之后的音频信号能量相同;
采用调整后的LSP参数及所述与能量相关的系数重新生成音频信号。
上述方法中,平滑谱曲线的多个抽样频率点可以为:
0与LSP参数中最小数据的中间点、LSP参数中每一对相邻数据的中间点以及LSP参数中最大数据与π的中间点;
或者,均匀分布于0至π的多个频率点。
上述方法中,采用所述LSP参数,确定平滑谱值为极大值的抽样频率点和平滑谱值为极小值的抽样频率点的方式可以为:
采用所述LSP参数计算各个抽样频率点的幅平值,确定幅平值为极大值的抽样频率点和幅平值为极小值的抽样频率点,幅平值为极大值的抽样频率点即为平滑谱值为极大值的抽样频率点,幅平值为极小值的抽样频率点即为平滑谱值为极小值的抽样频率点。
将LSP参数中属于该频段的数据向该频段中平滑谱值为极大值的抽样频率点移动的方式可以为:
针对每个所述数据,计算该数据与平滑谱值为极大值的抽样频率点一侧的相邻数据的间隔,将该数据向平滑谱值为极大值的抽样频率点一侧移动所述间隔的1/n,其中,n为预先设定的整数。
根据Elsp和Elsp'调整能量系数的方式为,可以采用如下公式调整:
其中,所述G′为调整后的能量系数,G为调整前的能量系数。
一种提高音频信号音质的装置,包括:
LSP参数获取模块,用于获取LSP参数;
抽样频率点确定模块,用于确定平滑谱曲线的多个抽样频率点;
极值确定模块,用于采用所述LSP参数,确定平滑谱值为极大值的抽样频率点和平滑谱值为极小值的抽样频率点;
LSP参数调整模块,用于根据平滑谱值为极小值的抽样频率点将整个频率段划分为(N+1)个频段,其中N为平滑谱值为极小值的抽样频率点的个数;在所述各个频段中,将LSP参数中属于该频段的数据向该频段中平滑谱值为极大值的抽样频率点移动,并保持各数据的大小关系不变;
能量系数调整模块,用于根据LSP参数计算LSP参数的能量值Elsp,并根据调整后的LSP参数计算调整后的LSP参数的能量值Elsp',根据Elsp和Elsp'调整音频信号的能量系数,保证调整LSP参数之前的音频信号能量与调整LSP参数之后的音频信号能量相同;
音频信号生成模块,用于采用调整后的LSP参数及所述与能量相关的系数重新生成音频信号。
上述装置中,抽样频率点确定模块确定的多个抽样频率点可以为:
0与LSP参数中最小数据的中间点、LSP参数中每一对相邻数据的中间点以及LSP参数中最大数据与π的中间点;
或者,均匀分布于0至π的多个频率点。
所述极值确定模块可以用于,采用所述LSP参数计算各个抽样频率点的幅平值,确定幅平值为极大值的抽样频率点和幅平值为极小值的抽样频率点,幅平值为极大值的抽样频率点即为平滑谱值为极大值的抽样频率点,幅平值为极小值的抽样频率点即为平滑谱值为极小值的抽样频率点。
所述LSP参数调整模块将LSP参数中属于该频段的数据向该频段中平滑谱值为极大值的抽样频率点移动的方式可以为:
针对每个所述数据,计算该数据与平滑谱值为极大值的抽样频率点一侧的相邻数据的间隔,将该数据向平滑谱值为极大值的抽样频率点一侧移动所述间隔的1/n,其中,n为预先设定的整数。
能量系数调整模块根据Elsp和Elsp'调整能量系数的方式可以为,采用如下公式调整:
其中,所述G′为调整后的能量系数,G为调整前的能量系数。
可见,本发明提出的提高音频信号音质的方法和装置,能够采用平滑谱值为极小值的抽样频率点将整个频率段划分为若干频段,在每个频段中将LSP参数向该频段中平滑谱值为极大值的抽样频率点(即共振峰点)移动,从而增强共振峰,并最终实现提高音频信号音质的目的。
实施例一:
本实施例包括以下步骤:
第一步:获取LSP参数。
LSP参数常由前置系统产生或者其他参数转化而来,伴随着LSP参数的还有能量系数和基频信息。在语音合成系统中,LSP参数由参数生成算法产生,同时还产生清浊音标识符和能量值系数。获取到的LSP参数常常由于系统的原因过于平滑,生成的声音过于沉闷。本发明对获取LSP参数的具体方式不做限制。
在本实施例中,获取到一组10阶的LSP参数,包括10个数据:0.13π、0.18π、0.2π、0.24π、0.32π、0.52π、0.63π、0.7π、0.74π和0.85π。
第二步:确定平滑谱值曲线的多个抽样频率点。
在本实施例中,选取0与LSP参数中最小数据的中间点、LSP参数中每一对相邻数据的中间点以及LSP参数中最大数据与π的中间点作为抽样频率点。
具体地,选取11个抽样频率点,包括:(0+0.13π)/2=0.065π,(0.13π+0.18π)/2=0.155π,(0.18π+0.2π)/2=0.19π,…(0.74π+0.85π)/2=0.795π,(0.85π+π)/2=0.925π。
本发明也可以采用其他方式确定抽样频率点,例如,选取均匀分布于0至π的多个频率点作为抽样频率点。
第三步:确定平滑谱值为极大值的抽样频率点(也就是共振峰的位置)和平滑谱值为极小值的抽样频率点,并计算LSP参数的能量值Elsp。
其中,在确定平滑谱值为极大值的抽样频率点和平滑谱值为极小值的抽样频率点时,由于平滑谱与幅平谱的增减性相同,本实施例可以计算并比较各个抽样频率点的幅平值,找到幅平值为极大值(例如,比两侧的两个幅平值都大的值)的抽样频率点和幅平值为极小值(例如,比两侧的两个幅平值都小的值)的抽样频率点;幅平值为极大值的抽样频率点也就是平滑谱值为极大值的抽样频率点,幅平值为极小值的抽样频率点也就是平滑谱值为极小值的抽样频率点。
具体可以采用上述公式(2)计算幅平值。
如下表1包含了本实施例中的LSP参数、抽样频率点及对应幅平值1/|A(ω)|2。
表1
根据表1的结果确定出平滑谱值为极大值的抽样频率点为0.19π(对应的幅平值为12.5)、0.72π(对应的幅平值为7.692);平滑谱值为极小值的抽样频率点为0.42π(对应的幅平值为5.848)。
LSP参数的能量值Elsp的计算方式如下:
频率域的能量值等于频谱曲线(即1/|A(ω)|的曲线)的平方(即1/|A(ω)|2)对全频率(0~π)积分。公式为:
在离散系统中,变换为对所有抽样点的频平值(1/|A(ω)|2)和抽样区间乘积的求和。即为:
E=Σ(1/|A(ω)|2)·Δω
具体到本实施例中,则LSP参数的能量值Elsp为:
Elsp=5.882*(0.13π-0)+7.143*(0.18π-0.13π)+12.5*(0.2π-0.18π)+…+6.667*(π-0.85π)
第四步:调整LSP参数,从而增强共振峰。
首先介绍LSP参数的特性:1、LSP参数越密集的地方,平滑谱越尖锐;2、改变LSP参数中的某一数据的大小(即是移动LSP中某一线谱频率的位置)所对应的平滑谱只在该数据附近与原平滑谱有差异,而在其它频域则变化很小。
基于LSP参数的上述特性,增强共振峰的总体思路为:调整LSP参数线谱频率的位置,使共振峰处的线谱频率更密集,则共振峰就更尖锐,从而达到锐化共振峰的目的。
具体方法为:根据平滑谱值为极小值的抽样频率点将整个频率范围划分为(N+1)个频段,其中N为平滑谱值为极小值的抽样频率点的个数;在所述各个频段中,将LSP参数中属于该频段的数据向该频段中平滑谱值为极大值的抽样频率点移动,并保持各数据的大小关系不变。这种方式可以使极大值点附近的LSP参数更加密集,从而增强共振峰。
根据实际需要锐化的程度,可以在不同频段采用不同的移动策略,本发明对具体的移动策略不做限制,只需满足上述要求即可。
在本实施例中,具体采用的移动策略为:针对一个频段内的每个数据,计算该数据与平滑谱值为极大值的抽样频率点一侧的相邻数据的间隔,将该数据向平滑谱值为极大值的抽样频率点一侧移动所述间隔的1/n,其中,n为预先设定的整数。
n在不同频段取不同的值实现各频段锐化的需求。
LSP参数移动的原则为:不应改变原LSP参数的顺序,移动前任意两数据的大小关系和移动后的大小关系一样;其相对疏密度不应改变;共振峰位置不应有明显变化。
根据上述确定出的极大值点和极小值点,具体移动的方式为:
根据平滑谱值为极小值的抽样频率点0.42π,将整个频率段划分为2个频段,假设第一频段(0~0.42π)取n=4,第二频段(0.42π~π)取n=6。将第一频段的LSP参数向0.19π移动,将第二频段的LSP参数向0.72π移动。具体如下:
a)、计算间距:
第一频段:
Δlsf1=0.18π-0.13π=0.05π
Δlsf2=0.2π-0.18π=0.02π
Δlsf3=0.24π-0.2π=0.04π
Δlsf4=0.32π-0.24π=0.08π
第二频段:
Δlsf6=0.63π-0.52π=0.11π
Δlsf7=0.7π-0.63π=0.07π
Δlsf8=0.74π-0.7π=0.04π
Δlsf9=0.85π-0.74π=0.11π
b)、移动:
b1)0~0.19π频段,将LSP参数中的0.13π和0.18π分别向0.19π方向移动,具体如下:
lsf1’=lsf1+Δlsf1/n=0.13π+0.05π/4=0.1425π
lsf2’=lsf2+Δlsf2/n=0.18π+0.02π/4=0.185π
b2)0.19π~0.42π频段,将LSP参数中的0.2π、0.24π和0.32π分别向0.19π方向移动,具体如下:
lsf3’=lsf3-Δlsf2/n=0.2π-0.02π/4=0.195π
lsf4’=lsf4-Δlsf3/n=0.24π-0.04π/4=0.23π
lsf5’=lsf5-Δlsf4/n=0.32π-0.08π/4=0.3π
b3)0.42π~0.72π频段,将LSP参数中的0.52π、0.63π和0.7π分别向0.72π方向移动,具体如下:
lsf6’=lsf6+Δlsf6/n=0.52π+0.11π/6=0.538π
lsf7’=lsf7+Δlsf7/n=0.63π+0.07π/6=0.642π
lsf8’=lsf8+Δlsf8/n=0.7π+0.04π/6=0.707π
b4)0.72π~π频段,将LSP参数中的0.74π和0.85π分别向0.72π方向移动,具体如下:
lsf9’=lsf9-Δlsf8/n=0.74π-0.04π/6=0.733π
lsf10’=lsf10-Δlsf9/n=0.85π-0.11π/6=0.832π
调整后的LSP参数(LSP’)与调整前的LSP参数对比如下表2:
LSP |
0.13π |
0.18π |
0.2π |
0.24π |
0.32π |
0.52π |
0.63π |
0.7π |
0.74π |
0.85π |
LSP’ |
0.1425π |
0.185π |
0.195π |
0.23π |
0.3π |
0.538π |
0.642π |
0.707π |
0.733π |
0.832π |
表2
由表2可见:第一频段LSP参数整体向0.19π移动,第二频段LSP参数整体向0.72π移动。
具体应用中,可以根据实际情况选取部分帧的LSP参数做调整。例如,在语音合成中,影响音质的主要是浊音部分,因此调整时可以仅调整浊音段的LSP参数,而不调整清音段的LSP参数,这样可以减少运算时间。
第五步:调整音频信号的与能量相关的系数,保证调整LSP参数之前的音频信号能量与调整LSP参数之后的音频信号能量相同。
由于调整LSP参数后平滑谱会改变,LSP参数的能量值也会和调整前不一样,为了不改变音频信号整体的能量大小,需要调整音频信号的与能量相关的系数。
可以调整能量系数、基频参数等。本实施例以调整能量系数为例进行介绍。
首先,能量关系式为:E=Elsp×G2,其中:
G为能量系数;
Elsp为LSP参数的能量值;
E为音频信号的能量。
根据上述第三步介绍的方法,计算出调整后的LSP参数的能量值Elsp',由上述能量关系式可见,为保证E不变,可以调整能量系数,调整后的能量系数为:
上述过程就实现了基于LSP参数的共振峰增强,并且并不改变整体音频信号的能量值,不会使整体音量突增或突减。之后执行第六步。
第六步:采用调整后的LSP参数及与能量相关的系数(本实施例中为能量系数)重新生成音频信号。
本发明对生成音频信号的具体方式不做限制。在语音合成中,可以将调整后的LSP参数转化为LPC参数,并将LPC参数送入LPC合成器合成音频信号。
以上介绍了提高音频信号音质的方法。本发明还提出一种提高音频信号音质的装置,如图3为该装置的结构示意图,包括:
LSP参数获取模块301,用于获取LSP参数;
抽样频率点确定模块302,用于确定平滑谱曲线的多个抽样频率点;
极值确定模块303,用于采用所述LSP参数,确定平滑谱值为极大值的抽样频率点和平滑谱值为极小值的抽样频率点;
LSP参数调整模块304,用于根据平滑谱值为极小值的抽样频率点将整个频率段划分为(N+1)个频段,其中N为平滑谱值为极小值的抽样频率点的个数;在所述各个频段中,将LSP参数中属于该频段的数据向该频段中平滑谱值为极大值的抽样频率点移动,并保持各数据的大小关系不变;
能量系数调整模块305,用于根据LSP参数计算LSP参数的能量值Elsp,并根据调整后的LSP参数计算调整后的LSP参数的能量值Elsp',根据Elsp和Elsp'调整音频信号的与能量相关的系数,保证调整LSP参数之前的音频信号能量与调整LSP参数之后的音频信号能量相同;
音频信号生成模块306,用于采用调整后的LSP参数及所述与能量相关的系数重新生成音频信号。
上述装置中,抽样频率点确定模块302确定的多个抽样频率点可以为:0与LSP参数中最小数据的中间点、LSP参数中每一对相邻数据的中间点以及LSP参数中最大数据与π的中间点;或者,均匀分布于0至π的多个频率点。
极值确定模块303具体可以用于,采用所述LSP参数计算各个抽样频率点的幅平值,确定幅平值为极大值的抽样频率点和幅平值为极小值的抽样频率点,幅平值为极大值的抽样频率点即为平滑谱值为极大值的抽样频率点,幅平值为极小值的抽样频率点即为平滑谱值为极小值的抽样频率点。
LSP参数调整模块304将LSP参数中属于该频段的数据向该频段中平滑谱值为极大值的抽样频率点移动的方式可以为:针对每个所述数据,计算该数据与平滑谱值为极大值的抽样频率点一侧的相邻数据的间隔,将该数据向平滑谱值为极大值的抽样频率点一侧移动所述间隔的1/n,其中,n为预先设定的整数。
上述装置中,所述音频信号的与能量相关的系数可以为能量系数或基频参数等;
能量系数调整模块305根据Elsp和Elsp'调整能量系数的方式可以为,采用如下公式调整:
其中,所述G′为调整后的能量系数,G为调整前的能量系数。
综上可见,本发明提出的提高音频信号音质的方法和装置,根据LSP参数确定平滑谱中的共振峰点(即平滑谱值为极大值的抽样频率点)以及平滑谱值为极小值的抽样频率点;根据平滑谱值为极小值的抽样频率点将整个频率段划分为若干频段,将每个频段中的LSP参数向该频段中的共振峰移动,从而实现共振峰锐化,并且可以不同频段实现不同的锐化程度,从而实现提高音频信号的音质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。