一种语音增益控制方法及计算机存储介质与流程
2021-01-28 12:01:27|310|起点商标网
[0001]
本发明涉及语音通话技术领域,特别是涉及语音通话中语音增益控制方法及存储介质。
背景技术:
[0002]
在会议通话中,瞬时噪声的出现会分散听众的注意力,如何妥善处理瞬时噪声,是会议通话中亟需解决的技术问题。在公知的开源算法webrtc中,会议通话中采用了自动增益控制算法(agc)。例如在申请号为cn201010181204.1,名称为一种语音降噪装置的发明专利中,公开了利用agc进行噪声控制,其利用agc在目标语音不存在时,通过减小增益,进一步抑制噪声强度,目标语音存在概率的判决有语音检测单元给出。又如在申请号为cn201910860097.6,名称为一种麦克风自动增益控制方法、装置及存储介质的发明中,也公开了通过agc控制麦克风的音量,实现噪声抑制。
[0003]
现有的agc算法主要原理是根据输入信号的幅值大小,取信号时域幅值包络,判断其幅值和给定的目标幅值之间的差距,计算相应的增益,使得高于目标幅值的信号被衰减,低于目标信号的幅值被提升。但是现有的算法有一个缺陷,就是当语音中出现瞬时噪声时,容易干扰幅值判断,使未达到目标幅值的语音信号,由于瞬时噪声的出现,而被判定为高于目标幅值的信号,从而获得衰减。并且算法中存在的平滑处理,使得瞬时噪声出现后的一小端语音信号都被抑制,听感上出现语音音量不连贯,降低通话质量。
技术实现要素:
[0004]
为此,需要提供一种语音增益控制方法,用于解决以上所述现有语音噪声处理效果不佳的技术问题。
[0005]
为实现上述目的,本发明提供了一种语音增益控制方法,包括步骤:
[0006]
对语音信号进行分帧和傅立叶变换,然后转极坐标形式,得到频域信号的原始幅度谱和原始相位谱;
[0007]
通过神经网络模型对所述原始幅度谱进行预处理,所述预处理包括抑制所述原始幅度谱中的瞬时噪声幅度谱分量,得到语音增强幅度谱;将预处理后的所述语音增强幅度谱结合所述原始相位谱还原为时域信号;
[0008]
并计算预处理前所述语音信号和预处理后的时域信号的能量比值;
[0009]
对所述时域信号进行agc处理和修正处理,包括所述时域信号分帧求包络,对包络进行agc处理得到增益系数,若所述能量比值大于第一预设阈值时,增益系数不做修正,若所述能量比值小于第一预设阈值且大于第二预设阈值时,增益系数修正为不超过增益系数的一半,若所述能量比值小于第二预设阈值时,增益系数修正为增益系数和能量比值的乘积结果;
[0010]
最后将所述增益系数施加到所述时域信号,完成对所述语音信号的增益控制。
[0011]
进一步的,所述神经网络模型结构包括:输入层、输出层、第一全连接层第二全连
接层,第一lstm层和第二lstm层,通过开源和自研数据集训练而成。
[0012]
进一步的,所述输入层具有128个神经元,所述128个神经元对应128个幅度谱值;所述输出层具有128个神经元,所述128个神经元对应128语音增强幅度谱值,第一全连接层具有64个神经元,第二全连接层具有128个神经元,第一lstm层具有64个神经元,第二lstm层具有128个神经元。
[0013]
进一步的,所述修正处理中的所述能量比值为所述语音信号预处理前后的能量比值取对数再和预设阈值进行对比,通过神经网络模型预处理后,所述能量比值小于所述修正处理中的所述第二预设阈值,若所述能量比值小于第二预设阈值时,所述能量比值需要先转换回线性刻度,再和所述增益系数进行乘积。
[0014]
进一步的,所述步骤通过神经网络模型对所述频域信号进行预处理,抑制所述频域信号中的噪声信号,包括步骤:
[0015]
将所述频域信号分为包含人声的语音段和不包含人声的无语音段,在所述语音段中对所述噪声信号的抑制强度大于或等于12db,在无语音段中对所述噪声信号的抑制强度大于或等于24db。
[0016]
进一步的,在得到语音增强幅度谱之后,还包括步骤:帧与帧之间的所述语音增强幅度谱需要进行平滑处理,平滑系数低于0.1
[0017]
进一步的,所述平滑系数为0。
[0018]
进一步的,所述神经网络模型为通过深度训练的lstm神经网络模型,在不同训练阶段,采用不同的数据集,所述lstm神经网络模型深度训练包括,:
[0019]
使用没有瞬时噪声的语音和所述没有瞬时噪声的语音的特征同时作为lstm神经网络模型的输入和输出进行训练,待lstm神经网络模型收敛后得到参数a;
[0020]
使用所述带噪声的语音特征作为lstm神经网络模型的输入,使用没有瞬时噪声的语音特征作为lstm神经网络模型的输出,基于所述参数a继续训练神经网络模型,待lstm神经网络模型收敛后得到参数b,将所述参数b定为所述lstm神经网络模型的参数。
[0021]
为解决上述技术问题,本发明还提供了一种技术方案:
[0022]
一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器运行时执行以上任一技术方案中所述的语音增益控制方法。
[0023]
区别于现有技术,上述技术方案提出了一种基于神经网络模型的语音增益控制方法,在本方案中对语音信号进行分帧和傅立叶变换后转换为极坐标形式,得到对应的频域信号的原始幅度谱和原始相位谱;并在进行agc处理前,通过神经网络模型检测瞬时噪声,并在检测到瞬时噪声时对原始幅度谱中的瞬时噪声分量进行抑制,使瞬时噪声幅值降低,不会影响语音信号的正常agc处理。进一步的,通过深度学习神经网络模型处理后的瞬时噪声幅值极大减小,远低于agc中的增益放大阈值(即agc处理中的所述第二预设阈值),通过增益修正处理又能够减小瞬时噪声被agc算法误放大的风险,提高语音通话质量。
附图说明
[0024]
图1为具体实施方式所述语音增益控制方法的流程图;
[0025]
图2为具体实施方式所述神经网络模型的示意图;
[0026]
图3为具体实施方式所述计算机存储介质的示意图。
具体实施方式
[0027]
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0028]
现有的agc算法主要通过语音信号的幅值特征,并结合当前帧的语音信号存在概率(vad)计算出当前帧的增益;其中在不包含人声的语音信号片段中,若存在瞬时噪声,则进行衰减,以免噪声误放大。在包含人声的语音信号片段中,若存在瞬时噪声,往往很难被vad检测到,即使检测到也很难通过agc进行抑制。原因在于,瞬时噪声的时长通常在5~50ms,周期很短,短时傅立叶变换片段也是10ms到20ms,瞬时噪声频谱和语音频谱重合比较高,从频谱很难将瞬时噪声剥离开。
[0029]
另外,agc的常见处理是根据输入信号的幅值变化进行响应的调整,当语音中存在瞬时噪声时,增益系数会减小,使语音音量级别达到目标级别,这时瞬时噪声所在的语音信号片段会被抑制,加上平滑策略,抑制效果会持续一小段时间,在听感上,语音在瞬时噪声出现后会变小,影响实际通话体验。
[0030]
针对瞬时噪声对agc的干扰,本实施方式提供了一种语音增益控制方法,对agc算法进行预处理。请参阅图1和图2,该语音增益控制方法可用于会议通话等语音通信中,用于对语音信号进行噪声抑制和自动增益控制,提高语音通话质量。如图1所示,所述语音增益控制方法包括步骤:
[0031]
s101、对语音信号进行分帧和傅立叶变换,然后后转极坐标形式,得到频域信号的原始幅度谱s102和原始相位谱s103;
[0032]
s104、通过神经网络模型对所述原始幅度谱进行预处理,抑制所述原始幅度谱中的瞬时噪声幅度谱分量,得到语音增强幅度谱;
[0033]
s105、将预处理后的所述语音增强幅度谱结合原始相位谱还原为时域信号,并计算所述语音信号经过预处理前后的能量比值;
[0034]
s106、对所述时域信号进行agc处理和修正处理,包括将所述时域信号分帧求包络,对包络进行agc处理得到增益系数,若所述能量比值大于第一预设阈值时,增益系数不做修正,若所述能量比值小于第一预设阈值且大于第二预设阈值时,增益系数修正为不超过增益系数的一半,若所述能量比值小于第二预设阈值时,增益系数修正为增益系数和能量比值的乘积结果;
[0035]
最后将增益系数施加到所述时域信号,完成对所述语音信号的增益控制。
[0036]
在本实施方式中,在进行agc算法处理前,通过深度学习的神经网络模型判断当前语音信号帧是否包括瞬时噪声,若是,则进行抑制,否则不处理,从而规避瞬态噪声对通话的干扰,改善通话体验。
[0037]
在步骤s101中,先对输入的语音信号进行分帧,并进行傅立叶变换,得到对应的频域信号,转成极坐标形式,得到原始的幅度谱和原始的相位谱信息,只对原始的幅度谱进行修改,原始相位谱保持不变。在步骤s101之后进行步骤s104。
[0038]
在步骤s104中通过神经网络模型对所述原始幅度谱进行预处理,即进行agc预处理,抑制所述原始幅度谱中的瞬时噪声幅度谱分量,得到语音增强幅度谱。
[0039]
优选的,如图2所示,上述神经网络模型为通过深度学习的lstm神经网络模型(但并不仅限于lstm神经网络模型),lstm神经网络模型又叫做长短期记忆网络模型,与传统的
循环神经网络相比,lstm对内部的结构进行了更加精心的设计,加入了输入门it、遗忘门ft以及输出门ot三个门和一个内部记忆单元ct。输入门控制当前计算的新状态以多大程度更新到记忆单元中;遗忘门控制前一步记忆单元中的信息有多大程度被遗忘掉;输出门控制当前的输出有多大程度上取决于当前的记忆单元。
[0040]
在本实施方式中,所述lstm神经网络模型包括:输入层、输出层、第一全连接层第二全连接层,第一lstm层和第二lstm层。所述输入层具有128个神经元,所述128个神经元对应128个幅度谱值;所述输出层具有128个神经元,输出层的128个神经元对应128语音增强幅度谱值,第一全连接层具有64个神经元,第二全连接层具有128个神经元,第一lstm层具有64个神经元,第二lstm层具有128个神经元。
[0041]
上述深度学习的lstm神经网络模型,分为训练和使用两部分。在使用将需要事先使用数据集进行训练,所述lstm神经网络模型经过深度学习训练即可用于对所述频域信号进行预处理,抑制所述频域信号中的噪声信号。对所述lstm神经网络模型的学习训练包括:
[0042]
1)采集干净的语音,并提取这些语音中的特征,特征为信号频谱,将这些语音和特征作为神经网络模型的输入和输出,待收敛后,得到参数a;
[0043]
2)在参数a的基础上,更换数据集,采集带噪声的语音信号,并提取这些语音中的特征,特征为信号频谱,将带噪声的语音信号和特征作为网络模型的输入,同时使用干净的语音和对应的特征,作为网络模型输出,基于所述参数a继续训练神经网络模型,待模型收敛,得到参数b。
[0044]
参数b即为最终参数,该训练方式的好处是可以加快收敛速度,减小训练花费的时间。
[0045]
lstm神经网络模型的训练包括前向传递和反向回馈两部分,待lstm神经网络模型损失函数收敛时,提取权重参数;使用时直接用权重进行前向传递得到期望特征,不需要反向回馈。
[0046]
在以上实施方式中,所述语音信号可采用全频带语音信号。现有的基于深度学习的音频算法,梅尔频谱系数(mfcc)被作为特征值之一,其将语音全频带划分成若干个子频带,用子频带的对数能量和表征该子带特征,是一种粗分辨率的分析方式,在语义分析、语音识别中具有较好的效果。但是对于瞬时噪声并不能够精细抑制,原因是瞬时噪声和语音信号的频谱重叠度比较高,具体表现为:在包含有语音的信号中,仍然会残留较多的瞬时噪声,噪声从有到无、从无到有人耳感知比较明显。所以以上实施方式采用了完整的频谱作为语音特征,能够有效增强瞬时噪声的抑制效果,削弱人耳对瞬时噪声的感知。
[0047]
并且在以上实施方式中,可采用全频带的幅度谱作为信号特征。若采用全频带的复频谱,假设傅立叶变换点数是256,则有效频谱数是128个复频谱,包括了实部和虚部共256个特征。根据人耳对噪声相位感知不明显,区别于复频谱特征,本实施方式中采用幅度谱作为信号特征,即128个幅度值,减小了输入特征数量至原来的一半,相位信息仍采用原来的相位信息。
[0048]
在上述学习训练过程,具体的,包括带噪的语音信号的频谱作为输入特征,干净语音信号频谱作为期望特征。特征为信号频谱,具体的,傅立叶变换结果转换成极坐标表示,由于人耳对相位信息不敏感,使用幅度值作为输入特征,丢弃相位信息。
[0049]
在步骤s104之后进行步骤s105,在步骤s105中对所述时域信号进行agc处理和修
正处理。其中,将预处理后的所述语音增强幅度谱结合原始相位谱转换为时域信号,将所述时域信号分帧求包络,对包络进行agc处理得到增益系数,若所述能量比值大于第一预设阈值时,增益系数不做修正,若所述能量比值小于第一预设阈值且大于第二预设阈值时,增益系数修正为不超过增益系数的一半,若所述能量比值小于第二预设阈值时,增益系数修正为增益系数和能量比值的乘积结果。通过agc处理(即自动增益控制算法),使语音信号的音量更一致和连贯,提高通话质量。并且在本实施方式中,由于在agc处理之前进行了预处理,有效避免语音信号中出现瞬时噪声时,有效语音信号被抑制,同时又减小了瞬时噪声的能量值,修正处理避免瞬时噪声在agc处理时被误放大。
[0050]
优选的,在上述实施方式中,为了有效抑制瞬时噪声的干扰,在上述步骤s104中,通过神经网络模型预处理后,所述能量比值小于所述修正处理中的所述第二预设阈值。
[0051]
在一实施方式中,所述步骤通过神经网络模型对所述频域信号进行预处理,抑制所述频域信号中的噪声信号,包括步骤:
[0052]
将所述频域信号分为包含人声的语音段和不包含人声的无语音段,在所述语音段中对所述噪声信号的抑制强度大于或等于12db,在无语音段中对所述噪声信号的抑制强度大于或等于24db。
[0053]
在本实施方式中,在进行agc处理前,先进行瞬时噪声抑制,在不包含人声的无语音段将其抑制超过24db,避免其被agc误放大,在包含人声的语音段抑制12db以上,避免噪声被当作语音信号,影响agc中对语音幅值的判断,从而抑制有瞬时噪声的语音信号,听感上造成断续。
[0054]
进一步的,在以上实施方式中,在步骤对预处理后的所述频域信号进行agc处理中,对增益抑制系数和增益放大的系数不进行平滑处理。针对稳态噪声的抑制,采用增益平滑操作,可以使处理后的语音平稳自然,不会因为帧与帧之间增益差距过大而产生的噪音。但是瞬时噪声的出现频率是远远低于稳态噪声的,采用平滑操作会降低瞬时噪声的抑制效果,具体的,在连续出现瞬时噪声(如敲击桌子)场景中,前几次的敲击声抑制效果比较弱,原因就是因为平滑操作对瞬时噪声的抑制产生了延迟效果。
[0055]
如图3所示,在另一实施方式中提供了一种计算机存储介质300,所述存储介质中存储有程序,所述程序被处理器运行时执行以上任意一实施方式中所述的语音增益控制方法。
[0056]
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips