语音检测方法、设备及计算机可读存储介质
文献发布时间:2024-04-18 19:58:26
技术领域
本发明涉及音频处理技术领域,尤其涉及一种语音检测方法、设备及计算机可读存储介质。
背景技术
语音端点检测(VAD,Voice activity detection)在语音信号处理中有着非常重要的作用,广泛应用于远近场拾音、语音增强、通话降噪等各个领域。语音端点检测是指从一段音频信号中检测出语音段与非语音段,也即从带有噪声的语音中准确的定位出语音的开始点,当音频信号的信噪比较低时,语音信号可能被噪声信号掩盖,这使得语音端点检测中的特征提取和语音/非语音判决的准确度受到噪声干扰,降低语音端点检测的准确度。
发明内容
本发明的主要目的在于提供一种语音检测方法、设备及计算机可读存储介质,旨在提高语音端点检测的准确度。
为实现上述目的,本发明提供一种语音检测方法,所述语音检测方法应用于麦克风阵列,所述语音检测方法包括以下步骤:
基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息;
基于所述相对位置信息,从所述麦克风阵列的各个麦克风中确定与所述声源位置之间的相对距离最小的目标麦克风;
对所述目标麦克风从所述外界环境拾取的麦克风声音信号进行语音检测得到所述麦克风声音信号的语音检测结果,并基于所述麦克风声音信号的语音检测结果确定所述环境声音信号的语音检测结果。
可选地,当存在至少两个所述目标麦克风时,所述基于所述麦克风声音信号的语音检测结果确定所述环境声音信号的语音检测结果的步骤,包括:
若各个所述麦克风声音信号中任一麦克风声音信号的语音检测结果为语音信号,则确定所述环境声音信号的语音检测结果为语音信号;
若各个所述麦克风声音信号的语音检测结果均为非语音信号,则确定所述环境声音信号的语音检测结果为非语音信号。
可选地,所述对所述目标麦克风从所述外界环境拾取的麦克风声音信号进行语音检测得到所述麦克风声音信号的语音检测结果的步骤,包括:
计算所述麦克风声音信号的信号方差,并检测所述信号方差是否大于预设的方差阈值;
若所述信号方差大于所述方差阈值,则确定所述麦克风声音信号的语音检测结果为语音信号;
若所述信号方差小于或者等于所述方差阈值,则确定所述麦克风声音信号的语音检测结果为非语音信号。
可选地,所述基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息的步骤之前,还包括:
基于所述环境声音信号检测所述外界环境是否处于噪声场景;
若所述外界环境处于噪声场景,则执行所述基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息的步骤。
可选地,所述基于所述环境声音信号检测所述外界环境是否处于噪声场景的步骤,包括:
计算所述环境声音信号的噪声估计,并基于所述噪声估计计算所述环境声音信号的信号噪声水平;
检测所述信号噪声水平是否大于预设的噪声水平阈值;
若所述信号噪声水平大于所述噪声水平阈值,则确定所述外界环境处于噪声场景。
可选地,所述基于所述噪声估计计算所述环境声音信号的信号噪声水平的步骤,包括:
通过预设系数和所述环境声音信号中各个频点各自在所述环境声音信号中的顺序,计算所述各个频点各自对应的频点权值;
分别计算各个所述频点权值和所述噪声估计的乘积,以得到所述各个频点各自对应的频点噪声水平;
计算各个所述频点噪声水平的和值,以得到所述环境声音信号的信号噪声水平。
可选地,所述基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息的步骤,包括:
基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号相对于所述麦克风阵列的入射方向角,并将所述入射方向角作为所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息。
可选地,所述基于所述相对位置信息,从所述麦克风阵列的各个麦克风中确定与所述声源位置之间的相对距离最小的目标麦克风的步骤,包括:
确定所述麦克风阵列的各个麦克风与所述入射方向角的基准平面所成的麦克风夹角,其中,所述麦克风夹角的顶点与所述入射方向角的顶点相同;
将各个所述麦克风中与所述入射方向角的角度差值处于预设范围内的麦克风,作为与所述声源位置之间的相对距离最小的目标麦克风。
为实现上述目的,本发明还提供一种语音检测设备,所述语音检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语音检测程序,所述语音检测程序被所述处理器执行时实现如上所述的语音检测方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有语音检测程序,所述语音检测程序被处理器执行时实现如上所述的语音检测方法的步骤。
本发明中,通过基于麦克风阵列从所处外界环境拾取的环境声音信号,确定环境声音信号的声源位置相对于麦克风阵列的相对位置信息;基于相对位置信息,从麦克风阵列的各个麦克风中确定与声源位置之间的相对距离最小的目标麦克风;对目标麦克风从外界环境拾取的麦克风声音信号进行语音检测得到麦克风声音信号的语音检测结果,并基于麦克风声音信号的语音检测结果确定环境声音信号的语音检测结果。
本发明通过从麦克风阵列中确定与声源位置之间的相对距离最小的目标麦克风,并基于目标麦克风拾取的麦克风声音信号进行语音检测,由于目标麦克风与声源位置距离近,相比于麦克风阵列拾取的环境声音信号,目标麦克风拾取的麦克风声音信号清晰度高,并且由于没有叠加其它麦克风的拾取的声音信号,麦克风声音信号噪声干扰更低,基于麦克风声音信号进行语音检测的结果准确度更高,从而使得环境声音信号的语音检测结果更准确。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明语音检测方法第一实施例的流程示意图;
图3为本发明语音检测方法一实施方式涉及的入射方向角示意图;
图4为本发明语音检测方法一实施方式涉及的流程示意图;
图5为本发明语音检测装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例语音检测设备,所述语音检测设备可以是设置有麦克风阵列的音频设备,例如,耳机、头戴式设备、智能手机、个人计算机等设备,也可以是与上述音频设备建立通信连接的设备,例如智能手机、个人计算机、服务器等设备,在此不做具体限制。
如图1所示,该语音检测设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对语音检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及语音检测程序。操作系统是管理和控制设备硬件和软件资源的程序,支持语音检测程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的语音检测程序,并执行以下操作:
基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息;
基于所述相对位置信息,从所述麦克风阵列的各个麦克风中确定与所述声源位置之间的相对距离最小的目标麦克风;
对所述目标麦克风从所述外界环境拾取的麦克风声音信号进行语音检测得到所述麦克风声音信号的语音检测结果,并基于所述麦克风声音信号的语音检测结果确定所述环境声音信号的语音检测结果。
进一步地,当存在至少两个所述目标麦克风时,所述基于所述麦克风声音信号的语音检测结果确定所述环境声音信号的语音检测结果的步骤,包括:
若各个所述麦克风声音信号中任一麦克风声音信号的语音检测结果为语音信号,则确定所述环境声音信号的语音检测结果为语音信号;
若各个所述麦克风声音信号的语音检测结果均为非语音信号,则确定所述环境声音信号的语音检测结果为非语音信号。
进一步地,所述对所述目标麦克风从所述外界环境拾取的麦克风声音信号进行语音检测得到所述麦克风声音信号的语音检测结果的步骤,包括:
计算所述麦克风声音信号的信号方差,并检测所述信号方差是否大于预设的方差阈值;
若所述信号方差大于所述方差阈值,则确定所述麦克风声音信号的语音检测结果为语音信号;
若所述信号方差小于或者等于所述方差阈值,则确定所述麦克风声音信号的语音检测结果为非语音信号。
进一步地,所述基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息的步骤之前,处理器1001还可以用于调用存储器1005中存储的语音检测程序,执行以下操作:
基于所述环境声音信号检测所述外界环境是否处于噪声场景;
若所述外界环境处于噪声场景,则执行所述基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息的步骤。
进一步地,所述基于所述环境声音信号检测所述外界环境是否处于噪声场景的步骤,包括:
计算所述环境声音信号的噪声估计,并基于所述噪声估计计算所述环境声音信号的信号噪声水平;
检测所述信号噪声水平是否大于预设的噪声水平阈值;
若所述信号噪声水平大于所述噪声水平阈值,则确定所述外界环境处于噪声场景。
进一步地,所述基于所述噪声估计计算所述环境声音信号的信号噪声水平的步骤,包括:
通过预设系数和所述环境声音信号中各个频点各自在所述环境声音信号中的顺序,计算所述各个频点各自对应的频点权值;
分别计算各个所述频点权值和所述噪声估计的乘积,以得到所述各个频点各自对应的频点噪声水平;
计算各个所述频点噪声水平的和值,以得到所述环境声音信号的信号噪声水平。
进一步地,所述基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息的步骤,包括:
基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号相对于所述麦克风阵列的入射方向角,并将所述入射方向角作为所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息。
进一步地,所述基于所述相对位置信息,从所述麦克风阵列的各个麦克风中确定与所述声源位置之间的相对距离最小的目标麦克风的步骤,包括:
确定所述麦克风阵列的各个麦克风与所述入射方向角的基准平面所成的麦克风夹角,其中,所述麦克风夹角的顶点与所述入射方向角的顶点相同;
将各个所述麦克风中与所述入射方向角的角度差值处于预设范围内的麦克风,作为与所述声源位置之间的相对距离最小的目标麦克风。
基于上述的结构,提出语音检测方法的各个实施例。
参照图2,图2为本发明语音检测方法第一实施例的流程示意图。
本发明实施例提供了语音检测方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在本实施例中,所述语音检测设备可以是设置有麦克风阵列的音频设备,例如,耳机、头戴式设备、智能手机、个人计算机等设备,也可以是与上述音频设备建立通信连接的设备,例如智能手机、个人计算机、服务器等设备,在本实施例中并不做限制,以下为便于描述,省略执行主体进行各实施例的阐述。在本实施例中,所述语音检测方法应用于麦克风阵列,语音检测方法包括:
步骤S10,基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息;
本实施例中,语音检测设备进行语音检测时,获取麦克风阵列拾取的所处外界环境的声音信号(以下称为环境声音信号以示区分),基于环境声音信号从麦克风阵列中确定目标麦克风,然后获取目标麦克风拾取的外界环境的声音信号(以下称为麦克风声音信号以示区分)进行语音检测,以得到环境声音信号的语音检测结果。
本实施例中,通过麦克风阵列采集麦克风阵列所处外界环境的声音信号,以下将采集到的声音信号称为环境声音信号以示区分。
在具体实施方式中,可以是将采集到的音频数据作为环境声音信号;也可以是对采集到的音频数据进行分帧处理后,将每一帧分帧信号都作为环境声音信号,具体可以根据实际需求进行设置,在此不做限制。
具体地,获取麦克风阵列拾取的环境声音信号后,确定环境声音信号的声源位置相对于麦克风阵列的相对位置信息,其中,相对位置信息可以包括声源位置相对于麦克风阵列的距离和/或者声源位置相对于麦克风阵列的方位,进一步地,声源位置相对于麦克风阵列的方位可以是环境声音信号的入射方向角。在一可行实施方式中,可以是根据基于麦克风阵列的声源定位技术确定声源位置,然后根据声源位置和麦克风阵列的位置确定相对位置信息,本实施方式得到的相对位置信息准确度更高,从而使得到的目标麦克风更准确;在另一可行实施方式中,也可以是采用DOA(Direction Of Arrival,波达方向定位技术)技术确定环境声音信号的入射方向角,以得到相对位置信息,本实施方式计算量更低,语音检测效率更高。
步骤S20,基于所述相对位置信息,从所述麦克风阵列的各个麦克风中确定与所述声源位置之间的相对距离最小的目标麦克风;
本实施例中,确定环境声音信号的声源位置相对于麦克风阵列的相对位置信息后,基于相对位置信息,从麦克风阵列的各个麦克风中确定与声源位置之间的相对距离最小的目标麦克风。
在一可行实施方式中,当相对位置信息包括声源位置相对于麦克风阵列的距离时,可以通过麦克风阵列中各个麦克风相对于麦克风阵列的基准位置的距离,换算得到各个麦克风与声源位置的距离,从各个麦克风中确定与声源位置的距离最小的目标麦克风;在另一可行实施方式中,当相对位置信息包括声源位置相对于麦克风阵列的方位时,可以确定各个麦克风在麦克风阵列中的位置,将各个麦克风中处于声源位置相对于麦克风阵列的方位上的麦克风作为与声源位置之间的相对距离最小的目标麦克风,还可以通过其它可行的方式确定目标麦克风,在此不做限制。
步骤S30,对所述目标麦克风从所述外界环境拾取的麦克风声音信号进行语音检测得到所述麦克风声音信号的语音检测结果,并基于所述麦克风声音信号的语音检测结果确定所述环境声音信号的语音检测结果。
本实施例中,对目标麦克风从外界环境拾取的麦克风声音信号进行语音检测得到麦克风声音信号的语音检测结果。具体语音检测的过程包括特征提取和语音/非语音判决,其中,语音/非语音判决可以是采用基于阈值的判决方法、基于机器学习的判决方法以及基于声学模型的判决方法,也可以采用其它可行的判决方法,具体在此不做限制。
麦克风声音信号的语音检测结果后,基于麦克风声音信号的语音检测结果确定环境声音信号的语音检测结果。麦克风阵列中可能存在多个目标麦克风,也可能存在一个目标麦克风,当存在一个目标麦克风时,可以将该一个目标麦克风的语音检测结果作为环境声音信号的语音检测结果;当存在多个目标麦克风时,在一可行实施方式中,可以将多个目标麦克风中任一目标麦克风的语音检测结果作为环境声音信号的语音检测结果,在另一可行实施方式中,可以结果多个目标麦克风的语音检测结果得到环境声音信号的语音检测结果,具体在此不做限制。
进一步地,在一可行实施方式中,步骤S10包括:
步骤S101,基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号相对于所述麦克风阵列的入射方向角,并将所述入射方向角作为所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息。
本实施方式中,将入射方向角作为相对位置信息,以减少语音检测过程中的计算量,提高语音检测效率。具体地,基于麦克风阵列从所处外界环境拾取的环境声音信号,采用DOA技术估计确定环境声音信号相对于麦克风阵列的入射方向角,其中,具体可以是采用交叉谱算法(Cross-Correlation Algorithm)、MUSIC(Multiple Signal Classification,多重信号分类算法)算法、ESPRIT算法(Estimation of Signal Parameters viaRotational Invariance Techniques,基于信号旋转不变性的参数估计算法)算法以及Beamforming(波束成形)算法等算法,在此不做限制。
得到环境声音信号相对于麦克风阵列的入射方向角后,将入射方向角作为环境声音信号的声源位置相对于麦克风阵列的相对位置信息。
在一可行实施方式中,可以通过角度的正负表明入射方向角的方向,例如图3所示,音频设备可以为耳机设备,本实施方式中,以麦克风阵列的中心为中心设置基准平面,以麦克风阵列的前方为正向,如图3中虚线走向所示入射方向角的取值为正30度;在另一可行实施方式中,也可以通过方位描述标明入射方向角的方向,例如,东偏南30度。
进一步地,在一可行实施方式中,步骤S20包括:
步骤S201,确定所述麦克风阵列的各个麦克风与所述入射方向角的基准平面所成的麦克风夹角,其中,所述麦克风夹角的顶点与所述入射方向角的顶点相同;
本实施方式中,预先设置用于确定入射方向角的基准平面,具体可以是以麦克风阵列为基础确定基准平面,也可以是以音频设备为基础确定基准平面,在此不做限制。确定麦克风阵列的各个麦克风与入射方向角的基准平面所成的麦克风夹角,其中,麦克风夹角的顶点与入射方向角的顶点相同。
在一可行实施方式中,可以通过角度的正负表明麦克风夹角的方向;在另一可行实施方式中,也可以通过方位描述标明麦克风夹角的方向,具体可以参照入射方向角,在此不做赘述。
步骤S202,将各个所述麦克风中与所述入射方向角的角度差值处于预设范围内的麦克风,作为与所述声源位置之间的相对距离最小的目标麦克风。
本实施方式中,计算各个麦克风夹角与入射方向角的角度差值,需要说明的是,角度差值可以具有方向性也可以不具有方向性,但是在计算角度差值的过程需要考虑方向,也即,可以是将麦克风夹角与入射方向角之间的差值直接作为角度差值,也可以是将麦克风夹角与入射方向角之间差值的绝对值作为角度差值,具体在此不做限制。例如,在一实施方式中,入射方向角为正30度,麦克风夹角为-30度,麦克风夹角减去入射方向角为-60度,此时,角度差值可以是-60,也可以是取绝对值后的60。
将各个角度差值中处于预设范围内的角度差值对应的麦克风,作为与声源位置之间的相对距离最小的目标麦克风。其中,预设范围可以根据实际需求进行设置,在此不做限制。
本实施方式中,根据入射方向角确定目标麦克风,相比于对声源进行定位后,根据声源位置和麦克风位置确定目标麦克风,本实施方式计算量小,语音检测的处理效率高。
本实施例中,基于麦克风阵列从所处外界环境拾取的环境声音信号,确定环境声音信号的声源位置相对于麦克风阵列的相对位置信息;基于相对位置信息,从麦克风阵列的各个麦克风中确定与声源位置之间的相对距离最小的目标麦克风;对目标麦克风从外界环境拾取的麦克风声音信号进行语音检测得到麦克风声音信号的语音检测结果,并基于麦克风声音信号的语音检测结果确定环境声音信号的语音检测结果。
本实施例通过从麦克风阵列中确定与声源位置之间的相对距离最小的目标麦克风,并基于目标麦克风拾取的麦克风声音信号进行语音检测,由于目标麦克风与声源位置距离近,相比于麦克风阵列拾取的环境声音信号,目标麦克风拾取的麦克风声音信号清晰度高,并且由于没有叠加其它麦克风的拾取的声音信号,麦克风声音信号噪声干扰更低,基于麦克风声音信号进行语音检测的结果准确度更高,从而使得环境声音信号的语音检测结果更准确。
进一步地,基于上述第一实施例,提出本发明语音检测方法第二实施例,在本实施例中,当存在至少两个所述目标麦克风时,步骤S30包括:
步骤S301,若各个所述麦克风声音信号中任一麦克风声音信号的语音检测结果为语音信号,则确定所述环境声音信号的语音检测结果为语音信号;
本实施例中,当存在至少两个目标麦克风时,可以结合各个麦克风声音信号的语音检测结果确定环境声音信号的语音检测结果,相比于以其中任一麦克风声音信号的语音检测结果作为语音检测结果,本实施例可以避免漏判和误判的情况,从而提高语音检测的准确性。
具体地,检测各个麦克风声音信号是否均为语音信号,以得到各个麦克风声音信号各自的语音检测结果,具体语音信号的检测过程在此不做赘述。
若各个麦克风声音信号中任一麦克风声音信号的语音检测结果为语音信号,则确定环境声音信号的语音检测结果为语音信号。
步骤S302,若各个所述麦克风声音信号的语音检测结果均为非语音信号,则确定所述环境声音信号的语音检测结果为非语音信号。
若各个麦克风声音信号的语音检测结果均为非语音信号,则确定环境声音信号的语音检测结果为非语音信号。
进一步地,在一可行实施方式中,步骤S30包括:
步骤S303,计算所述麦克风声音信号的信号方差,并检测所述信号方差是否大于预设的方差阈值;
本实施方式中,可以是基于阈值进行语音检测。具体地,语音信号通常帧内一致性较低,因此语音信号的帧内方差比较大,而噪声信号的帧内一致性高,因此,噪声信号的帧内方差比较小,基于以上性质,本实施方式以信号方差阈值进行语音检测。
具体地,计算麦克风声音信号的信号方差,并检测信号方差是否大于预设的方差阈值,具体地,计算环境声音信号的信号方差的具体公式为:
其中,N为信号采样点数,y表示输入信号,μ表示信号均值。
步骤S304,若所述信号方差大于所述方差阈值,则确定所述麦克风声音信号的语音检测结果为语音信号;
若信号方差大于方差阈值,则确定麦克风声音信号的语音检测结果为语音信号。
步骤S305,若所述信号方差小于或者等于所述方差阈值,则确定所述麦克风声音信号的语音检测结果为非语音信号。
若信号方差小于或者等于方差阈值,则确定麦克风声音信号的语音检测结果为非语音信号。
进一步地,在一可行实施方式中,也可以是使用平坦度、过零率以及信号能量等特征进行语音检测。进一步地,在一可行实施方式中,还可以结合多个特征进行语音检测。
进一步地,在一可行实施方式中,为了避免语音检测结果出现频繁跳变,可以设置语音保持规则,即在麦克风声音信号的语音检测结果为语音信号时,语音检测结果持续预设帧数。
进一步地,在一可行实施方式中,步骤S10之前,还包括:
步骤S40,基于所述环境声音信号检测所述外界环境是否处于噪声场景;
本实施例中,在得到环境声音信号后,检测所述外界环境是否处于噪声场景。
具体地,在一实施方式中,可以是基于ASC(Acoustic Scenes Classification,声学场景分类)和AED(Acoustic Events Detection,声音事件检测)对环境声音信号进行噪声场景识别;在另一实施方式中,也可以是基于环境声音信号的噪声水平进行场景识别,具体在此不做限制,可以根据实际需求进行设置。
步骤S50,若所述外界环境处于噪声场景,则执行所述基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息的步骤。
若外界环境处于噪声场景,则确定外界环境中噪声较大,环境声音信号的信噪比较低,此时为了保证语音检测结果的准确性,可以从麦克风阵列中确定目标麦克风,根据目标麦克风拾取的麦克风声音信号的语言检测结果确定环境声音信号的语音检测结果,以提高语音检测的准确性,也即,执行基于麦克风阵列从所处外界环境拾取的环境声音信号,确定环境声音信号的声源位置相对于麦克风阵列的相对位置信息的步骤。
本实施方式通过设置在噪声场景下,才根据目标麦克风拾取的麦克风声音信号的语言检测结果确定环境声音信号的语音检测结果,本实施方式避免了在所有场景下持续采用以上语音检测方式,在计算量和语音检测准确度之间实现了有效平衡,在提升语音检测准确度的同时保证了语音检测的整体效率。
进一步地,若外界环境不处于噪声场景,此时环境声音信号信噪比较高,在一可行实施方式中,可以直接采用环境声音信号进行语音检测;在另一可行实施方式中,也可以是采用麦克风阵列中任一麦克风拾取的声音信号进行语音检测,在此不做限制,可以根据实际需求进行设置。
进一步地,在一可行实施方式中,步骤S40包括:
步骤S401,计算所述环境声音信号的噪声估计,并基于所述噪声估计计算所述环境声音信号的信号噪声水平;
本实施方式中,基于噪声水平检测外界环境是否处于噪声场景,具体地,计算环境声音信号的噪声估计。其中,噪声估计的具体计算公式可以是:
λ
其中,α
本实施方式中,基于噪声估计计算环境声音信号的信号噪声水平。在一可行实施方式中,可以是将噪声估计作为信号噪声水平,在另一可行实施方式中,也可以是在对噪声估计进行计算后得到噪声水平,在此不做限制。
步骤S402,检测所述信号噪声水平是否大于预设的噪声水平阈值;
本实施方式中,检测信号噪声水平是否大于预设的噪声水平阈值。
具体地,在一可行实施方式中,噪声水平阈值可以是一个确定不变的值;在另一可行实施方式中,噪声水平阈值也可以是一个变化的值,例如,可以根据环境声音信号前一帧声音信号的声音场景变化,具体可以根据实际需求进行设置,在此不做限制。
示例性地,在一可行实施方式中,噪声水平阈值可以根据环境声音信号的前一帧声音信号变化。具体地,本实施方式中设置一个取值低的阈值(以下称为低噪阈值以示区分)和一个取值高的阈值(以下称为高噪阈值以示区分)。在检测到环境声音信号的前一帧声音信号的声音场景为噪声场景时,此时环境声音信号中可能残余前一帧声音信号的噪声信号,因此,将预设的低噪阈值作为噪声水平阈值,以避免前一帧声音信号中的噪声对基于噪声场景识别的识别结果造成影响。本实施方式中,在检测到环境声音信号的前一帧声音信号的声音场景为非噪声场景时,由于当前声音信号中不会残余前一帧声音信号的噪声,因此,将预设的高噪阈值作为噪声水平阈值,以准确区分噪声场景和非噪声场景。
步骤S403,若所述信号噪声水平大于所述噪声水平阈值,则确定所述外界环境处于噪声场景。
本实施方式中,若信号噪声水平大于噪声水平阈值,则确定外界环境处于噪声场景。
若信号噪声水平小于或者等于噪声水平阈值,则确定外界环境不处于噪声场景。
本实施方式中基于环境声音信号的噪声水平的高低确定环境声音信号对应的场景,相比于基于声学场景分类和声音事件检测对环境声音信号进行场景识别,本实施方式得到的场景识别结果更符合实际情况,从而使根据麦克风声音信号的语言检测结果确定环境声音信号的语音检测结果的触发时机更准确,在提升语音检测准确度的同时保证了语音检测的整体效率。
进一步地,在一可行实施方式中,步骤S401包括:
步骤S4011,通过预设系数和所述环境声音信号中各个频点各自在所述环境声音信号中的顺序,计算所述各个频点各自对应的频点权值;
本实施方式中,提出一种基于噪声估计的噪声水平因子,噪声水平因子具体计算公式为:
其中,w为频点权值,与频点有关,由于对绝大数噪声而言,低频分量含量会更多一些,因此w取值为非均布,λ为噪声估计,l为帧序号。
具体地,本实施方式中,通过预设系数和环境声音信号中各个频点各自在环境声音信号中的顺序,计算各个频点各自对应的频点权值,也即,频点权值的计算公式可以为:
其中,c1和c2为常系数,K为频点数,k为频点序号,也即频点各自在环境声音信号中的顺序。
步骤S4012,分别计算各个所述频点权值和所述噪声估计的乘积,以得到所述各个频点各自对应的频点噪声水平;
基于上述噪声水平的计算模型,分别计算各个频点权值和噪声估计的乘积,以得到各个频点各自对应的频点噪声水平,也即,噪声水平因子具体计算公式中的w(k)·λ
步骤S4013,计算各个所述频点噪声水平的和值,以得到所述环境声音信号的信号噪声水平。
计算各个频点噪声水平的和值,以得到环境声音信号的信号噪声水平。
本实施例中,通过在存在至少两个目标麦克风时,若各个麦克风声音信号中任一麦克风声音信号的语音检测结果为语音信号,则确定环境声音信号的语音检测结果为语音信号;若各个麦克风声音信号的语音检测结果均为非语音信号,则确定环境声音信号的语音检测结果为非语音信号。本实施例可以避免漏判和误判的情况,从而提高语音检测的准确性。
进一步地,在一可行实施方式中,参照图4,语音检测的具体过程可以是:
1、噪声估计及噪声场景识别。具体地,计算环境声音信号的噪声估计,噪声估计公式为:
λ
其中,α
基于噪声估计计算环境声音信号的噪声水平,噪声水平的计算公式具体为:
其中,w为频点权值,具体w的取值为:
其中,c1和c2为常系数,K为频点数。
若NL>Th
2、DOA估计。具体地,基于麦克风阵列从所处外界环境拾取的环境声音信号,确定环境声音信号的声源位置相对于麦克风阵列的相对位置信息,本实施方式中,可以是基于麦克风阵列从所处外界环境拾取的环境声音信号,采用DOA估计确定环境声音信号相对于麦克风阵列的入射方向角,并将入射方向角作为环境声音信号的声源位置相对于麦克风阵列的相对位置信息。
3、通道选择。具体地,基于相对位置信息,从麦克风阵列的各个麦克风中确定与声源位置之间的相对距离最小的目标麦克风。
4、VAD判定。具体分为单通道VAD和多通道VAD,其中,单通道VAD为存在一个目标麦克风时的语音检测,此时,可以将目标麦克风的语音检测结果作为环境声音信号的语音检测结果;多通道VAD存在至少两个目标麦克风时的语音检测,此时,若各个麦克风声音信号中任一麦克风声音信号的语音检测结果为语音信号,则确定环境声音信号的语音检测结果为语音信号;若各个麦克风声音信号的语音检测结果均为非语音信号,则确定环境声音信号的语音检测结果为非语音信号。
本实施方式中,可以基于信号方差进行语音检测,信号方差的计算公式如下所示:
其中,N为信号采样点数,y表示输入信号,μ表示信号均值。
本实施方式中,为了避免判定结果出现频繁跳变,可以设置语音保持规则,即语音检测结果为语音信号时,该语音检测结果持续预设帧数。
此外,本发明实施例还提出一种语音检测装置,参照图5,所述语音检测装置包括:
确定模块10,用于基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息;
所述确定模块10,还用于基于所述相对位置信息,从所述麦克风阵列的各个麦克风中确定与所述声源位置之间的相对距离最小的目标麦克风;
语音检测模块20,用于对所述目标麦克风从所述外界环境拾取的麦克风声音信号进行语音检测得到所述麦克风声音信号的语音检测结果,并基于所述麦克风声音信号的语音检测结果确定所述环境声音信号的语音检测结果。
进一步地,当存在至少两个所述目标麦克风时,所述语音检测模块20还用于:
若各个所述麦克风声音信号中任一麦克风声音信号的语音检测结果为语音信号,则确定所述环境声音信号的语音检测结果为语音信号;
若各个所述麦克风声音信号的语音检测结果均为非语音信号,则确定所述环境声音信号的语音检测结果为非语音信号。
进一步地,所述语音检测模块20还用于:
计算所述麦克风声音信号的信号方差,并检测所述信号方差是否大于预设的方差阈值;
若所述信号方差大于所述方差阈值,则确定所述麦克风声音信号的语音检测结果为语音信号;
若所述信号方差小于或者等于所述方差阈值,则确定所述麦克风声音信号的语音检测结果为非语音信号。
进一步地,所述语音检测装置还包括场景检测模块,用于:
基于所述环境声音信号检测所述外界环境是否处于噪声场景;
若所述外界环境处于噪声场景,则执行所述基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息的步骤。
进一步地,所述场景检测模块还用于:
计算所述环境声音信号的噪声估计,并基于所述噪声估计计算所述环境声音信号的信号噪声水平;
检测所述信号噪声水平是否大于预设的噪声水平阈值;
若所述信号噪声水平大于所述噪声水平阈值,则确定所述外界环境处于噪声场景。
进一步地,所述场景检测模块还用于:
通过预设系数和所述环境声音信号中各个频点各自在所述环境声音信号中的顺序,计算所述各个频点各自对应的频点权值;
分别计算各个所述频点权值和所述噪声估计的乘积,以得到所述各个频点各自对应的频点噪声水平;
计算各个所述频点噪声水平的和值,以得到所述环境声音信号的信号噪声水平。
进一步地,所述确定模块10还用于:
基于所述麦克风阵列从所处外界环境拾取的环境声音信号,确定所述环境声音信号相对于所述麦克风阵列的入射方向角,并将所述入射方向角作为所述环境声音信号的声源位置相对于所述麦克风阵列的相对位置信息。
进一步地,所述确定模块10还用于:
确定所述麦克风阵列的各个麦克风与所述入射方向角的基准平面所成的麦克风夹角,其中,所述麦克风夹角的顶点与所述入射方向角的顶点相同;
将各个所述麦克风中与所述入射方向角的角度差值处于预设范围内的麦克风,作为与所述声源位置之间的相对距离最小的目标麦克风。
本发明语音检测设备和计算机可读存储介质各实施例,均可参照本发明语音检测方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
- 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
- 语音交互的方法、装置、设备和计算机可读存储介质
- 语音唤醒方法、电子设备及非暂态计算机可读存储介质
- 语音模仿方法、终端设备及计算机可读存储介质
- 语音信息处理方法、播放设备及计算机可读存储介质
- 用于针对由自动语音识别系统处理的语音命令检测音频对抗性攻击的方法、对应的设备、计算机程序产品和计算机可读载体介质
- 用于针对由自动语音识别系统处理的语音输入检测音频对抗性攻击的方法、对应的设备、计算机程序产品和计算机可读载体介质