单通道语音降噪方法、装置、电子设备和存储介质与流程

专利查询2023-9-1  92



1.本技术涉及语音降噪技术领域,特别是涉及一种单通道语音降噪方法、装置、电子设备和存储介质。


背景技术:

2.单通道语音降噪基于深度学习的方法目前以基于复数域(fft)为输入取得了良好的效果,但计算量很大,且由于复数在pytorch的支持欠佳,目前将时部、虚部作为两路数据流,导致模型设计困难,且模型压缩困难。我们曾提出了使用dct替代fft,因为只有实数部分,所以模型不需要特殊设计,模型压缩也容易得多。但无论fft、dct通过重叠相加法均会存在信息冗余,以512点帧长,256点帧移举例,每256点就产生了512点数据,导致输入大、输出大,中间层参数量、计算量同样会大。


技术实现要素:

3.基于上述问题,本技术提供一种单通道语音降噪方法、电子设备和存储介质。
4.第一方面,本技术实施例提供一种单通道语音降噪方法,包括:
5.获取待降噪语音;
6.提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值;
7.将每一帧语音的掩膜值与每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音;
8.重叠相加降噪后的每一帧语音得到降噪语音。
9.进一步地,上述一种单通道语音降噪方法中,提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值,包括:
10.将待降噪语音分帧、加窗、修正离散余弦变换得到每一帧语音对应的修正离散余弦变换;
11.将每一帧语音对应的修正离散余弦变换输入预先训练好的模型中得到每一帧语音的掩膜值。
12.进一步地,上述一种单通道语音降噪方法中,预先训练好的模型的训练步骤如下:
13.获取训练集;训练集包括多句干净语音数据和多种类型的多句噪音数据;多句干净语音数据和多种类型的多句噪音数据以不同的信噪比混合;
14.提取训练集的特征;
15.将训练集的特征输入网络模型进行训练,使用信号逼近的方法估计得到隐式掩膜矩阵;
16.将隐式掩膜矩阵与训练集的特征中的噪音数据的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到时域上的增强语音;
17.将时域上的增强语音和目标语音使用损失函数进行误差回传,当损失不断变小直至收敛,得到预先训练好的模型。
18.进一步地,上述一种单通道语音降噪方法中,提取训练数据的特征,包括:
19.将训练数据的每一句语音进行分帧、加窗,使用修正离散余弦变换得到每句噪音数据的修正离散余弦变换和每句干净语音数据的修正离散余弦变换。
20.进一步地,上述一种单通道语音降噪方法,还包括:
21.获取验证数据;
22.使用验证数据在训练预先训练好的模型过程中监督模型但不参与误差回传;
23.其中,验证数据包括多句干净语音数据和多种类型的多句噪音数据,所述多句干净语音数据和多种类型的多句噪音数据以不同的信噪比混合;验证数据与训练数据不同。
24.进一步地,上述一种单通道语音降噪方法中,网络模型是卷积神经网络、长短时记忆网络以及全连接网络联合模型。
25.进一步地,上述一种单通道语音降噪方法中,损失函数是si-snr、snr或mse。
26.第二方面,本技术实施例还提供一种单通道语音降噪装置,包括:
27.获取模块:用于获取待降噪语音;
28.提取模块:用于提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值;
29.修正离散变换模块:用于将每一帧语音的掩膜值与每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音;
30.重叠相加模块:用于重叠相加降噪后的每一帧语音得到降噪语音。
31.第三方面,本技术实施例还提供一种电子设备,其特征在于,包括:处理器和存储器;
32.所述处理器通过调用所述存储器存储的程序或指令,用于执行上述一种单通道语音降噪方法。
33.第四方面,本技术实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机上述一种单通道语音降噪方法。
34.本技术实施例的优点在于:本技术涉及一种单通道语音降噪方法、装置、电子设备和存储介质,该方法包括:获取待降噪语音;提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值;将每一帧语音的掩膜值与每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音;重叠相加降噪后的每一帧语音得到降噪语音。本技术通过修正离散余弦变换替代当前主流的技术fft复数谱。它相比fft的优点为,其一,fft是复数,神经网络训练工具目前都不支持复数,需要手动设计网络,模型往往复杂度很高,其二,fft变换参数多,以512点fft为例,变换后实部、虚部一共512个参数,而512点mdct,变换后仅256点,输入、输出参数减半,使得降噪更加简单。
附图说明
35.为了更清楚地说明本技术实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术实施例提供的一种单通道语音降噪方法示意图一;
37.图2为本技术实施例提供的一种单通道语音降噪方法示意图二;
38.图3为本技术实施例提供的一种单通道语音降噪方法示意图三;
39.图4为本技术实施例提供的一种单通道语音降噪装置示意图;
40.图5是本技术实施例提供的一种电子设备的示意性框图。
具体实施方式
41.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本技术的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵时做类似改进,因此本技术不受下面公开的具体实施的限制。
42.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
43.图1为本技术实施例提供的一种单通道语音降噪方法示意图一。
44.第一方面,本技术实施例提供一种单通道语音降噪方法,结合图1,包括s101至s104四个步骤:
45.s101:获取待降噪语音。
46.具体的,本技术实施例中获取的待降噪语音是多帧语音。
47.s102:提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值。
48.具体的,本技术实施例中,以一帧待降噪语音512点数据为例,将待降噪语音分帧、加窗、修正离散余弦变换提取得到每一帧语音对应的修正离散余弦变换后得到256点,将每一帧语音对应的修正离散余弦变换输入预先训练好的模型中得到每一帧语音的掩膜值输出也为256点。
49.s103:将每一帧语音的掩膜值与每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音。
50.具体的,本技术实施例中,将每一帧语音的掩膜值与修正离散余弦变换mdct对应相乘,即得到降噪后的修正离散余弦变换mdct,再经过修正离散余弦反变换imdct返回时域,得到降噪后的每一帧语音。
51.s104:重叠相加降噪后的每一帧语音得到降噪语音。
52.具体的,本技术实施例中,将降噪后的每一帧语音重叠相加就得到待降噪语音的多帧降噪语音。
53.图2为本技术实施例提供的一种单通道语音降噪方法示意图二。
54.进一步地,上述一种单通道语音降噪方法中,提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值,结合图2,包括s201至s202两个步骤:
55.s201:将待降噪语音分帧、加窗、修正离散余弦变换得到每一帧语音对应的修正离散余弦变换。
56.s202:将每一帧语音对应的修正离散余弦变换输入预先训练好的模型中得到每一帧语音的掩膜值。
57.具体的,本技术实施例中以一帧待降噪语音512点数据为例,将待降噪语音分帧、加窗、修正离散余弦变换得到每一帧语音对应的修正离散余弦变换后得到256点,将每一帧语音对应的修正离散余弦变换输入预先训练好的模型中得到每一帧语音的掩膜值输出也为256点,预先训练好的模型最后一层dense层为全链接网络,后面接sigmoid激活函数,sigmoid是训练工具均有的一种激活函数,其输出值在0~1之间,相当于一种掩膜,就得到了每一帧语音的掩膜值。
58.图3为本技术实施例提供的一种单通道语音降噪方法示意图三。
59.进一步地,上述一种单通道语音降噪方法中,结合图3,预先训练好的模型的训练步骤包括s301至s305五个步骤:
60.s301:获取训练集;训练集包括多句干净语音数据和多种类型的多句噪音数据;多句干净语音数据和多种类型的多句噪音数据以不同的信噪比混合。
61.s302:提取训练集的特征。
62.提取训练数据的特征,包括:将训练数据的每一句语音进行分帧、加窗,使用修正离散余弦变换得到每句噪音数据的修正离散余弦变换和每句干净语音数据的修正离散余弦变换。
63.s303:将训练集的特征输入网络模型进行训练,使用信号逼近的方法估计得到隐式掩膜矩阵。
64.s304:将隐式掩膜矩阵与训练集的特征中的噪音数据的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到时域上的增强语音。
65.s305:将时域上的增强语音和目标语音使用损失函数进行误差回传,当损失不断变小直至收敛,得到预先训练好的模型。
66.具体的,本技术实施例中,通过上述s301至s305五个步骤训练训练集得到预先训练好的模型,以一帧512点数据为例,经修正离散余弦变换mdct后得到256点,网络最后一层dense层为全链接网络,输出为256点,后面接sigmoid激活函数,sigmoid是训练工具均有的一种激活函数,其输出值在0~1之间,相当于一种掩膜,与修正离散余弦变换mdct对应相乘,即得到降噪后的修正离散余弦变换mdct,再经过修正离散余弦反变换返回时域,得到时域上的增强语音,将时域上的增强语音和目标语音使用损失函数进行误差回传,当损失不断变小直至收敛,得到预先训练好的模型。
67.进一步地,上述一种单通道语音降噪方法中,
68.进一步地,上述一种单通道语音降噪方法,还包括:
69.获取验证数据;
70.使用验证数据在训练预先训练好的模型过程中监督模型但不参与误差回传;
71.其中,验证数据包括多句干净语音数据和多种类型的多句噪音数据,所述多句干净语音数据和多种类型的多句噪音数据以不同的信噪比混合;验证数据与训练数据不同。
72.具体的,本技术实施例中,将干净语音数据和噪声以不同的信噪比混合,将将干净语音数据和噪声以不同的信噪比混合的语音数据作为训练数据,以同样的方式生成验证集,训练集和验证集的噪声类型、信噪比、说话人均不同,使用训练集训练模型,使用验证集
对模型监督但不参与误差回传。
73.进一步地,上述一种单通道语音降噪方法中,网络模型是卷积神经网络、长短时记忆网络以及全连接网络联合模型。
74.具体的,本技术实施例中,网络模型使用经典的卷积神经网络、长短时记忆网络以及全连接网络联合模型使得模型更加简单,总体上使得网络模型降噪性能良好,网络模型大小、计算量均得到了大幅压缩。
75.进一步地,上述一种单通道语音降噪方法中,损失函数是si-snr、snr或mse。
76.具体的,本技术实施例中,示例性的损失函数为si-snr,其定义公式如下:
[0077][0078]
其中,s和分别表示干净语音和估计语音,《,》表示向量的点乘,为欧几里得范数当损失不断变小直至收敛,保存模型得到了得到预先训练好的模型。
[0079]
图4为本技术实施例提供的一种单通道语音降噪装置示意图。
[0080]
第二方面,本技术实施例还提供一种单通道语音降噪装置,包括:
[0081]
获取模块401:用于获取待降噪语音。
[0082]
具体的,本技术实施例中获取模块401获取的待降噪语音是多帧语音。
[0083]
提取模块402:用于提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值.
[0084]
具体的,本技术实施例中,提取模块402以一帧待降噪语音512点数据为例,将待降噪语音分帧、加窗、修正离散余弦变换提取得到每一帧语音对应的修正离散余弦变换后得到256点,将每一帧语音对应的修正离散余弦变换输入预先训练好的模型中得到每一帧语音的掩膜值输出也为256点。
[0085]
修正离散变换模块403:用于将每一帧语音的掩膜值与每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音。
[0086]
具体的,本技术实施例中,修正离散变换模块403将每一帧语音的掩膜值与修正离散余弦变换mdct对应相乘,即得到降噪后的修正离散余弦变换mdct,再经过修正离散余弦反变换imdct返回时域,得到降噪后的每一帧语音。
[0087]
重叠相加模块404:用于重叠相加降噪后的每一帧语音得到降噪语音。
[0088]
具体的,本技术实施例中,重叠相加模块404将降噪后的每一帧语音重叠相加就得到待降噪语音的多帧降噪语音。
[0089]
第三方面,本技术实施例还提供一种电子设备,其特征在于,包括:处理器和存储器;
[0090]
所述处理器通过调用所述存储器存储的程序或指令,用于执行上述一种单通道语音降噪方法。
[0091]
第四方面,本技术实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机上述一种单通道语音降噪方法。
[0092]
图5是本公开实施例提供的一种电子设备的示意性框图。
[0093]
如图5所示,电子设备包括:至少一个处理器501、至少一个存储器502和至少一个通信接口503。电子设备中的各个组件通过总线系统504耦合在一起。通信接口503,用于与外部设备之间的信息传输。可理解,总线系统504用于实现这些组件之间的连接通信。总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但为了清楚说明起见,在图5中将各种总线都标为总线系统504。
[0094]
可以理解,本实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
[0095]
在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序。
[0096]
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序,包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。实现本技术实施例提供的一种单通道语音降噪方法中任一方法的程序可以包含在应用程序中。
[0097]
在本技术实施例中,处理器501通过调用存储器502存储的程序或指令,具体的,可以是应用程序中存储的程序或指令,处理器501用于执行本技术实施例提供的一种单通道语音降噪方法各实施例的步骤。
[0098]
获取待降噪语音;
[0099]
提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值;
[0100]
将每一帧语音的掩膜值与每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音;
[0101]
重叠相加降噪后的每一帧语音得到降噪语音。
[0102]
本技术实施例提供的一种单通道语音降噪方法中任一方法可以应用于处理器501中,或者由处理器501实现。处理器501可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0103]
本技术实施例提供的一种单通道语音降噪方法中任一方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成一种单通道语音降噪方法的步骤。
[0104]
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包
括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。
[0105]
本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0106]
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种单通道语音降噪方法,其特征在于,包括:获取待降噪语音;提取所述待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值;将所述每一帧语音的掩膜值与所述每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音;重叠相加所述降噪后的每一帧语音得到降噪语音。2.根据权利要求1所述的一种单通道语音降噪方法,其特征在于,所述提取所述待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值,包括:将所述待降噪语音分帧、加窗、修正离散余弦变换得到每一帧语音对应的修正离散余弦变换;将所述每一帧语音对应的修正离散余弦变换输入预先训练好的模型中得到每一帧语音的掩膜值。3.根据权利要求1所述的一种单通道语音降噪方法,其特征在于,所述预先训练好的模型的训练步骤如下:获取训练集;所述训练集包括多句干净语音数据和多种类型的多句噪音数据;所述多句干净语音数据和多种类型的多句噪音数据以不同的信噪比混合;提取所述训练集的特征;将所述训练集的特征输入网络模型进行训练,使用信号逼近的方法估计得到隐式掩膜矩阵;将所述隐式掩膜矩阵与训练集的特征中的噪音数据的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到时域上的增强语音;将所述时域上的增强语音和目标语音使用损失函数进行误差回传,当损失不断变小直至收敛,得到所述预先训练好的模型。4.根据权利要求3所述的一种单通道语音降噪方法,其特征在于,所述提取所述训练数据的特征,包括:将训练数据的每一句语音进行分帧、加窗,使用修正离散余弦变换得到每句噪音数据的修正离散余弦变换和每句干净语音数据的修正离散余弦变换。5.根据权利要求3所述的一种单通道语音降噪方法,其特征在于,所述方法还包括:获取验证数据;使用所述验证数据在训练所述预先训练好的模型过程中监督模型但不参与误差回传;其中,所述验证数据包括多句干净语音数据和多种类型的多句噪音数据,所述多句干净语音数据和多种类型的多句噪音数据以不同的信噪比混合;所述验证数据与所述训练数据不同。6.根据权利要求3所述的一种单通道语音降噪方法,其特征在于,所述网络模型是卷积神经网络、长短时记忆网络以及全连接网络联合模型。7.根据权利要求3所述的一种单通道语音降噪方法,其特征在于,所述损失函数是si-snr、snr或mse。8.一种单通道语音降噪装置,其特征在于,包括:获取模块:用于获取待降噪语音;
提取模块:用于提取所述待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值;修正离散变换模块:用于将所述每一帧语音的掩膜值与所述每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音;重叠相加模块:用于重叠相加所述降噪后的每一帧语音得到降噪语音。9.一种电子设备,其特征在于,包括:处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至7任一项所述一种单通道语音降噪方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述一种单通道语音降噪方法。

技术总结
本申请涉及一种单通道语音降噪方法、装置、电子设备和存储介质,该方法包括:获取待降噪语音;提取待降噪语音的特征后输入预先训练好的模型中得到每一帧语音的掩膜值;将每一帧语音的掩膜值与每一帧语音的掩膜值对应的修正离散余弦变换相乘,再进行修正离散余弦反变换,得到降噪后的每一帧语音;重叠相加降噪后的每一帧语音得到降噪语音。本申请通过修正离散余弦变换替代当前FFT复数谱,相比FFT的优点为,其一,FFT是复数,神经网络训练工具目前都不支持复数,需要手动设计网络,模型往往复杂度很高;其二,FFT变换参数多,以512点FFT为例,变换后实部、虚部一共512个参数,而512点MDCT,变换后仅256点,输入、输出参数减半,使得降噪更简单。更简单。更简单。


技术研发人员:关海欣 梁家恩
受保护的技术使用者:云知声智能科技股份有限公司
技术研发日:2021.12.16
技术公布日:2022/3/8

最新回复(0)