削波语音信号处理方法、系统、电子设备及存储介质与流程

文档序号:23717395发布日期:2021-01-24 06:08阅读:274来源:国知局
削波语音信号处理方法、系统、电子设备及存储介质与流程

[0001]
本发明涉及信号处理技术领域,尤其涉及一种削波语音信号处理方法、系统、电子设备及存储介质。


背景技术:

[0002]
语音信号削波,又称截幅,是一种常见的语音失真类型。由于语音信号削波产生的杂音非常刺耳,导致的失真会严重损伤语音的质量和可懂度,降低语音识别系统的性能。因此,对削波语音信号进行恢复处理至关重要。
[0003]
现有技术中在对削波语音信号进行恢复处理时,通常采用三次插值法对削波位置的语音信号进行插值但是上述方法会导致插值得到的语音信号的波形过于平滑,语音的高频信息大量丢失,处理后的语音质量较低。


技术实现要素:

[0004]
本发明实施例提供一种削波语音信号处理方法、系统、电子设备及存储介质,用以解决现有技术中存在的缺陷。
[0005]
本发明实施例提供一种削波语音信号处理方法,包括:
[0006]
确定削波语音信号的若干削波段;
[0007]
基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果;
[0008]
基于每一削波段的插值估计结果,对所述削波语音信号进行恢复。
[0009]
根据本发明一个实施例的削波语音信号处理方法,所述任一削波段的两侧中任一侧的语音信号导数基于所述任一侧的边缘位置和/或所述边缘位置的临近位置确定。
[0010]
根据本发明一个实施例的削波语音信号处理方法,所述任一削波段的两侧中任一侧的语音信号导数的确定方法包括:
[0011]
若所述任一侧的边缘位置处的语音信号导数与所述任一侧的临近位置处的语音信号导数的符号相反,则确定所述任一侧的边缘位置处的语音信号导数为所述任一侧的语音信号导数;
[0012]
否则,确定所述任一侧的临近位置处的语音信号导数为所述任一侧的语音信号导数。
[0013]
根据本发明一个实施例的削波语音信号处理方法,所述基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果,具体包括:
[0014]
基于所述任一削波段的两侧中任一侧的语音信号导数,从所述任一侧向所述任一削波段的中间拟合,得到所述任一削波段上所有采样点的第一插值估计结果;
[0015]
基于所述任一削波段的两侧中另一侧的语音信号导数,从所述另一侧向所述任一削波段的中间拟合,应用拟合所得的所述任一削波段上采样点的第二插值估计结果替换对
应采样点的第一插值估计结果,直至所述任一削波段上采样点的第二插值估计结果大于对应采样点的第一插值估计结果。
[0016]
根据本发明一个实施例的削波语音信号处理方法,所述基于每一削波段的插值估计结果,对所述削波语音信号进行恢复,之后还包括:
[0017]
基于恢复得到的目标语音信号在频域的能量以及所述目标语音信号对应于所述削波语音信号的每一削波段的位置,对所述目标语音信号进行噪声抑制。
[0018]
根据本发明一个实施例的削波语音信号处理方法,所述基于恢复得到的目标语音信号在频域的能量以及所述目标语音信号对应于所述削波语音信号的每一削波段的位置,对所述目标语音信号进行噪声抑制,具体包括:
[0019]
确定所述目标语音信号中包含的每一语音帧;
[0020]
若任一语音帧中包含有任一削波段的对应位置,则基于所述任一语音帧在频域上的平均能量和最小能量,确定所述任一语音帧的增强能量;
[0021]
基于所述目标语音信号中包含的每一语音帧的增强能量,确定所述目标语音信号的噪声抑制结果。
[0022]
根据本发明一个实施例的削波语音信号处理方法,所述确定削波语音信号的若干削波段,具体包括:
[0023]
对所述削波语音信号进行逐点采样,并基于当前采样点的前一采样点的语音信号幅值的历史极值与所述当前采样点的语音信号幅值,计算所述当前采样点的语音信号幅值的当前极值;
[0024]
若所述当前极值的连续出现次数大于预设阈值,则确定包含所述当前采样点在内的所述连续出现次数个采样点处于一个削波段内。
[0025]
根据本发明一个实施例的削波语音信号处理方法,所述基于当前采样点的前一采样点的语音信号幅值的历史极值与所述当前采样点的语音信号幅值,计算所述当前采样点的语音信号幅值的当前极值,具体包括:
[0026]
基于预设衰减系数,对所述历史极值进行衰减处理;
[0027]
基于衰减处理后的历史极值与所述当前采样点的语音信号幅值,计算所述当前极值。
[0028]
本发明实施例还提供一种削波语音信号处理系统,包括:削波段确定模块、插值估计模块以及恢复模块。其中,
[0029]
削波段确定模块用于确定削波语音信号的若干削波段;
[0030]
插值估计模块用于基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果;
[0031]
恢复模块用于基于每一削波段的插值估计结果,对所述削波语音信号进行恢复。
[0032]
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述削波语音信号处理方法的步骤。
[0033]
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述削波语音信号处理方法的步骤。
[0034]
本发明实施例提供的削波语音信号处理方法、系统、电子设备及存储介质,利用削
波语音信号中任一削波段的两侧的语音信号导数,从任一削波段的两侧向任一削波段的中间拟合,得到任一削波段的插值估计结果,并根据每一削波段的插值估计结果,对削波语音信号进行恢复。使得恢复出的语音信号为锯齿状,可以保留语音中更多的高频信息,语音质量更高,听感更好。
附图说明
[0035]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]
图1是现有技术中采用三次插值法对削波位置的语音信号进行插值前的削波语音信号波形图;
[0037]
图2是现有技术中采用三次插值法对削波位置的语音信号进行插值后得到的恢复语音信号波形图;
[0038]
图3是采用三次插值法对削波位置的语音信号进行插值前的削波语音信号语谱图;
[0039]
图4是采用三次插值法对削波位置的语音信号进行插值后得到的恢复语音信号语谱图;
[0040]
图5是本发明实施例中提供的一种削波语音信号处理方法的流程示意图;
[0041]
图6是本发明实施例中提供的双向拟合的流程示意图;
[0042]
图7是本发明实施例中的削波语音信号波形示意图;
[0043]
图8是本发明实施例中从左至右进行拟合后得到的语音信号波形示意图;
[0044]
图9是本发明实施例中从左至右进行拟合与从右至左进行拟合后得到的语音信号波形叠加示意图;
[0045]
图10是本发明实施例中将恢复得到的目标语音信号中所有采样点的插值估计结果进行等比例缩小后得到的效果图;
[0046]
图11是本发明实施例中噪声抑制前目标语音信号频谱图;
[0047]
图12是本发明实施例中噪声抑制后目标语音信号频谱图;
[0048]
图13是本发明实施例中提供的削波语音信号处理系统的结构示意图;
[0049]
图14是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
[0050]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]
语音信号削波,又称截幅,是一种常见的语音失真类型。产生削波的原因是信号的波峰或波谷的幅度超出了器件或编码所能表达的最大范围,导致信号的波峰或波谷被强制截断。语音的采集和处理系统应当防止削波,但在实际应用中常常是难以完全避免,例如声
源距离拾音器距离过近或者声音音量突然大幅度提高都有可能导致削波。
[0052]
现有技术中在对削波语音信号进行恢复处理时,通常采用如下方法进行:首先,通过对语音信号的幅值设置固定阈值的方式,判定语音信号的削波位置;然后,采用三次插值法对削波位置的语音信号进行插值;最后通过检查信号的截止频率,对插值得到的语音信号进行低通滤波。
[0053]
其中,三次插值法(cubic interpolation method)是一种多项式插值法,逐次以三次曲线φ(t)=a
0
+a
1
t+a
2
t
2
+a
3
t
3
的极小点逼近寻求,目标函数曲线f(t)的极小点的一种方法。图1和图2分别为采用三次插值法对削波位置的语音信号进行插值前的削波语音信号波形图以及插值后得到的恢复语音信号波形图,由图1和图2中的波峰波谷对比可知,经过三次插值法进行插值后得到的恢复语音信号波形过于平滑,高频信息大量丢失,处理后的语音非常沉闷。图3和图4分别为采用三次插值法对削波位置的语音信号进行插值前的削波语音信号语谱图以及插值后得到的恢复语音信号语谱图,对比图3和图4可知,经过三次插值法进行插值后得到的恢复语音信号中仅剩低频部分,并不比进行插值前带有削波杂音的削波语音信号悦耳。为此,本发明实施例中提供了一种削波语音信号处理方法,旨在将削波语音信号进行恢复。
[0054]
图5为本发明实施例中提供的一种削波语音信号处理方法的流程示意图,如图5所示,该方法包括:
[0055]
s1,确定削波语音信号的若干削波段;
[0056]
s2,基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果;
[0057]
s3,基于每一削波段的插值估计结果,对所述削波语音信号进行恢复。
[0058]
可以理解的是,本发明实施例中提供的削波语音信号处理方法,其执行主体为削波语音信号处理系统,该系统可以基于服务器搭建,服务器可以是本地服务器,例如计算机、智能手机以及平板电脑等,也可以是云端服务器,本发明实施例中对此不做限定。
[0059]
首先执行步骤s1,确定出削波语音信号的若干削波段。其中,削波语音信号是指削波后的语音信号,需要将削波语音信号作为处理对象,将其恢复还原为削波前的语音信号。削波段是指削波语音信号中发生削波的位置。一般情况下,削波语音信号中发生削波的位置均为波峰区域和/或波谷区域,在一段语音信号中可能会存在不止一个波峰和/波谷,因此在削波语音信号中,可以包含有若干削波段。
[0060]
然后执行步骤s2,对每一削波段均进行插值估计。设削波语音信号中包含有m(m≥1)个削波段,则对于削波语音信号中的任一削波段j(1≤j≤m),根据削波段j的两侧的语音信号导数,从削波段j的两侧向削波段的中间拟合,得到削波段j的插值估计结果。其中,拟合的过程为插值估计的过程,也即估计出削波段j在发生削波之前的语音信号幅值的过程,该过程通常是逐点进行。因此,可以对削波段j进行采样,确定削波段j内的多个采样点。每一采样点均对应一时刻t,且每一采样点的幅值可表示为x(t)。语音信号导数是指语音信号幅值对时间的导数,可以通过相邻采样点的幅值之差进行表示,用于表征语音信号波形的变化趋势。削波段j内的每一采样点均对应一语音信号导数,可表示为x

(t)=x(t)-x(t-1),用于表征该采样点处语音信号波形的变化趋势,可等效为该采样点处语音信号波形的斜率。削波段j的插值估计结果可以为削波段j内所有采样点的插值估计结果的集合。
[0061]
在进行拟合时,利用的是削波段j的两侧的语音信号导数,例如可以是削波段j的两侧处于削波段j内的边缘采样点的语音信号导数,也可以是削波段j的两侧处于削波段j外、且与边缘采样点临近的位置的语音信号导数,可以根据需要选择上述任一种,本发明实施例中对此不做限定。拟合的方向为由两侧向中间的方向进行,例如可以是先由一侧向中间将整个削波段j拟合完成后,再由另一侧向中间将整个削波段j拟合完成,此时削波段j的插值估计结果可以为削波段j内所有采样点的两次拟合结果中的较小值的集合。还可以是同时分别从两侧向中间进行拟合,直至两侧的拟合结果相交,同时结束拟合动作,此时削波段j的插值估计结果可以为削波段j内所有采样点的两次拟合结果的并集集合。需要说明的是,当同时从两侧向中间进行拟合时,需要保证两侧的拟合结果最终重合或者其相交位置的差值在预设范围内,避免出现波形断点的情况产生。
[0062]
最后执行步骤s3,根据削波语音信号中每一削波段的插值估计结果,对削波语音信号进行恢复。恢复的过程可以是利用削波语音信号中每一削波段的插值估计结果替换削波语音信号中对应削波段的语音信号幅值的过程,替换后得到的语音信号即为恢复出的语音信号。
[0063]
本发明实施例中提供的削波语音信号处理方法,利用削波语音信号中任一削波段的两侧的语音信号导数,从任一削波段的两侧向任一削波段的中间拟合,得到任一削波段的插值估计结果,并根据每一削波段的插值估计结果,对削波语音信号进行恢复。使得恢复出的语音信号为锯齿状,可以保留语音中更多的高频信息,语音质量更高,听感更好。
[0064]
在上述实施例的基础上,任一削波段的两侧中任一侧的语音信号导数基于所述任一侧的边缘位置和/或所述边缘位置的临近位置确定。
[0065]
可以理解的是,削波段j的两侧中任一侧的语音信号导数既可以根据该侧的边缘位置确定,也可以根据该侧的边缘位置的临近位置确定,还可以将该侧的边缘位置与其临近位置同时确定。其中,临近位置是指削波段外与该边缘位置距离最近的位置。例如,对于削波段j的第k(k=1、2)侧,第k侧的边缘位置的临近位置可以为削波段j第k侧外、与第k侧的边缘位置距离最近的位置。可以直接将第k侧的边缘位置处采样点的语音信号导数作为削波段j第k侧的语音信号导数,也可以直接将第k侧的边缘位置的临近位置处采样点的语音信号导数作为削波段j第k侧的语音信号导数,还可以将第k侧的边缘位置与第k侧的边缘位置的临近位置相结合,确定出削波段j第k侧的语音信号导数。结合的方式可以是判断边缘位置以及其临近位置的语音信号导数表征的波形趋势是否相同,如果相同则可以任选其一,如果不相同则只能根据需要选择边缘位置的语音信号导数或者临近位置的语音信号导数作为削波段j第k侧的语音信号导数。
[0066]
本发明实施例中,给出了确定削波段任一侧的语音信号导数的确定方式,确定方式更加灵活,避免出现无法确定削波段任一侧的语音信号导数的情况产生。
[0067]
在上述实施例的基础上,任一削波段的两侧中任一侧的语音信号导数的确定方法包括:
[0068]
若所述任一侧的边缘位置处的语音信号导数与所述任一侧的临近位置处的语音信号导数的符号相反,则确定所述任一侧的边缘位置处的语音信号导数为所述任一侧的语音信号导数;
[0069]
否则,确定所述任一侧的临近位置处的语音信号导数为所述任一侧的语音信号导
数。
[0070]
可以理解的是,判断第k侧的边缘位置处的语音信号导数与第k侧的临近位置处的语音信号导数的符号是否相反,可以通过二者的乘积是否小于0进行判断,如果二者的乘积小于0则相反,否则相同。
[0071]
若以削波段j具有左侧和右侧这两侧为例,削波段j具有n+1个采样点,采用i(0≤i≤n)进行标号,削波段j左侧的边缘位置处采样点x(t)的语音信号导数为x

(t),削波段j左侧的边缘位置的临近位置出采样点x(t-1)的语音信号导数为x

(t-1)。削波段j右侧的边缘位置处采样点x(t+n)的语音信号导数为x

(t+n),削波段j左侧的边缘位置的临近位置出采样点x(t+n+1)的语音信号导数为x

(t+n+1)。对于削波段j左侧,可以通过判断x

(t)与x

(t-1)的符号是否相反确定削波段j左侧的语音信号导数,如果符号相反,则说明二者表征的语音信号波形趋势相反,采样点x(t)无法采用采样点x(t-1)确定出插值估计结果,因此只能选取x

(t)作为削波段j左侧的语音信号导数,不对采样点x(t)进行插值估计,而是直接认为采样点x(t)的插值估计结果等于x(t),通过x(t)以及x

(t)确定出采样点x(t+1)的插值估计结果。如果x

(t)与x

(t-1)的符号相同,则说明二者表征的语音信号波形趋势相同,因此可以选取x

(t)或x

(t-1)作为削波段j左侧的语音信号导数。由于采样点x(t)处已经发生了削波,x

(t)并不准确,首选x

(t-1)作为削波段j左侧的语音信号导数。因此,削波段j左侧的语音信号导数fl的取值可以表示为:
[0072][0073]
对于削波段j右侧,可以通过判断x

(t+n)与x

(t+n+1)的符号是否相反,如果符号相反,则说明二者表征的语音信号波形趋势相反,因此只能选取x

(t+n)作为削波段j右侧的语音信号导数。如x

(t+n)与x

(t+n+1)的符号相同,则说明二者表征的语音信号波形趋势相同,因此可以选取x

(t+n)与x

(t+n+1)作为削波段j右侧的语音信号导数。由于采样点x

(t+n)处已发生削波,x

(t+n)并不准确,首选x

(t+n+1)作为削波段j右侧的语音信号导数。因此,削波段j右侧的语音信号导数fr的取值可以表示为:
[0074][0075]
本发明实施例中,通过判断削波段某一侧的边缘位置处的语音信号导数与该侧的临近位置处的语音信号导数的符号是否相反确定削波段任一侧的语音信号导数,可以使得确定的削波段任一侧的语音信号导数的可用性更好,防止确定出的削波段某一侧的语音信号导数无法使用的情况产生。
[0076]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理方法,所述基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果,具体包括:
[0077]
基于所述任一削波段的两侧中任一侧的语音信号导数,从所述任一侧向所述任一削波段的中间拟合,得到所述任一削波段上所有采样点的第一插值估计结果;
[0078]
基于所述任一削波段的两侧中另一侧的语音信号导数,从所述另一侧向所述任一削波段的中间拟合,应用拟合所得的所述任一削波段上采样点的第二插值估计结果替换对
应采样点的第一插值估计结果,直至所述任一削波段上采样点的第二插值估计结果大于对应采样点的第一插值估计结果。
[0079]
可以理解的是,本发明实施例中在确定削波段j的插值估计结果时,可以采用双向拟合的方式实现插值估计,如图6所示,为本发明实施例中提供的双向拟合的流程示意图。
[0080]
第一步,确定出削波段j的所有采样点。
[0081]
第二步,确定出削波段j左侧的语音信号导数。
[0082]
第三步,根据削波段j左侧的语音信号导数,从左至右进行拟合,得到削波段j上所有采样点的第一插值估计结果,即以fl为削波段j左侧的语音信号导数,估计采样点x(t)至x(t+n)的第一插值估计结果。设采样点x(t)的第一插值估计结果为x
l
(t),则有x
l
(t)=x
l
(t-1)+fl,直至x
l
(t+n)=x
l
(t+n-1)+fl。
[0083]
图7为本发明实施例中的削波语音信号波形示意图,图7中的削波语音信号包含有5个削波段,分别通过虚线矩形框框出。图8为从左至右进行拟合后得到的语音信号波形示意图。从图8可以看到,从左至右对每个削波段进行拟合后,会在每个削波段内形成从左至右延伸的斜线,如图8中第二个虚线矩形框和第三个虚线矩形框中的箭头所示。削波段内最后一个采样点的第一插值估计结果达到极值,且与削波段右侧未削波的第一个采样点是不连续的。
[0084]
第四步,确定出削波段j右侧的语音信号导数。
[0085]
第五步,根据削波段j右侧的语音信号导数,从右至左进行拟合,得到削波段j上所有采样点的第二插值估计结果,即以fr为削波段j右侧的语音信号导数,估计采样点x(t+n)至x(t)的第二插值估计结果。设采样点x(t+n)的第二插值估计结果为x
r
(t+n),则有x
r
(t+n)=x
r
(t+n+1)-fr,直至x
r
(t)=x
r
(t+1)-fr。
[0086]
由于经过从左至右进行拟合后最后一个采样点的幅度是最大的,而该采样点是从右至左进行拟合的第一个采样点,该采样点的第二插值估计结果远小于第一插值估计结果,因此该采样点的第二插值估计结果替换第一插值估计结果。继续从右至左进行估计直至某个采样点m的第二插值估计结果大于第一插值估计结果,即有abs(x
r
(t+m))>abs(x
l
(t+m))时结束从右至左的拟合,此时从右至左拟合得到的斜线与从左至右拟合得到的斜线相交。图9为从左至右进行拟合与从右至左进行拟合后得到的语音信号波形叠加示意图。从图9可以看到,从右至左对每个削波段进行拟合后,会在每个削波段内形成从右至左延伸的斜线,与从左至右拟合得到的斜线相交。如图9中第二个虚线矩形框和第三个虚线矩形框中的箭头所示。
[0087]
从图9可以看到,本发明实施例中通过双向拟合得到的每一削波段的插值估计结果为锯齿状,保留了更多的语音高频信息,听感更好。
[0088]
至此,基于双向拟合实现的插值估计过程结束,最终可以实现对削波语音信号进行恢复,得到目标语音信号。在此基础上,还可以进行第六步操作。
[0089]
第六步,将恢复得到的目标语音信号中所有采样点的插值估计结果进行等比例缩小,以保证目标语音信号中所有采样点的幅值均处于导致削波产生的幅值阈值之内,防止目标语音信号在使用过程中被再次削波。如图10所示,其中的两条横线表示的即为导致削波产生的幅值阈值。
[0090]
由于插值估计必然会引入噪声,现有技术中在插值估计结束后通过检查信号的截
止频率,对插值得到的语音信号进行低通滤波,以此消除插值估计产生的高频噪声。首先,这种方式是通过设置能量阈值来确定截止频率的,即如果从某个频率开始能量都比较小,则认为那些高频都不是目标信号了,但语音中的“清音”能量小且频率高。其次,这种方式容易受到器件频响或其他算法处理模块等频响的影响,例如麦克风的频响很多都会压低高频能量,导致无法找到有效的能量阈值。最后,用削波发生前的语音帧来估计当前的截至频率,存在很多不确定性,例如削波前语音含有音乐噪声,而音乐的频率一般非常高,这样就估计不到削波发生时语音的截至频率,进而导致无法实现噪声抑制。为此,本发明实施例中提供了一种噪声抑制方法。
[0091]
在上述实施例的基础上,所述基于每一削波段的插值估计结果,对所述削波语音信号进行恢复,之后还包括:
[0092]
基于恢复得到的目标语音信号在频域的能量以及所述目标语音信号对应于所述削波语音信号的每一削波段的位置,对所述目标语音信号进行噪声抑制。
[0093]
可以理解的是,由于语音削波会引入刺耳的噪声,从频谱上来看,会看到一条条竖线,经过插值估计之后残留噪声会显著减弱但仍存在。本发明实施例则估计这些频谱泄露的能量,并进行针对性抑制。
[0094]
在进行噪声抑制时,可以根据恢复得到的目标语音信号在频域的能量以及目标语音信号对应于削波语音信号的每一削波段的位置实现。其中,目标语音信号在频域的能量可以通过将目标语音信号进行傅里叶变换转换为频域信号后确定,能量值可以通过频域信号的幅值的绝对值平方确定。目标语音信号对应于削波语音信号的每一削波段的位置是指目标语音信号内在恢复之前为削波段的位置。可以对于目标语音信号对应于削波语音信号的每一削波段的位置处在频域的能量按比例缩小,以此实现噪声抑制,也可以采用其他方式实现,本发明实施例中对此不做限定。
[0095]
本发明实施例中,在确定目标语音信号的基础上进一步进行噪声抑制,可以进一步提高语音信号质量。
[0096]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理方法,所述基于恢复得到的目标语音信号在频域的能量以及所述目标语音信号对应于所述削波语音信号的每一削波段的位置,对所述目标语音信号进行噪声抑制,具体包括:
[0097]
确定所述目标语音信号中包含的每一语音帧;
[0098]
若任一语音帧中包含有任一削波段的对应位置,则基于所述任一语音帧在频域上的平均能量和最小能量,确定所述任一语音帧的增强能量;
[0099]
基于所述目标语音信号中包含的每一语音帧的增强能量,确定所述目标语音信号的噪声抑制结果。
[0100]
可以理解的是,本发明实施例中在进行噪声抑制时,可以通过执行以下步骤实现。
[0101]
第一步,确定目标语音信号中包含的每一语音帧。在此之前,可以对目标语音信号进行加窗分帧,即通过加窗的方式对目标语音信号进行分帧,确定出目标语音信号中包含的语音帧。
[0102]
第二步,若任一语音帧中包含有任一削波段的对应位置,则基于任一语音帧在频域上的平均能量和最小能量,确定任一语音帧的增强能量。若任一语音帧中包含有任一削波段的对应位置,则说明该语音帧发生过削波。将其设定为抑制噪声的条件,可以仅在削波
段抑制残留噪声,保证未削波部分不受影响。其中,任一削波段的对应位置既可以是该削波段整体对应的位置,也可以是该削波段中部分区域或部分采样点对应的位置,本发明实施例中对此不做限定。
[0103]
在确定任一语音帧在频域上的平均能量和最小能量时,可以先通过对该语音帧进行傅里叶变换,得到该语音帧的频域信号。设任一语音帧的频域信号为x(f,l),其中f表示频率,l表示该语音帧的帧序号。该语音帧的频域信号的能量p(f,l)可以通过如下公式计算:
[0104]
p(f,l)=|x(f,l)|
2
[0105]
通过语音帧l的频域信号的能量p(f,l),即可确定出语音帧l在频域上的平均能量和最小能量,平均能量为语音帧l的频域信号中所有频率的平均能量,可以通过mean(p(f,l))表示,最小能量为语音帧l的频域信号中所有频率的最小能量,可以通过min(p(f,l))表示。
[0106]
可以分别对平均能量和最小能量引入取值在0到1之间的衰减因子,通过衰减因子减少平均能量和最小能量,可以分别得到目标平均能量和目标最小能量,进而可以根据该目标平均能量以及目标最小能量确定该语音帧的增强能量。
[0107]
目标平均能量和目标最小能量可以分别表示为p
avg
(l)和p
min
(l)。则有:
[0108]
p
avg
(l)=mean(p(f,l))
×
β
[0109]
p
min
(l)=min(p(f,l))
×
γ
[0110]
其中,β和γ均为取值在0到1之间的衰减因子。
[0111]
语音帧l的增强能量为:
[0112]
p
new
(f,l)=max(p(f,l)-p
avg
(l),p
min
(l))
[0113]
第三步,根据目标语音信号中包含的每一语音帧的增强能量,确定目标语音信号的噪声抑制结果。在确定出目标语音信号中包含的所有语音帧的增强能量后,以所有语音帧的增强能量作为目标语音信号的频谱能量,并利用傅里叶逆变换,将目标语音信号变换到时域,记得带目标语音信号的噪声抑制结果。
[0114]
图11为噪声抑制前目标语音信号频谱图,图12为噪声抑制后目标语音信号频谱图,对比图11和图12可以看到,本发明实施例中提供的噪声抑制方法可以有效抑制插值估计后的残留噪声,尤其是高频部分,使语音频谱更加清晰,语音质量更好。
[0115]
现有技术中,在确定削波位置时,通过对语音信号的幅值设置固定阈值的方式实现。但是,由于后续还需要对对语音信号进行增益控制等处理,使得已经发生了削波的语音信号的整体幅度被进一步缩放,此时将无法根据该固定阈值准确确定出削波位置。为此,本发明实施例中提供了一种削波段确定方法,以确定出削波语音信号中的若干削波段。
[0116]
在上述实施例的基础上,所述确定削波语音信号的若干削波段,具体包括:
[0117]
对所述削波语音信号进行逐点采样,并基于当前采样点的前一采样点的语音信号幅值的历史极值与所述当前采样点的语音信号幅值,计算所述当前采样点的语音信号幅值的当前极值;
[0118]
若所述当前极值的连续出现次数大于预设阈值,则确定包含所述当前采样点在内的所述连续出现次数个采样点处于一个削波段内。
[0119]
可以理解的是,削波现象只会发生在语音信号的部分波峰或波谷,当削波发生时,
语音信号的波峰或者波谷会被“削平”,即语音信号会出现连续相等的极值点,就算对信号进行了缩放,这个现象也会一直存在。因此,本发明实施例中对削波语音信号进行逐点采样,然后根据当前采样点的前一采样点的语音信号幅值的历史极值与当前采样点的语音信号幅值,计算当前采样点的语音信号幅值的当前极值。其中,确定每一采样点的语音信号幅值的当前极值的过程是一种迭代的过程,例如可以选取历史极值与当前采样点的语音信号极值二者中的最大值作为当前采样点的语音信号幅值的当前极值。由于每一采样点与时刻一一对应,则每一采样点的极值可以等效为该采样点对应的时刻的极值,可以通过改时刻及以前所有时刻的语音信号的最大值确定该采样点的极值。
[0120]
然后统计当前极值的连续持续次数,当前采样点的语音信号幅值等于当前极值且等于前一个采样点的语音信号幅值时,计数器的计数加1。其中,计数器的计数c(t)可以通过如下公式确定:
[0121][0122]
判断当前极值的连续出现次数c(t)与预设阈值τ之间的大小关系,如果当前极值的连续出现次数大于预设阈值,即c(t)>τ,τ为大于1的整数,则说明削波语音信号中幅值最大的区域具有一定宽度,该宽度可以认为是由于发生削波产生,因此可以确定包含当前采样点在内的连续出现次数个采样点处于一个削波段内。这是因为,该削波段内可能不仅只包含有连续出现次数个采样点,如果当前采样点后使当前极值的连续出现次数增加的极值对应的采样点均可以包含在该削波段内,也即该削波段内至少包含有该连续出现次数个采样点。
[0123]
本发明实施例中,通过当前极值的连续持续次数确定削波段,可以以削波段中包含的采样点的数量精确确定削波段。
[0124]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理方法,所述基于当前采样点的前一采样点的语音信号幅值的历史极值与所述当前采样点的语音信号幅值,计算所述当前采样点的语音信号幅值的当前极值,具体包括:
[0125]
基于预设衰减系数,对所述历史极值进行衰减处理;
[0126]
基于衰减处理后的历史极值与所述当前采样点的语音信号幅值,计算所述当前极值。
[0127]
可以理解的是,在确定当前采样点的语音信号幅值的当前极值时,可以引入预设衰减系数α,根据预设衰减系数α对历史极值进行衰减处理,用于防止历史极值对后续极值计算的长时间影响。然后根据衰减处理后的历史极值与当前采样点的语音信号幅值,计算当前采样点的语音信号幅值的当前极值。可以选择衰减处理后的历史极值与当前采样点的语音信号幅值二者之间的最大值作为当前采样点的语音信号幅值的当前极值。
[0128]
极值通常包括极大值和极小值,当前采样点x(t+i)的前一采样点x(t+i-1)的语音信号幅值的历史极值中的极大值和极小值可以分别表示为p
+
(t+i-1)和p-(t+i-1),则当前极值中的极大值p
+
(t+i)和极小值p-(t+i)可以分别通过如下公式确定:
[0129]
p
+
(t+i)=max(p(t+i-1)
×
α,x(t+i))
[0130]
p-(t+i)=min(p(t+i-1)
×
α,x(t+i))
[0131]
其中,预设衰减系数α的取值范围为0至1。
[0132]
当i=0时,p
+
(t+i)=p-(t+i)=x(t+i)。
[0133]
本发明实施例中,给出了确定当前极值的具体方式,通过引入预设衰减系数,便于快速确定出削波段。
[0134]
如图13所示,在上述实施例的基础上,本发明实施例中提供了一种削波语音信号处理系统,包括:削波段确定模块131、插值估计模块132和恢复模块133。其中,
[0135]
削波段确定模块131用于确定削波语音信号的若干削波段;
[0136]
插值估计模块132用于基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果;
[0137]
恢复模块133用于基于每一削波段的插值估计结果,对所述削波语音信号进行恢复。
[0138]
具体地,本发明实施例中提供的削波语音信号处理系统中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述实施例,本发明实施例中对此不再赘述。
[0139]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理系统,还包括:导数确定模块,用于:
[0140]
基于所述任一侧的边缘位置和/或所述边缘位置的临近位置确定所述任一削波段的两侧中任一侧的语音信号导数。
[0141]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理系统,所述导数确定模块,具体用于:
[0142]
若所述任一侧的边缘位置处的语音信号导数与所述任一侧的临近位置处的语音信号导数的符号相反,则确定所述任一侧的边缘位置处的语音信号导数为所述任一侧的语音信号导数;
[0143]
否则,确定所述任一侧的临近位置处的语音信号导数为所述任一侧的语音信号导数。
[0144]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理系统,所述插值估计模块,具体用于:
[0145]
基于所述任一削波段的两侧中任一侧的语音信号导数,从所述任一侧向所述任一削波段的中间拟合,得到所述任一削波段上所有采样点的第一插值估计结果;
[0146]
基于所述任一削波段的两侧中另一侧的语音信号导数,从所述另一侧向所述任一削波段的中间拟合,应用拟合所得的所述任一削波段上采样点的第二插值估计结果替换对应采样点的第一插值估计结果,直至所述任一削波段上采样点的第二插值估计结果大于对应采样点的第一插值估计结果。
[0147]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理系统,还包括:噪声抑制,用于:
[0148]
基于恢复得到的目标语音信号在频域的能量以及所述目标语音信号对应于所述削波语音信号的每一削波段的位置,对所述目标语音信号进行噪声抑制。
[0149]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理系统,所述噪声抑制模块,具体用于:
[0150]
确定所述目标语音信号中包含的每一语音帧;
[0151]
若任一语音帧中包含有任一削波段的对应位置,则基于所述任一语音帧在频域上的平均能量和最小能量,确定所述任一语音帧的增强能量;
[0152]
基于所述目标语音信号中包含的每一语音帧的增强能量,确定所述目标语音信号的噪声抑制结果。
[0153]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理系统,所述削波段确定模块,具体用于:
[0154]
对所述削波语音信号进行逐点采样,并基于当前采样点的前一采样点的语音信号幅值的历史极值与所述当前采样点的语音信号幅值,计算所述当前采样点的语音信号幅值的当前极值;
[0155]
若所述当前极值的连续出现次数大于预设阈值,则确定包含所述当前采样点在内的所述连续出现次数个采样点处于一个削波段内。
[0156]
在上述实施例的基础上,本发明实施例中提供的削波语音信号处理系统,所述削波段确定模块,还具体用于:
[0157]
基于预设衰减系数,对所述历史极值进行衰减处理;
[0158]
基于衰减处理后的历史极值与所述当前采样点的语音信号幅值,计算所述当前极值。
[0159]
图14示例了一种电子设备的实体结构示意图,如图14所示,该电子设备可以包括:处理器(processor)1410、通信接口(communications interface)1420、存储器(memory)1430和通信总线1440,其中,处理器1410,通信接口1420,存储器1430通过通信总线1440完成相互间的通信。处理器1410可以调用存储器1430中的逻辑指令,以执行削波语音信号处理方法,该方法包括:确定削波语音信号的若干削波段;基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果;基于每一削波段的插值估计结果,对所述削波语音信号进行恢复。
[0160]
此外,上述的存储器1430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0161]
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的削波语音信号处理方法,该方法包括:确定削波语音信号的若干削波段;基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果;基于每一削波段的插值估计结果,对所述削波语音信号进行恢复。
[0162]
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计
算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的削波语音信号处理方法,该方法包括:确定削波语音信号的若干削波段;基于任一削波段的两侧的语音信号导数,从所述任一削波段的两侧向所述任一削波段的中间拟合,得到所述任一削波段的插值估计结果;基于每一削波段的插值估计结果,对所述削波语音信号进行恢复。
[0163]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0164]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0165]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1