单声道语音降噪方法、系统、设备及可读存储介质与流程

文档序号:24562098发布日期:2021-04-06 12:11阅读:221来源:国知局
单声道语音降噪方法、系统、设备及可读存储介质与流程

本发明属于语音降噪领域,涉及一种单声道语音降噪方法、系统、设备及可读存储介质。



背景技术:

几年之前,我们在通话的时候还经常会听到各种噪音,非常影响通话质量,但现如今,随着智能手机的普及,我们已经可以明显感觉到通话时杂音的减少。这是由于现在的大部分智能手机都使用了高通的芯片,而这些芯片大多都搭载了高通专有的cvc技术,cvc技术是一种通话降噪技术,其工作原理是在通话的时候,通过手机内置的双麦克风获取声音,其中,主麦克风在说话人嘴边,可以接收到较大的说话人声;副麦克风离说话人的嘴较远,接收到的说话人声较小,而两个麦克风却可以接收到几乎相同大小的环境噪声,通过结合主副麦克风收集到的声音信号,就可以通过一定算法,分辨出哪些声音是我们想要的说话人声,从而实现降噪通话。

但是,该技术却仍然有着如下缺陷。首先,该技术无法处理单声道音频,必须要求手机拥有双麦克风,对于单麦克风手机没有作用;而且,对说话人通话的姿势有一定要求,要求说话人声源离主麦克风很近,若说话人离麦克风远或者带了单麦克风的耳机也无法应用。



技术实现要素:

本发明的目的在于克服上述现有技术中,现有的通话降噪技术无法处理单声道音频的缺点,提供一种单声道语音降噪方法、系统、设备及可读存储介质。

为达到上述目的,本发明采用以下技术方案予以实现:

本发明第一方面,一种单声道语音降噪方法,包括以下步骤:

获取待降噪的单声道语音;构建基于lstm神经网络的初始降噪模型;获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型,得到降噪模型;通过降噪模型将待降噪的单声道语音降噪,得到人声音频。

本发明单声道语音降噪方法进一步的改进在于:

所述构建基于lstm神经网络的初始降噪模型包括:获取若干人声音频和若干噪音音频并随机组合,得到若干混合音频,各混合音频中均包括一人声音频及至少一个噪音音频;将混合音频进行分帧加窗处理及傅里叶变换,得到若干混合音频帧频谱;将若干混合音频帧频谱分为训练集和测试集,建立用于二分类的lstm神经网络模型,通过训练集训练lstm神经网络模型,通过测试集测试训练后的lstm神经网络模型,测试合格后得到初始降噪模型。

所述通过训练集训练lstm神经网络模型包括:将训练集内的混合音频帧频谱输入lstm神经网络模型,得到人声频谱和噪音频谱并进行逆傅里叶变换,得到预测的人声音频及噪音音频;根据预测的人声音频与实际的人声音频之间的误差,迭代更新lstm神经网络模型中的各参数,至训练次数达到预设值或预测的人声音频与实际的人声音频之间的误差不再下降。

所述获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型包括:获取若干初始降噪模型降噪不合格的单声道语音,作为预设数量的增强训练样本;获取若干通过人声音频和若干噪音音频组合形成的测试样本;采用无监督学习的方式,通过预设数量的增强训练样本训练初始降噪模型,至训练后的初始降噪模型对测试样本的降噪效果与初始降噪模型对测试样本的降噪效果在预设误差内,且训练后的初始降噪模型对增强训练样本的降噪效果大于初始降噪模型对增强训练样本的降噪效果预设阈值。

所述通过预设数量的增强训练样本训练初始降噪模型时,将初始降噪模型中若干隐藏层的参数固定。

所述通过预设数量的增强训练样本训练初始降噪模型前,在初始降噪模型的隐藏层与分类层之间添加若干随机非线性层。

所述通过降噪模型将待降噪的单声道语音降噪,得到人声音频包括:将待降噪的单声道语音进行傅里叶变换,得到通话语音频谱;将通话语音频谱输入降噪模型,得到人声频谱和噪音频谱;将人声频谱进行逆傅里叶变换,得到人声音频。

本发明第二方面,一种单声道语音降噪系统,包括:

获取模块,用于获取待降噪的单声道语音;模型构建模块,用于构建基于lstm神经网络的初始降噪模型;增强训练模块,用于获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型,得到降噪模型;以及降噪模块,用于通过降噪模型将待降噪的单声道语音降噪,得到人声音频。

本发明第三方面,一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述单声道语音降噪方法的步骤。

本发明第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述单声道语音降噪方法的步骤。

与现有技术相比,本发明具有以下有益效果:

本发明单声道语音降噪方法,在获取待降噪的单声道语音后,构建初始降噪模型,并获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型,得到降噪模型,然后直接通过降噪模型将待降噪的单声道语音降噪,获得人声音频,降噪过程不受限于双声道的限制,能够实现任何单声道语音的降噪处理,其中,降噪模型通过采用增强训练样本训练初始降噪模型得到,而初始降噪模型通过混合音频训练lstm神经网络构建,基于同一通语音中整个时间序列的噪音类别大致相同的特性,通过采用lstm神经网络为基础进行模型的训练,便于学习到整个时间序列的噪音规律,进而达到较好的降噪效果。同时,基于噪声影响因素的复杂性,训练数据很难覆盖所有可能的噪声环境,进而导致初始降噪模型对一些噪声不具有鲁棒性,通过增强训练样本对初始降噪模型再次训练,对未学习到的噪声种类进行再学习,进一步提升降噪模型的降噪效果。

附图说明

图1为本发明实施例的单声道语音降噪方法流程框图;

图2为本发明实施例的初始降噪模型训练流程框图;

图3为本发明实施例的降噪模型训练流程框图;

图4为本发明实施例的单声道语音降噪系统结构框图;

图5为本发明实施例的终端设备结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面结合附图对本发明做进一步详细描述:

参见图1,本发明一实施例中,提供一种单声道语音降噪方法,实现单声道语音的有效降噪,能够较好的用于单麦克风手机及单麦克风的耳机通话,具体的,该单声道语音降噪方法包括以下步骤:

s1:获取待降噪的单声道语音。

具体的,在使用单麦克风手机及单麦克风的耳机通话时,通过麦克风实时获取单声道语音,这里的单声道语音也可以是网上下载的单声道语音。其中,对通话语音进行降噪处理时,可以是在单声道语音在发送前就进行降噪,或者在单声道语音发送到对应的通话设备时进行降噪,或者同时进行降噪。

s2:构建基于lstm神经网络的初始降噪模型。

具体的,为了获得用于单声道语音降噪的降噪模型,首先,需要获得一个初始降噪模型,并且,鉴于通话过程发生在一个时间序列中,且在很多情况下,同一通语音中整个时间序列的噪音类别大致相同(如贯穿始终的风声),因此本实施例中,采用了lstm长短期记忆网络构建初始模型,便于学习到整个时间序列的噪音规律,进而通过混合音频训练lstm神经网络模型的方式,来获得一个初始降噪模型,具体的,参见图2,包括以下步骤:

s201:通过收集大量纯人声音频和纯噪音音频,然后将人声音频和噪音音频进行随机组合,得到若干混合音频,为了实现降噪要求,各混合音频中均包括一人声音频及至少一个噪音音频,也可以包括多个人声音频。

s202:将混合音频进行分帧加窗处理及傅里叶变换,得到若干混合音频帧频谱。具体的,将混合音频进行分帧加窗处理,本实施例中,按照帧长25ms,帧移10ms的分帧要求,将混合音频进行分帧,将混合音频分帧后,需要对每一帧混合音频进行加窗处理,加窗处理的窗函数一般具有低通特性,加窗函数的目的是减少频域中的泄漏,在语音信号分析中常用的窗函数有矩形窗、汉明窗和汉宁窗,可根据不同的情况选择不同的窗函数。然后通过傅里叶变换,将分帧加窗处理后的混合音频进行时域和频域的转换,将时域特征映射成一定维度的频谱特征,比如映射为若干基础正弦波,进而得到若干混合音频帧频谱。

s203:将若干混合音频帧频谱分为训练集和测试集,建立用于二分类的lstm神经网络模型,通过训练集训练lstm神经网络模型,通过测试集测试训练后的lstm神经网络模型,测试合格后得到初始降噪模型。

具体的,将若干混合音频帧频谱随机分为训练集和测试集,训练集和测试集中混合音频帧频谱的比例可以自定义设置,在迭代训练时,也可以交换训练集和测试集中的混合音频帧频谱。

然后建立用于二分类的lstm神经网络模型,现有的lstm神经网络模型一般包括输入层、若干隐藏层及输出层,以混合音频帧频谱作为输入层,设置若干隐藏层,以分离的人声频谱和噪音频谱作为输出层的二分类结果。然后通过训练集训练构建好的lstm神经网络模型,并通过测试集测试训练后的lstm神经网络模型,当测试结果的合格率符合预设的合格率阈值时测试合格,得到初始降噪模型。其中,测试结果的合格率是指测试集中各混合音频帧频谱通过训练后的lstm神经网络模型后得到清晰的人声音频的混合音频帧频谱与所有混合音频帧频谱的比例。

其中,通过训练集训练lstm神经网络模型的具体方法为:

将训练集内的混合音频帧频谱输入到构建好的lstm神经网络模型当中,输出预测出的人声频谱和噪音频谱,进而通过逆傅里叶变换得到人声音频和噪音音频。然后根据预测的人声音频与实际的人声音频之间的误差,将此误差反向传播并通过随机梯度下降算法迭代更新lstm神经网络模型中的各参数,包括遗忘门、输入门和输出门权重,至训练次数达到预设值或预测的人声音频与实际的人声音频之间的误差不再下降。

优选的,在通过训练集训练lstm神经网络模型时,通过退火算法更新lstm神经网络模型的学习率。其中,学习率是指导在梯度下降法中,如何使用损失函数的梯度调整模型权重的超参数,学习率如果过大,可能会使损失函数直接越过全局最优点,学习率如果过小,损失函数的变化速度很慢,会大大增加网络的收敛复杂度,并且很容易被困在局部最小值或者鞍点,通过使用退火算法,让学习率随时间而变化,可以很好的解决这一问题。

然后,通过测试集测试训练后的lstm神经网络模型,将测试集中的混合音频帧频谱输入训练后的lstm神经网络模型,当测试集中的混合音频帧频谱的降噪合格率在预设范围内时,可以认为训练后的lstm神经网络模型测试合格,得到初始降噪模型。

s3:获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型,得到降噪模型。

具体的,基于初始降噪模型,可以实现部分场景下的单声道语音的降噪要求,但是发明人在实际的工作中发现,由于噪声种类、硬件、麦克风录音距离等多种因素的复杂性,训练数据很难覆盖所有可能的噪声环境,进而导致初始降噪模型对一些噪声不具有鲁棒性,初始降噪模型在进行降噪时,降噪后的人声音频的可懂度和清晰度有时仍不能满足要求,此时需要根据特定噪声数据对初始降噪模型进行噪声数据模式学习—即初始降噪模型的增强训练,目的是对未学习到的噪声种类进行再学习,从而达到对这种噪声类型的模式识别,实现降噪的目的。基于此,本实施例中,将采用初始降噪模型降噪不合格的单声道语音作为增强训练样本,通过采用增强训练样本训练初始降噪模型得到最终的降噪模型。

具体的,本实施例中,提供了增强训练样本的获取方法,基于噪声的连续性的前提,一般当单声道语音经过初始降噪模型降噪后,得到的人声音频中存在出现次数大于预设次数的相似波形,且该相似波形的能量大于预设的能量阈值时,认为当前单声道语音降噪不合格,将这些降噪不合格的单声道语音作为增强训练样本,不同的使用者产生不同的增强训练样本。

具体的,参见图3,采用增强训练样本训练初始降噪模型的具体方法为:

获取若干初始降噪模型降噪不合格的单声道语音,作为预设数量的增强训练样本;获取若干通过人声音频和若干噪音音频组合形成的测试样本;采用无监督学习的方式,通过预设数量的增强训练样本训练初始降噪模型,至训练后的初始降噪模型对测试样本的降噪效果与初始降噪模型对测试样本的降噪效果在预设误差内,且训练后的初始降噪模型对增强训练样本的降噪效果大于初始降噪模型对增强训练样本的降噪效果预设阈值,得到降噪模型。

若是增强训练后的初始降噪模型对测试样本的降噪效果造成了较大损失,或者在增强训练样本的降噪上无明显效果,则不更新初始降噪模型,认为此次增强训练失败,重新获得增强训练样本进行训练。

其中,在通过预设数量的增强训练样本训练初始降噪模型时,将初始降噪模型中若干隐藏层的参数固定,由于该训练是无监督学习的过程,因此需要固定初始降噪模型中的部分隐藏层,在增强训练过程中不做参数调节,防止模型训练过拟合。其中,关于固定参数隐藏层的选取,一般会选取除分类层外的所有隐藏层。

优选的,可视增强训练样本的数量,当超过一定数量时,在初始降噪模型的隐藏层与分类层之间,添加若干随机非线性层,额外增加随机非线性层的目的是保证模型能对此种噪声模式进行更高的建模,以便获得更好的训练效果。

s4:通过降噪模型将待降噪的单声道语音降噪,得到人声音频。

具体的,本实施例中,通过将待降噪的单声道语音进行傅里叶变换,得到通话语音频谱,以提取频谱为特征;将通话语音频谱输入预设的降噪模型,得到人声频谱和噪音频谱;将人声频谱进行逆傅里叶变换,得到人声音频。

综上所述,本发明单声道语音降噪方法,在获取待降噪的单声道语音后,构建初始降噪模型,并获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型,得到降噪模型,直接通过降噪模型将待降噪的单声道语音降噪,获得人声音频,其中,降噪模型通过采用增强训练样本训练初始降噪模型得到,而初始降噪模型通过混合音频训练lstm神经网络模型构建,基于同一通语音中整个时间序列的噪音类别大致相同的特性,通过采用lstm神经网络模型为基础进行模型的训练,便于学习到整个时间序列的噪音规律,进而达到较好的降噪效果。同时,基于噪声影响因素的复杂性,训练数据很难覆盖所有可能的噪声环境,进而导致初始降噪模型对一些噪声不具有鲁棒性,通过增强训练样本对初始降噪模型再次训练,对未学习到的噪声种类进行再学习,进一步提升降噪模型的降噪效果。

该单声道语音降噪方法最大的优势就在于“单声道”,具有适用范围广,兼容性好的优点。应用于手机通话,该方法不要求手机拥有双麦克风,适用于一切拥有麦克风的手机,因此在该方法应用后,手机厂商便不需要再为手机搭载双麦克风,可以降低手机的成本、减轻手机的重量,还可以节省出一个麦克风的空间让手机变得更加轻薄。其次,该方法对说话人与麦克风的距离没有任何要求,不仅可以应用于说话人离麦克风较远的场景,还可以用于说话人使用单麦克风耳机通话的场景。最后,该方法还可以对任何途径得到的单声道语音,比如网上下载的语音进行降噪处理。

下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。

参见图4,本发明再一个实施例中,提供一种单声道语音降噪系统,该单声道语音降噪系统能够用于实现上述单声道语音降噪方法,具体的,该单声道语音降噪系统包括获取模块、模型构建模块、增强训练模块以及降噪模块。

其中,获取模块用于获取待降噪的单声道语音;模型构建模块用于构建基于lstm神经网络的初始降噪模型;增强训练模块用于获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型,得到降噪模型;降噪模块用于通过降噪模型将待降噪的单声道语音降噪,得到人声音频。

优选的,该单声道语音降噪系统的模型构建模块包括混合音频获取模块、混合音频处理模块以及训练模块。

其中,混合音频获取模块用于获取若干人声音频和若干噪音音频并随机组合,得到若干混合音频,各混合音频中均包括一人声音频及至少一个噪音音频;混合音频处理模块用于将混合音频进行分帧加窗处理及傅里叶变换,得到若干混合音频帧频谱;训练模块用于将若干混合音频帧频谱分为训练集和测试集,建立用于二分类的lstm神经网络模型,通过训练集训练lstm神经网络模型,通过测试集测试训练后的lstm神经网络模型,测试合格后得到初始降噪模型。

优选的,该单声道语音降噪系统的训练模块包括预测模块以及参数更新模块。

其中,预测模块用于将训练集内的混合音频帧频谱输入lstm神经网络模型,得到人声频谱和噪音频谱并进行逆傅里叶变换,得到预测的人声音频及噪音音频;参数更新模块用于根据预测的人声音频与实际的人声音频之间的误差,迭代更新lstm神经网络模型中的各参数,至训练次数达到预设值或预测的人声音频与实际的人声音频之间的误差不再下降。

优选的,该单声道语音降噪系统的增强训练模块包括增强训练样本获取模块、测试样本获取模块以及增强训练管理模块。

其中,增强训练样本获取模块用于获取若干初始降噪模型降噪不合格的单声道语音,作为预设数量的增强训练样本;测试样本获取模块用于获取若干通过人声音频和若干噪音音频组合形成的测试样本;增强训练管理模块用于采用无监督学习的方式,通过预设数量的增强训练样本训练初始降噪模型,至训练后的初始降噪模型对测试样本的降噪效果与初始降噪模型对测试样本的降噪效果在预设误差内,且训练后的初始降噪模型对增强训练样本的降噪效果大于初始降噪模型对增强训练样本的降噪效果预设阈值。

优选的,该单声道语音降噪系统的增强训练模块还包括参数固定模块,用于在通过预设数量的增强训练样本训练初始降噪模型时,将初始降噪模型中若干隐藏层的参数固定。

优选的,该单声道语音降噪系统的增强训练模块还包括随机非线性层添加模块,用于在通过预设数量的增强训练样本训练初始降噪模型前,初始降噪模型的隐藏层与分类层之间添加若干随机非线性层。

参见图5,本发明再一个实施例中,提供一种终端设备,包括:在硬件层面,该终端设备包括:处理器和存储器,可选的还包括内部总线、网络接口。其中,存储器可能包含内存,例如高速随机存储器,也可能还包括非易失性存储器,例如,至少一个磁盘存储器等。当然,该终端设备可能还包括其他业务所需的硬件。处理器、网络接口、存储器通过内部总线互相连接,该内部总线可以是工业标准体系结构总线、外设部件互连标准总线、扩展工业标准结构总线等。总线可以分为地址总线、数据总线、控制总线等。存储器用于存放程序。具体地,程序可以包括程序代码、所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成上述终端设备。处理器可能是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor、dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于单声道语音降噪方法的操作,包括获取待降噪的单声道语音;构建基于lstm神经网络的初始降噪模型;获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型,得到降噪模型;通过降噪模型将待降噪的单声道语音降噪,得到人声音频。

再一个实施例中,本发明还提供了一种计算机可读存储介质(memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。

可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关单声道语音降噪方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:获取待降噪的单声道语音;构建基于lstm神经网络的初始降噪模型;获取预设数量的增强训练样本,采用预设数量的增强训练样本训练初始降噪模型,得到降噪模型;通过降噪模型将待降噪的单声道语音降噪,得到人声音频。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1