一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于麦克风阵列结合唤醒词进行的语音降噪方法与流程

2022-04-13 19:27:52 来源:中国专利 TAG:


1.本发明涉及音频处理技术领域,特别涉及一种基于麦克风阵列结合唤醒词进行的语音降噪方法。


背景技术:

2.随着人工智能和语音识别的不断发展,语音唤醒和识别越来越多的出现在我们的生活中,比如说智能音箱,车载语音系统等,应用的场景越来越多样化。在应用过程中周围噪声以及设备本身发出的声音是不可避免的,这些都会影响到语音识别的效果,从而需要对提供给语音识别系统的语音进行处理,即语音前端处理。
3.语音前端处理主要采用麦克风阵列拾取语音并对拾取到的多路语音信号进行回声消除,声源定位,波束形成,降噪等一系列处理,达到对期望方向的语音信号进行增强,同时对非期望方向的噪声的抑制,从而提升语音识别的效果。
4.目前基于麦克风阵列语音前端处理中的降噪和噪声估计主要针对稳态的环境噪声,比如说厨房噪声,包括微波炉,抽油烟机的声音等,以及白噪声等噪声。噪声估计主要使用vad进行语音检测,如果没有检测到语音,则认为是噪声,进行相关的降噪处理,被抑制的是不含有人声的噪声。
5.在多人说话的场景下,比如家庭聊天或者在播放歌曲的时候,在对设备使用唤醒词进行语音唤醒后,使用doa进行定位以及进行波束形成后,除了语音唤醒方向的期望语音信号外,其他方向的人声如果在波书形成过程中没有被很好的抑制,在后面的降噪过程中也不能够被进一步的抑制,从而这些人声会被语音识别系统所识别,进而影响到语音识别的效果。
6.现有基于麦克风阵列的语音前端处理对于不是期望语音信号的人声以及歌曲噪声抑制效果不明显,而人声以及歌曲噪声对语音识别的效果要远比稳态的环境噪声影响要大。
7.此外,现有技术中常用的技术术语包括:
8.麦克风阵列:由一定数目的声学传感器(一般是麦克风)组成,用来对声场的空间特性进行采样并处理的系统。
9.回声消除:(acoustic echo cancellation,aec),用于消除设备自身发出的声音。
10.波达方向:(direction of arrive,doa),用于判定声音的方向。
11.波束形成:(beamforming)指在特定的方向上形成主波束用来接收有用的期望信号,同时形成超低旁瓣抑制抑制噪声信号和干扰信号。
12.线性约束最小方差:(linearly constrained minimum variance,lcmv),线性约束最小方差,波束形成算法的一种。
13.降噪:抑制除期望语音信号外其他声源发出的声音。
14.唤醒词:用于语音唤醒的关键词,比如说"小度小度","小爱同学"等。
15.托普利兹矩阵:也成为toeplitz矩阵,简称为t型矩阵,托普利兹矩阵的主对角线
上的元素相等,平行于主对角线的线上的元素也相等;矩阵中的各元素关于次对角线对称,即t型矩阵为次对称矩阵。简单的t形矩阵包括前向位移矩阵和后向位移矩阵。在数学软件matlab中,生成托普利兹矩阵的函数是:toeplitz(x,y)。它生成一个以x为第一列,y为第一行的托普利兹矩阵,这里x,y均为向量,两者不必等长;
16.设t=[t
ij
]∈cn×n,如果t
ij
=t
j-i
(i,j=1,2,...,n),即
[0017][0018]
则称t为托普利兹矩阵(toeplitz matrix)。
[0019]
离散余弦变换:(discrete cosine transform,简称dct变换)是一种与傅立叶变换紧密相关的数学运算。在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化可导出余弦变换,因此称之为离散余弦变换。
[0020]
巴特利特窗:(bartlett窗)指滤波器的一種通频带,其转移函數的解析式为
[0021][0022]
语音活动检测:(vad,voice activity detection),其目的是检测当前语音信号中是否包含语音信号存在,即对输入信号进行判断,将语音信号与各种背景噪声信号区分出来,分别对两种信号采用不同的处理方法。
[0023]
拉普拉斯变换:是工程数学中常用的一种积分变换,又名拉氏转换。拉氏变换是一个线性变换,可将一个有引数实数t(t≥0)的函数转换为一个引数为复数s的函数。如果用符号代替,可以将式写为:
[0024][0025]
这就是拉普拉斯变换,当将一个t的函数输入,将得到一个关于s的函数。


技术实现要素:

[0026]
为了解决上述现有技术中存在的问题,本发明的目的在于:针对在多人说话聊天以及播放歌曲等具有人声噪声的场景下,基于麦克风阵列的语音前端处理对人声噪声抑制效果不好的问题,提出了一种基于唤醒词的噪声抑制方法。
[0027]
该方法在麦克风阵列接收到的多路音频数据进行完回声消除,doa以及波束形成的基础上,添加了后置降噪操作,结合语音唤醒词位置标记进行噪声估计,在语音唤醒后,进一步的对期望语音以外的人声噪声以及音乐噪声进行降噪处理,从而提升整个基于麦克风阵列的语音前端处理能力。
[0028]
本发明是在麦克风阵列实现了采集多路音频数据并对数据进行了预加重,分帧加窗等预处理后,进行回声消除,doa确定语音角度以及波束形成对目标方向的期望语音信号
进行增强以及其他角度音频进行初步抑制的基础上,结合语音唤醒词进行对波束形成的结果进行噪声估计和降噪的后置处理。
[0029]
在该后置降噪处理中,根据唤醒词唤醒情况分为两个阶段,分别是未唤醒阶段;以及,唤醒后并等待语音识别结果返回或者在唤醒后等待一定时间,这个时间可以是人们说完待识别语句的平均时长。在后续中,称第一个阶段为未唤醒阶段,第二个阶段为唤醒阶段;在这两个阶段使用不同的噪声估计,并在降噪中使用掩蔽效应对音乐噪声有一定抑制作用,达到在唤醒后进行识别阶段对人声噪声以及音乐噪声的抑制。
[0030]
具体地,本发明提供一种基于麦克风阵列结合唤醒词进行的语音降噪方法,包含以下步骤:
[0031]
s1.将经过回声消除(aec),波达方向(doa)以及波束形成后输出的一路音频数据进行分帧加窗操作;
[0032]
s2.协方差计算:
[0033]
s2.1,计算整帧数据的循环卷积;
[0034]
s2.2,取卷积结果中的后l个数据,构成托普利兹矩阵,该矩阵为数据的协方差,其中,l为子帧数据的长度;
[0035]
s3.初始值的确定:分为未唤醒阶段和唤醒阶段两个阶段,其中,分别确定未唤醒阶段的噪声协方差和噪声功率谱密度,以及唤醒阶段的噪声协方差和噪声功率谱密度中的初始值;
[0036]
s4.判断是否处于唤醒词的唤醒阶段,
[0037]
s4.1.若是处于未唤醒阶段,则转向s4.1.1操作;
[0038]
s4.1.1.对数据进行vad判断,
[0039]
若判断是噪声,则更新噪声协方差矩阵,更新噪声功率谱密度;
[0040]
若判断是音频,则不对噪声的协方差矩阵以及功率谱密度进行更新,维持前面噪声的音频;
[0041]
s4.1.2.在未唤醒阶段,将该阶段的音频数据作为唤醒阶段的噪声,更新该阶段的噪声协方差以及噪声功率谱密度,将噪声协方差以及功率率谱密度保存,该部分需要开辟一个大于唤醒词长度的存储空间,用来存放该步骤计算出来的唤醒阶段的噪声协方差以及噪声功率谱;
[0042]
s4.1.3.使用该帧数据计算数据的协方差,用该协方差减去噪声协方差,得到语音信号的协方差,转向s5;
[0043]
s4.2.如果是处于唤醒后并等待识别结果的阶段,即唤醒阶段,则转向s2.2.1;
[0044]
s4.2.1.唤醒后,根据唤醒词长度,在存储空间的当前位置向前退唤醒词最大长度,取出该存储位置上的噪声协方差以及功率谱密度,作为该阶段的噪声协方差以及功率谱;并计算出该阶段的语音信号协方差;
[0045]
s5.将s4.1.3和s4.2.1进行出来的语音信号协方差进行特征值分解,进行拉普拉斯变换以及频域到特征值域的变换;
[0046]
s6.为了去掉音乐噪声以及其他非文档噪声,进一步的采用临界带宽以及掩蔽效应计算掩码,根据掩码以及s5的结果计算权重,计算最终降噪处理后的数据。
[0047]
综上,应用本技术方法能够实现的优势在于:使用本方法有效提升整个基于麦克
风阵列的语音前端处理能力;优化语音识别的效果;方法简单。
附图说明
[0048]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
[0049]
图1是本发明的方法的流程示意框图。
具体实施方式
[0050]
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
[0051]
如图1所示,一种基于麦克风阵列结合唤醒词进行的语音降噪方法,包含以下步骤:
[0052]
s1.将经过回声消除(aec),波达方向(doa)以及波束形成后输出的一路音频数据进行分帧加窗操作;其中,选取2-4ms数据长度作为子帧数据的长度l,x是整帧数据;
[0053]
s2.协方差计算:
[0054]
s2.1,计算整帧数据的循环卷积,cx=xcorr(x,l-1,'biased');
[0055]
s2.2,取卷积结果中的后l个数据,构成托普利兹矩阵,该矩阵为数据的协方差,其中,l为子帧数据的长度;
[0056]
s3.初始值的确定:
[0057]
本发明需要分别计算和维护未唤醒以及唤醒两个阶段的噪声协方差以及功率谱密度,分别称为未唤醒阶段的噪声协方差和噪声功率谱密度以及唤醒阶段的噪声协方差和噪声功率谱密度;
[0058]
a).噪声协方差的初始值:使用最开始的一帧数据采用上述协方差的计算方法进行计算;
[0059]
b).噪声的功率谱密度初始值:使用循环卷积的结果加巴特利特窗,再进行dct运算;
[0060]
s4.判断是否处于唤醒词的唤醒阶段,
[0061]
s4.1.若是处于未唤醒阶段,则转向s4.1.1操作;
[0062]
s4.1.1.对数据进行vad判断,
[0063]
若判断是噪声,则更新噪声协方差矩阵,采用遗忘因子使用当前帧计算的协方差数据和之前的噪声协方差进行计算噪声协方差,更新噪声功率谱密度;
[0064]
若判断是音频,则不对噪声的协方差矩阵以及功率谱密度进行更新,维持前面噪声的音频;
[0065]
s4.1.2.在未唤醒阶段,将该阶段的音频数据作为唤醒阶段的噪声,更新该阶段的噪声协方差以及噪声功率谱密度,将噪声协方差以及功率率谱密度保存,该部分需要开辟一个大于唤醒词长度的存储空间,用来存放该步骤计算出来的唤醒阶段的噪声协方差以及噪声功率谱;
[0066]
s4.1.3.使用该帧数据计算数据的协方差,用该协方差减去噪声协方差,得到语音信号的协方差,转向s5;
[0067]
s4.2.如果是处于唤醒后并等待识别结果的阶段,即唤醒阶段,则转向s2.2.1;
[0068]
s4.2.1.唤醒后,因为唤醒词属于期望信号,根据唤醒词计算的协方差以及功率谱密度不能作为噪声协方差以及功率谱密度,需要在上面所维护的唤醒阶段的噪声协方差以及功率谱存储中取出唤醒词前面的噪声协方差以及功率谱密度;根据唤醒词长度,在存储空间的当前位置向前退唤醒词最大长度,取出该存储位置上的噪声协方差以及功率谱密度,作为该阶段的噪声协方差以及功率谱.并计算出该阶段的语音信号协方差;
[0069]
s5.将s4.1.3和s4.2.1进行出来的语音信号协方差进行特征值分解,进行拉普拉斯变换以及频域到特征值域的变换;
[0070]
s6.为了去掉音乐噪声以及其他非文档噪声,进一步的采用临界带宽以及掩蔽效应计算掩码,根据掩码以及s5的结果计算权重,计算最终降噪处理后的数据。
[0071]
所述唤醒阶段是唤醒后并等待语音识别结果返回或者在唤醒后等待一定时间,所述一定时间是说完待识别语句的平均时长。
[0072]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献