1.本发明涉及音频处理技术领域,特别是涉及一种语音增强方法及系统。
背景技术:2.在实际应用中,语音信号容易受到噪声的干扰,需要通过语音增强技术抑制噪声干扰,降低噪声对语音的影响,从含噪语音中提取有用的语音信号。目前的语音增强技术主要是基于深度学习的语音增强方法,即采用两种音频特征作为网络的输入,其中,一种是基于音频时域波形进行语音增强,另一种方法则是先将语音进行短时傅里叶变化等一些信号预处理的手段,再做降噪处理。
3.但是,基于音频时域波形进行语音增强的方式,由于时域信号的采样点密集,对于长音频来说,网络难以学习到整段音频的全部信息,因此需要对信号进行分帧,让网络按帧学习,最后再把每一帧拼接起来,这样会造成音频拼接处失真严重,增强效果较差。而基于短时傅里叶变化的处理,信号需要为平稳信号,对于非平稳信号来说,信号在不同时间的频率成分均不相同,其并不能区分,因此该方式适用范围受限,对非平稳信号的增强效果较差。
技术实现要素:4.针对于上述问题,本发明提供一种语音增强方法及系统,实现了适用范围广,并提升了语音增强的效果。
5.为了实现上述目的,本发明提供了如下技术方案:
6.一种语音增强方法,包括:
7.获取带噪语音信号;
8.对所述带噪语音信号进行小波分解,获得若干个带噪子带;
9.将每一所述带噪子带输入至语音增强模型,获得与每一带噪子带对应的增强子带;
10.将若干个所述增强子带进行小波合成,获得增强后的语音信号。
11.可选地,所述对所述带噪语音信号进行小波分解,获得若干个带噪子带,包括:
12.对所述带噪语音信号进行第一级小波分解,获得第一级近似系数和第一级细节系数;
13.对所述第一细节系数进行逐级分解,直至获得第n级近似系数和第n级细节系数,其中,n为正整数表示分解的层级数量;
14.将所述第n级近似系数和每一级对应的细节系数确定为若干个带噪子带。
15.可选地,所述将若干个所述增强子带进行小波合成,获得增强后的语音信号,包括:
16.基于增强子带对应的第n级近似系数和每一级对应的细节系数进行小波重构,获得增强后的语音信号。
17.可选地,所述方法还包括:
18.获取训练样本,所述训练样本包括带噪语音信号和干净语音信号;
19.对所述训练样本进行预处理,获得训练矩阵;
20.对所述训练矩阵进行神经网络训练,获得语音增强模型。
21.可选地,所述对训练样本进行预处理,获得训练矩阵,包括:
22.对所述带噪语音信号进行小波分解,获得若干个带噪子带;
23.对每一所述带噪子带进行分帧和归一化处理,获得带噪矩阵;
24.对所述干净语音信号进行小波分解,获得若干个干净子带;
25.对每一所述干净子带进行分帧和归一化处理,获得干净矩阵。
26.可选地,所述对所述训练矩阵进行神经网络训练,获得语音增强模型,包括:
27.将所述带噪矩阵输入到初始神经网络模型中,使得所述初始神经网络模型进行学习,获得增强矩阵;
28.基于所述增强矩阵和所述干净矩阵的比较结果,对所述初始神经网络模型的参数进行调整,以获得语音增强模型。
29.一种语音增强系统,包括:
30.获取单元,用于获取带噪语音信号;
31.分解单元,用于对所述带噪语音信号进行小波分解,获得若干个带噪子带;
32.模型处理单元,用于将每一所述带噪子带输入至语音增强模型,获得与每一带噪子带对应的增强子带;
33.合成单元,用于将若干个所述增强子带进行小波合成,获得增强后的语音信号。
34.可选地,所述分解单元具体用于:
35.对所述带噪语音信号进行第一级小波分解,获得第一级近似系数和第一级细节系数;
36.对所述第一细节系数进行逐级分解,直至获得第n级近似系数和第n级细节系数,其中,n为正整数表示分解的层级数量;
37.将所述第n级近似系数和每一级对应的细节系数确定为若干个带噪子带。
38.可选地,所述合成单元具体用于:
39.基于增强子带对应的第n级近似系数和每一级对应的细节系数进行小波重构,获得增强后的语音信号。
40.可选地,所述系统还包括:
41.样本获取单元,用于获取训练样本,所述训练样本包括带噪语音信号和干净语音信号;
42.预处理单元,用于对所述训练样本进行预处理,获得训练矩阵;
43.训练单元,用于对所述训练矩阵进行神经网络训练,获得语音增强模型。
44.可选地,所述预处理单元具体用于:
45.对所述带噪语音信号进行小波分解,获得若干个带噪子带;
46.对每一所述带噪子带进行分帧和归一化处理,获得带噪矩阵;
47.对所述干净语音信号进行小波分解,获得若干个干净子带;
48.对每一所述干净子带进行分帧和归一化处理,获得干净矩阵。
49.相较于现有技术,本发明提供了一种语音增强方法及系统,包括:获取带噪语音信号;对所述带噪语音信号进行小波分解,获得若干个带噪子带;将每一所述带噪子带输入至语音增强模型,获得与每一带噪子带对应的增强子带;将若干个所述增强子带进行小波合成,获得增强后的语音信号。本发明通过离散小波变化可以逐层减少信号的长度,降低采样点的数量,更加适用于语音这类非平稳信号,提升了语音信号增强的效果。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
51.图1为本发明实施例提供的一种语音增强方法的流程示意图;
52.图2为本发明实施例提供的一种离散小波分解的示意图;
53.图3为本发明实施例提供的一种基于离散小波变换的深度学习语音增强架构的示意图;
54.图4为本发明实施例提供的一种子带的训练流程的示意图;
55.图5为本发明实施例提供的一种语音增强系统的结构示意图。
具体实施方式
56.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
58.在本发明实施例中提供了一种语音增强方法,参见图1,该方法可以包括以下步骤:
59.s101、获取带噪语音信号。
60.带噪语音信号是指通过音频采集设备采集到的或传输得到的原始音频信号。其中,噪声可能含有日常生活中的环境噪声、其他说话人的声音、以及采集设备额外产生的电流声音等等。
61.s102、对所述带噪语音信号进行小波分解,获得若干个带噪子带。
62.短时傅里叶变换(stft)试图利用加窗等手段解决非平稳信号的问题。但是stft窗函数宽窄的选取对于结果影响很大。对于非平稳信号来说,不同的时间间隔具有不同的频率成分,窄窗口适用于高频,宽窗口适用于低频,但stft使用固定长度的窗函数,无法满足非平稳信号频率随时间无规律变化的特性。因此在语音增强上使用短时傅里叶变换也是存在一定弊端的。
63.而小波变换作为短时傅里叶变换的一种替代方法克服了分辨率的问题,如式(1)所示,是小波基函数的数学表达式,其中,a为尺度因子,控制小波基的伸缩,与频率成反比,τ为平移因子,控制小波基的位置。基函数压缩对应信号的高频信息,拉伸对应信号的低频信息。当不同尺度的基函数分别平移,与信号相乘一遍后,就可以知道信号在每个位置都包含了哪些频率成分了。
[0064][0065]
由此可见,小波变换不当可以分析出非平稳信号包含哪些频率成分,而且还可以知道每一个频率成分出现的时间,规避了fft以及stft的弊端。对于语音这类非平稳信号使用小波变换更具有优势。因此,在本发明实施例中使用小波变换作为语音降噪时音频处理的手段。
[0066]
由于一些连续小波变换(cwt)不存在逆变换,无法对信号进行重构,因此,在本发明实施例中优选离散小波变换(dwt),dwt具有逆变换,可以用于信号的分解与重构。基于离散小波变换的语音降噪方法可以采用阈值法。在小波域,有效的语音信号往往具有较高的系数,而噪声对应的系数则很小,设定一个阈值λ,可以认为大于该阈值的系数是由语音主导的,保持不变,而小于λ的系数为噪声,通过将该点系数设置为零去除噪声。最后对处理后的小波系数进行逆变换,重构回语音。但是,小波阈值法进行语音降噪,其效果依赖于对阈值的选取,而且直接将噪声主导的系数点设置为零,会使得语音不平滑、不连续,导致降噪效果有待提高。因此,在本发明实施例中选择基于深度学习的方法进行语音降噪。
[0067]
在本发明实施例的一种实施方式中,所述对所述带噪语音信号进行小波分解,获得若干个带噪子带,包括:对所述带噪语音信号进行第一级小波分解,获得第一级近似系数和第一级细节系数;对所述第一细节系数进行逐级分解,直至获得第n级近似系数和第n级细节系数,其中,n为正整数表示分解的层级数量;将所述第n级近似系数和每一级对应的细节系数确定为若干个带噪子带。
[0068]
具体的,对带噪语音信号进行n级的小波分解,得到1个近似系数和n个细节系数,也就是说输入的带噪语音信号被分解成了n+1段,称其为子带0、子带1、子带2
…
子带n。即子带是指语音信号经过n级离散小波变换值周得到若干个小波系数,其中,近似系数是信号与尺度函数的内积,细节系数是信号与小波函数的内积。具体的,将在后续的实施例中进行说明,此处不进行详述。
[0069]
s103、将每一所述带噪子带输入至语音增强模型,获得与每一带噪子带对应的增强子带。
[0070]
s104、将若干个所述增强子带进行小波合成,获得增强后的语音信号。
[0071]
其中,语音增强模型为基于深度学习的神经网络模型,即将每一带噪子带分别输入到相应的神经网络当中进行语音增强,网络的输出即为增强后的各个子带,其中,神经网络的结构可以根据实际需求进行选择,如可以使用rnn网络、gan架构等。最后再对增强子带进行小波合成便可以得到最终降噪后的语音。
[0072]
语音增强的目的是提高语音的可懂度和语音质量,可作为语音识别、语音分析等语音处理系统的前端处理,提高其识别准确率。也可以用于助听器等语音辅助设备,提高在
噪声环境中交流的效率。
[0073]
本发明实施例提供了一种语音增强方法及系统,包括:获取带噪语音信号;对所述带噪语音信号进行小波分解,获得若干个带噪子带;将每一所述带噪子带输入至语音增强模型,获得与每一带噪子带对应的增强子带;将若干个所述增强子带进行小波合成,获得增强后的语音信号。本发明通过离散小波变化可以逐层减少信号的长度,降低采样点的数量,更加适用于语音这类非平稳信号,提升了语音信号增强的效果。
[0074]
在本发明实施例中选用离散小波变换(dwt)作为语音信号的分析手段。对于离散小波变换来说,可以看成是几个低通滤波器和高通滤波器的级联。以5级的离散小波变换为例,如图2所示,首先将信号进行第一级的小波分解,经过低通滤波器lp得到一个低频的近似系数ca
‑
1,经过高通滤波器hp得到一个高频的细节系数cd
‑
1。接着,对近似系数ca
‑
1再进行小波分解,得到第二级的近似系数和细节系数ca
‑
2和cd
‑
2,以此类推,最终得到近似系数和细节系数ca
‑
5和cd
‑
5。对于小波合成的处理,是基于增强子带对应的第n级近似系数和每一级对应的细节系数进行小波重构,获得增强后的语音信号。即下一级的近似系数和细节系数可以重构出上一级的近似系数,因此只需要1个近似系数和5个细节系数便可以重构回原来的语音。因此,在后续的网络训练中,所需要输入的特征就是近似系数ca
‑
5以及细节系数cd
‑
1至cd
‑
5。
[0075]
需要说明的是,离散小波变换的特点就是信号每经过一次变换,得到的近似系数和细节系数的长度就会变为上一级的二分之一,也就是随着层级的增加,信号长度会逐渐减小。这样的好处是信号经过小波变换后输入到网络中的样本数量会随着层级的增加而减小,相比于直接使用时域波形作为特征进行语音增强来说,网络更容易训练也更容易收敛。并且原始信号被转换成几个不同频段的信号,接下来边可以对信号分频段进行操作。随着高频信息的逐渐分离,对于人耳来说相对敏感的低频信息会被压缩到最短,能够使网络更容易、更准确地处理语音的低频部分,提高语音降噪的效果。
[0076]
在本发明实施例中还提供了一种创建语音增强模型的方法,该方法包括:
[0077]
获取训练样本,所述训练样本包括带噪语音信号和干净语音信号;
[0078]
对所述训练样本进行预处理,获得训练矩阵;
[0079]
对所述训练矩阵进行神经网络训练,获得语音增强模型。
[0080]
对应的,所述对训练样本进行预处理,获得训练矩阵,包括:
[0081]
对所述带噪语音信号进行小波分解,获得若干个带噪子带;
[0082]
对每一所述带噪子带进行分帧和归一化处理,获得带噪矩阵;
[0083]
对所述干净语音信号进行小波分解,获得若干个干净子带;
[0084]
对每一所述干净子带进行分帧和归一化处理,获得干净矩阵。
[0085]
进一步的,所述对所述训练矩阵进行神经网络训练,获得语音增强模型,包括:
[0086]
将所述带噪矩阵输入到初始神经网络模型中,使得所述初始神经网络模型进行学习,获得增强矩阵;
[0087]
基于所述增强矩阵和所述干净矩阵的比较结果,对所述初始神经网络模型的参数进行调整,以获得语音增强模型。
[0088]
举例说明,参见图3,为基于离散小波变化的深度学习的语音增强架构。首先,采用离散小波变换对训练样本进行预处理,即对输入的带噪音频信号以及干净语音信号进行n
级的小波分解,得到1个近似系数和n个细节系数,也就是说输入的音频信号被分解成了n+1段,将其称为子带0、子带1
……
子带n。假设输入的音频长度为l,那么此时子带0和子带1的长度为子带2的长度为以此类推,子带n的长度为然后,将每一个子带分别输入到相应的神经网络中进行语音增强,网络的输出即为增强后的各个子带,即子带0'、子带1'
……
子带n'。
[0089]
对于每一子带来说,具体的训练流程如图4所示。以子带2为例,现将长度为的带噪子带以帧长为length进行分帧,对于不够length得到一个维度为[length,nframe]的矩阵,nframe是指音频分帧的帧数。由于信号经过多级离散小波分解之后的输出量相差很大,因此需要在网络训练之前对数据进行归一化处理,利用式(2)将其数值都限制在[
‑
1,1]之间。同样对训练样本中的干净语音子带也进行同样的分帧和归一化操作,将得到干净矩阵作为网络训练的目标。
[0090][0091]
将上述得到的带噪矩阵输入到神经网络当中,让网络学习从带噪到干净的映射,得到增强矩阵。将增强矩阵与干净矩阵做比较,将二者之间的损失loss作为神将网络反向传播的依据,指导参数更新。最后,将增强矩阵进行相应的反归一化以及拼接,最终得到增强子带,将这n+1个神经网络分别得到的n+1个增强子带进行小波重构,就完成了语音增强。
[0092]
在本发明实施例中的基于离散小波变换的语音增强方法中,使用离散小波变换可以替代传统的时域波形或短时傅里叶变换作为系统的预处理部分。时域波形虽然包含了语音的全部信息,但是采集点密集,不易训练。stft中窗函数的宽窄固定,无法满足语音这种非平稳信号频率随时间无规律变化的特性。多层级的离散小波变换弥补了二者的不足,一方面会逐层减少信号的长度,降低采样点的数量,另一方面使用不定长的小波基来处理信号,更加适用于语音这类非平稳信号。并且,避免使用上采样网络。通常语音增强模型都会使用u
‑
net等包含上采样网络的结构,而上采样网络会产生伪影,造成语音失真。离散小波变换使用数学手段对信号进行下采样,合成时同样使用数学手段进行重构,无需使用上采样网络对信号进行还原,因此,在本发明实施例提出的网络架构可以避开上采样网络,从而避免伪影的产生。在本发明实施例中对语音信号进行分层级的处理。语音信号经过n层离散小波变换之后,得到的n+1个子带具有不同的频率信息。子带0包含了更多的低频信息,子带n则大多包含的是高频信息。与目前大多数基于神经网络的语音增强方法不同的是,本发明实施例中对各个子带分开进行处理,因此可以使用不同的神经网络结构,以适应不同子带的不同特性。
[0093]
参见图5,一种语音增强系统,包括:
[0094]
获取单元201,用于获取带噪语音信号;
[0095]
分解单元202,用于对所述带噪语音信号进行小波分解,获得若干个带噪子带;
[0096]
模型处理单元203,用于将每一所述带噪子带输入至语音增强模型,获得与每一带噪子带对应的增强子带;
[0097]
合成单元204,用于将若干个所述增强子带进行小波合成,获得增强后的语音信
号。
[0098]
进一步地,所述分解单元具体用于:
[0099]
对所述带噪语音信号进行第一级小波分解,获得第一级近似系数和第一级细节系数;
[0100]
对所述第一细节系数进行逐级分解,直至获得第n级近似系数和第n级细节系数,其中,n为正整数表示分解的层级数量;
[0101]
将所述第n级近似系数和每一级对应的细节系数确定为若干个带噪子带。
[0102]
对应的,所述合成单元具体用于:
[0103]
基于增强子带对应的第n级近似系数和每一级对应的细节系数进行小波重构,获得增强后的语音信号。
[0104]
进一步地,所述系统还包括:
[0105]
样本获取单元,用于获取训练样本,所述训练样本包括带噪语音信号和干净语音信号;
[0106]
预处理单元,用于对所述训练样本进行预处理,获得训练矩阵;
[0107]
训练单元,用于对所述训练矩阵进行神经网络训练,获得语音增强模型。
[0108]
进一步地,所述预处理单元具体用于:
[0109]
对所述带噪语音信号进行小波分解,获得若干个带噪子带;
[0110]
对每一所述带噪子带进行分帧和归一化处理,获得带噪矩阵;
[0111]
对所述干净语音信号进行小波分解,获得若干个干净子带;
[0112]
对每一所述干净子带进行分帧和归一化处理,获得干净矩阵。
[0113]
本发明实施例提供了一种语音增强系统,包括:获取单元获取带噪语音信号;分解单元对所述带噪语音信号进行小波分解,获得若干个带噪子带;模型处理单元将每一所述带噪子带输入至语音增强模型,获得与每一带噪子带对应的增强子带;合成单元将若干个所述增强子带进行小波合成,获得增强后的语音信号。本发明通过离散小波变化可以逐层减少信号的长度,降低采样点的数量,更加适用于语音这类非平稳信号,提升了语音信号增强的效果。
[0114]
基于前述实施例,本发明的实施例提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如上任一项的语音增强方法的步骤。
[0115]
本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现的语音增强方法的步骤。
[0116]
需要说明的是,上述处理器或cpu可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、中央处理器(centralprocessing unit,cpu)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
[0117]
需要说明的是,上述计算机存储介质/存储器可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable read
‑
only memory,prom)、可擦除可编程只读存储器(erasable programmable read
‑
only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read
‑
only memory,eeprom)、磁性随机存取存储器(ferromagnetic random access memory,fram)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read
‑
only memory,cd
‑
rom)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
[0118]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0119]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0120]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read
‑
only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0121]
本发明所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0122]
本发明所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0123]
本发明所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0124]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
[0125]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0126]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。