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

语音端点检测方法、电路、音频处理芯片和音频设备与流程

2021-08-20 20:26:00 来源:中国专利 TAG:语音 信号处理 电路 音频处理 检测方法
语音端点检测方法、电路、音频处理芯片和音频设备与流程

本发明涉及语音信号处理技术领域,具体涉及一种语音端点检测方法、电路、音频处理芯片和音频设备。



背景技术:

语音端点检测(vad,voiceactivitydetection)主要功能是检测待检测信号的起始点和结束点,然后将起始点和结束点之间的待检测信号送入下一级语音识别模块或是降噪模块进行处理。如果是纯净的待检测信号,则进行待检测信号的端点检测比较容易,但是实际工况情况下,待检测信号一般会受到各种噪声的污染,给待检测信号的端点检测带来一定的困难。目前,为了实现待检测信号的精准端点检测,常对检测算法本身进行改进,例如一般采用基于神经网络算法的软件方案,位于语音识别设备或降噪模块的前端,多采用基于能量阈值判断的方式来检测待检测信号的端点,或是采用多频段能量特征分类的方式来检测待检测信号的端点,区分待检测信号和非待检测信号。

目前的待检测信号端点检测的方案多侧重于提高语音端点检测的精度和效果,但是忽略了语音端点检测对降低语音识别设备功耗的作用。一般而言,语音端点检测的精度越高,语音识别设备越复杂,功耗越高;语音端点检测系统越简单,功耗相对来说低一些,但是语音端点检测精度也随之降低。

因此,如何同时实现提高语音端点检测精度和降低检测功耗是亟待解决的问题。



技术实现要素:

基于上述现状,本发明的主要目的在于提供一种语音端点检测方法、电路、音频处理芯片和音频设备,以同时实现提高语音端点检测精度和降低检测功耗。

为实现上述目的,本发明采用的技术方案如下:

第一方面,本发明实施例公开了一种语音端点检测方法,用于音频设备,音频设备包括模拟电路检测模块、数字电路检测模块和软件检测模块,语音端点检测方法包括:

步骤s100,模拟电路检测模块接收第一待检测信号,第一待检测信号为模拟的音频信号;

步骤s200,模拟电路检测模块对第一待检测信号进行检测,以判断是否存在第一语音端点,如果存在第一语音端点,则执行步骤s300,否则执行返回执行步骤s100;

步骤s300,模拟电路检测模块唤醒数字电路检测模块;

步骤s400,数字电路检测模块对第二待检测信号进行检测,以判断是否存在第二语音端点,如果存在第二语音端点,则执行步骤s500,其中,第二待检测信号由第一待检测信号模数转换得到;

步骤s500,数字电路检测模块唤醒软件检测模块;

步骤s600,软件检测模块对第二待检测信号进行检测,以判断是否存在第三语音端点;如果存在第三语音端点,则执行步骤s700;

步骤s700,输出第三语音端点对应的音频信号;

其中,在执行步骤s100、步骤s200期间,数字电路检测模块和软件检测模块处于休眠状态;在进行语音端点检测时,模拟电路检测模块、数字电路检测模块、软件检测模块的功耗依次增大。

可选地,在执行步骤s400期间,模拟电路检测模块和软件检测模块处于休眠状态;在执行步骤s600期间,模拟电路检测模块和数字电路检测模块处于休眠状态。

可选地,在步骤s400中,如果没有检测到第二语音端点,则执行步骤s401、s402;

步骤s401,数字电路检测模块估计第二待检测信号的噪声评价系数,噪声评价系数为噪声能量强度或噪声信噪比;

步骤s402,数字电路检测模块判断噪声评价系数是否小于预设阈值,如果噪声评价系数小于预设阈值,则返回执行步骤s100;

和/或,

在步骤s600中,如果没有检测到第三语音端点,则执行步骤s610、s620;

步骤s610,软件检测模块估计第二待检测信号的噪声评价系数,噪声评价系数为噪声能量强度或噪声信噪比;

步骤s620,软件检测模块判断噪声评价系数是否小于预设阈值,如果噪声评价系数小于预设阈值,则返回执行步骤s100。

可选地,步骤s400包括:

步骤s410,数字电路检测模块确定第二待检测信号中各帧第二待检测信号对应的信号能量值;

步骤s420,数字检测电路确定上一次检测第二语音端点的端点检测结果;

步骤s431,若上一次的端点检测结果为检测到第二语音端点,则数字检测电路计算当前次信号能量值小于对应语音阈值的待检测帧信号对应的第一帧数量;

步骤s432,若第一帧数量大于第一预设数量,则数字检测电路确定当前次未检测到第二语音端点;

步骤s433,若第一帧数量小于或者等于第一预设数量,则数字检测电路确定当前次检测到第二语音端点。

可选地,在步骤s420之后,还包括:

步骤s441,若上一次的端点检测结果为未检测到第二语音端点,则数字检测电路计算当前次信号能量值大于对应静音阈值的待检测帧信号对应的第二帧数量;

步骤s442,若第二帧数量大于第二预设数量,则数字检测电路确定当前次检测到第二语音端点;

步骤s443,若第二帧数量小于或者等于第二预设数量,则数字检测电路确定未检测到第二语音端点。6.如权利要求5的语音端点检测方法,其特征在于,

数字检测电路根据信号能量值对应计算得到第二待检测信号中各帧第二待检测信号对应的的静音阈值和语音阈值:

确定各帧第二待检测信号对应的噪声能量值,并获取预设的静音系数和语音系数,其中,静音系数小于语音系数;

将静音系数和各帧第二待检测信号的噪声能量值之和对应确定为各帧第二待检测信号的静音阈值;

将语音系数和各帧第二待检测信号的噪声能量值之和对应确定为各帧第二待检测信号的语音阈值。

可选地,确定各帧第二待检测信号对应的噪声能量值的步骤包括:

将各帧第二待检测信号按照时间顺序从前到后排序,并将排序后的第二待检测信号中的前n帧第二待检测帧信号确定为第一组信号,将剩下的待检测帧信号确定为第二组信号,其中,n为正整数;

获取预存的噪声初始能量值,将噪声初始能量值确定为待检测第一组信号的噪声能量值;

确定第二组信号对应的前n帧待检测帧信号的信号能量最大值,将能量最大值对应确定为各待检测第二组信号的噪声能量值。

可选地,在步骤s620之后,还包括:

软件检测模块计算预设时长内切换至模拟电路检测模块的切换次数;

若切换次数大于预设次数,则结束切换至模拟电路检测模块的切换操作,并持续设定时长执行步骤s600。

第二方面,本发明实施例公开了一种语音端点检测电路,包括:

模拟电路检测模块,用于接收第一待检测信号,并对第一待检测信号进行检测,以判断是否存在第一语音端点;其中,第一待检测信号为模拟的音频信号;

数字电路检测模块,连接至模拟电路检测模块;模拟电路检测模块检测到第一语音端点后唤醒数字电路检测模块;数字电路检测模块对第二待检测信号进行检测,以判断是否存在第二语音端点;其中,第二待检测信号由第一待检测信号模数转换得到;

软件检测模块,分别与模拟电路检测模块、数字电路检测模块连接;数字电路检测模块检测到第二语音端点后唤醒软件检测模块;软件检测模块对第二待检测信号进行检测,以判断是否存在第三语音端点;软件检测模块检测到第三语音端点后输出第三语音端点对应的音频信号;

模拟电路检测模块、数字电路检测模块和软件检测模块中的一个模块处于语音端点检测时,另两个模块处于休眠状态。

第三方面,本发明实施例公开了一种音频处理芯片,其上具有集成电路,集成电路用于实现上述第一方面的方法;或者,集成电路包括上述第二方面的电路。

第四方面,本发明实施例公开了一种音频设备,具有音频信号处理能力,其特征在于,音频设备包括:上述第三方面的音频处理芯片。

【有益效果】

依据本发明实施例公开的一种语音端点检测方法、电路、音频处理芯片和音频设备,模拟电路检测模块接收第一待检测信号,对第一待检测信号进行检测,以判断是否存在第一语音端点,如果存在第一语音端点,则唤醒数字电路检测模块对第二待检测信号进行检测,以判断是否存在第二语音端点,如果存在第二语音端点,则唤醒软件检测模块对第二待检测信号进行检测,以判断是否存在第三语音端点;如果存在第三语音端点,则输出第三语音端点对应的音频信号。实现了采用三级分时唤醒检测机制,功耗大的检测模块在其前级检测到语音端点后被唤醒进行检测,从而,避免了功耗大的检测模块一直处于检测状态,减小了检测功耗。而模拟电路检测模块、数字电路检测模块、软件检测模块依次在前级检测到语音端点后被唤醒进行检测,从而,使得检测精度依次提高,也就是,确保了语音端点检测精度。继而,实现了同时提高语音端点检测精度和降低检测功耗。

本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。

附图说明

以下将参照附图对根据本发明实施例进行描述。图中:

图1为本实施例公开的一种音频设备结构示意图;

图2为本实施例公开的一种语音端点检测方法流程图;

图3为本实施例公开的一种数字电路检测模块检测流程图;

图4为本实施例公开的一种软件检测模块检测流程图;

图5为本实施例公开的一种数字电路检测模块具体检测流程图。

具体实施方式

为了同时实现提高语音端点检测精度和降低检测功耗,本发明实施例公开了一种语音端点检测方法,用于音频设备,请参考图1,为本实施例公开的一种音频设备结构示意图,该音频设备包括:模拟电路检测模块1、数字电路检测模块2和软件检测模块3,本实施例中,模拟电路检测模块1、数字电路检测模块2和软件检测模块3分级对输入的音频信号进行检测。,在本实施例中,语音端点检测的精度排序为:模拟电路检测模块1<数字电路检测模块2<软件检测模块3;语音端点检测复杂程度排序为:模拟电路检测模块1<数字电路检测模块2<软件检测模块3;语音端点检测过程中所需功耗排序为:模拟电路检测模块1<数字电路检测模块2<软件检测模块3。具体地,请参考图2,为本实施例公开的一种语音端点检测方法流程图,该语音端点检测方法包括:

步骤s100,模拟电路检测模块接收第一待检测信号。请参考图1,本实施例中,第一待检测信号为模拟的音频信号。在具体实施例中,当模拟电路检测模块接收到第一待检测信号后,模拟电路检测模块被唤醒,从而可以对第一待检测信号进行检测。

在具体实施过程中,第一待检测信号可以是音频设备自己采集的,如可以是音频设备通过麦克风采集的,也可以是其他终端设备发送给音频设备的。第一待检测信号中可能存在语音端点,也可能不存在语音端点。当第一待检测信号中存在语音端点时,表明第一待检测信号为语音信号,此时可确定第一待检测信号对应的状态为语音状态;当第一待检测信号中未存在语音端点时,表明第一待检测信号为非语音信号,此时可确定第一待检测信号对应的状态为非语音状态。

步骤s200,模拟电路检测模块对第一待检测信号进行检测,以判断是否存在第一语音端点。在具体实施例中,模拟电路检测模块1可以基于短时能量来对第一待检测信号进行检测,具体地,包括如下步骤:

步骤a,通过模拟电路检测模块1计算第一待检测信号的短时能量,并判断短时能量是否大于预设的能量阈值。

具体地,当音频设备将第一待检测信号输入模拟电路检测模块1中后,音频设备通过模拟电路检测模块1计算第一待检测信号的短时能量。在本实施例中,音频设备通过模拟电路检测模块1中的模拟积分电路计算第一待检测信号的短时能量,并判断该短时能量是否大于预设的能量阈值,其中,能量阈值可根据具体需要或者经验值设置,本实施例不对能量阈值的大小做具体限定。如模拟积分电路可通过公式(1)计算得到第一待检测信号的短时能量:

公式(1):

其中,p表示第一待检测信号的短时能量;t表示计算短时能量对应的时长,如t=1ms(毫秒),则表明计算短时能量对应的信号长度为1ms时长内的信号,t的大小可根据具体需要而设置,本实施例对t的大小不做具体限制;t表示具体的时刻;xt表示t时刻的信号能量值。

步骤b,若短时能量大于能量阈值,则确定通过模拟电路检测模块1检测到第一待检测信号的语音端点。

步骤c,若短时能量小于或者等于能量阈值,则确定通过模拟电路检测模块1未检测到第一待检测信号的语音端点。

若音频设备确定短时能量大于预先设置的能量阈值,音频设备则确定通过模拟电路检测模块1检测到第一待检测信号的语音端点;若短时能量小于或者等于预设的能量阈值,音频设备则确定通过模拟电路检测模块1未检测到第一待检测信号的语音端点。

本实施例中,如果存在第一语音端点,则执行步骤s300,否则执行返回执行步骤s100。

步骤s300,模拟电路检测模块唤醒数字电路检测模块。本实施例中,模拟电路检测模块1唤醒数字电路检测模块2后,模拟电路检测模块1可以处于休眠状态。

本实施例中,若音频设备通过模拟电路检测模块1检测到第一待检测信号的第一语音端点,则模拟电路检测模块1将处于休眠状态的数字电路检测模块2唤醒,使数字电路检测模块2从休眠状态变成唤醒状态,此时,模拟电路检测模块1本身处于休眠状态。需要说明的是,通过该唤醒操作,数字电路检测模块2可以知道模拟电路检测模块1成功检测到第一检测信号中的语音端点。当数字电路检测模块2处于唤醒状态时,音频设备的主控制器和其他部分都处于休眠状态,音频设备的功耗较低。具体地,音频设备可以将通过不给模拟电路检测模块1供电来控制模拟电路检测模块1从唤醒状态进入休眠状态。

步骤s400,数字电路检测模块对第二待检测信号进行检测,以判断是否存在第二语音端点。本实施例中,如果存在第二语音端点,则执行步骤s500。其中,第二待检测信号由第一待检测信号模数转换得到,具体地,请参考图1,第一待检测信号经由模数转换模块(adc)4后得到第二待检测信号。

当数字电路检测模块2处于唤醒状态后,音频设备会将当前接收到的第二待检测信号输入至数字电路检测模块2。需要说明的是,本实施例中,虽然第二待检测信号是由第一待检测信号模数转换得到,也就是,第二待检测信号和第一待检测信号之间存在时间差,但是,音频设备将第一检测信号输入模拟电路检测模块1和将第二待检测信号输入数字电路检测模块2之间的时间差是ms级别的,因此,对于用户听取语音是没有影响的。

需要说明的是,模数转换模块4也与模拟电路检测模块1连接,模数转换模块4中设置有使能端,模数转换模块4通过该使能端能检测到模拟电路检测模块1生成的成功信号(模拟电路检测模块1检测到第一语音端点)。当语音识别信号确定模数转换模块4的使能端检测到成功信号后,语音识别信号将当前所接收的第一待检测信号通过模数转换模块4转换成第二待检测信号,并将第二待检测信号输入至数字电路检测模块2中,以通过数字电路检测模块2检测第二待检测信号的语音端点。

步骤s500,数字电路检测模块唤醒软件检测模块。当数字电路检测模块2检测到第二语音端点后,则唤醒软件检测模块3,使软件检测模3块处于唤醒状态,并控制模拟电路检测模块1、数字电路检测模块2处于休眠状态。类似地,可以通过不给数字电路检测模块2供电使数字电路检测模块2处于休眠状态,或者断开数字电路检测模块2对应的时钟信号,以使数字电路检测模块2处于休眠状态。

步骤s600,软件检测模块对第二待检测信号进行检测,以判断是否存在第三语音端点。如果存在第三语音端点,则执行步骤s700。本实施例中,软件检测模块3的检测对象第二待检测信号是由模数转换模块4转换得到,在具体实施例中,模数转换模块4转换得到第二待检测信号后,可以将第二待检测信号缓存至存储器中,数字电路检测模块2、软件检测模块3访问同一个存储器可以得到第二待检测信号。

在具体实施过程中,可以基于神经网络实现软件检测模块对第二待检测信号进行检测,具体地,通过软件检测模块检测第二待检测信号中的语音端点的过程为:获取第二待检测信号的fbank特征,并将fbank特征输入软件检测模块的神经网络模型中,得到神经网络模型的输出结果。具体地,神经网络模型可为dnn(deepneuralnetworks,深度神经网络)模型。在本实施例中,dnn模型的输入层为120个节点,隐藏层分别为80和40个节点,输出层为2个节点,输出层的分类为语音信号和非语音信号。输入特征由第二待检测信号对应的当前帧信号及其前后2帧信号共5帧的fbank特征组成,每帧信号的fbank特征由12维fbank特征及其一阶差分特征组成,共5*(12 12)=120维。隐藏层的激活函数采用relu(rectifiedlinearunit,线性整流函数)函数,输出层的激活函数采用softmax函数(归一化指数函数),总参数量为12.9k(千字节),计算量非常小。dnn模型的参数的训练采用离线训练的方式训练,具体采用纯净语音信号集和噪声信号集在不同信噪比的参数下合成不同含噪的训练数据集,然后将训练数据集和对应标签送入dnn模型进行训练优化,训练的损失函数采用交叉熵,优化得到最优的参数。可以理解的是,纯净语音信号集中的语音信号不包括噪声信号。在其他实施例中,神经网络模块可为rnn(recurrentneuralnetwork,循环神经网络)模型和cnn(convolutionalneuralnetworks,卷积神经网络)模型等。

步骤s700,输出第三语音端点对应的音频信号。本实施例中,输出的音频信号可以是模拟信号,也可以是数字信号。在输出第三语音端点对应的音频信号后,可以对该音频信号进行后续的降噪、语音识别等处理。

需要说明的是,其中,在执行步骤s100、步骤s200期间,数字电路检测模块2和软件检测模块3处于休眠状态;在进行语音端点检测时,模拟电路检测模块1、数字电路检测模块2、软件检测模块3的功耗依次增大。

进一步地,在执行步骤s400期间,模拟电路检测模块1和软件检测模块3处于休眠状态;在执行步骤s600期间,模拟电路检测模块1和数字电路检测模块2处于休眠状态。

可见,在音频设备检测语音端点过程中,同一时间点只有一个检测语音端点的模块处于工作状态,即模拟电路检测模块1、数字电路检测模块2和软件检测模块3中只有一个是处于工作状态的,其余两个都是处于非工作状态的。因此,在音频设备通过模拟电路检测模块1检测第一待检测信号的语音端点时,只有模拟电路检测模块1处于唤醒状态,数字电路检测模块2和软件检测模块3处于休眠状态,以降低音频设备检测语音端点过程中的功耗。当模拟电路检测模块1处于唤醒状态时,音频设备的整个soc(system-on-a-chip,片上系统)其他部分都处于休眠状态或者关闭状态,此时在语音端点检测过程中,有效地降低了音频设备的功耗。

为了进一步减小检测功耗,避免数字电路检测模块2、软件检测模块3一直处于检测状态。在一种实施例中,请参考图3,为本实施例公开的一种数字电路检测模块检测流程图,在步骤s400中,如果没有检测到第二语音端点,则执行步骤s401、s402;

步骤s401,数字电路检测模块估计第二待检测信号的噪声评价系数。本实施例中,所称噪声评价系数为噪声能量强度或噪声信噪比;

步骤s402,数字电路检测模块判断噪声评价系数是否小于预设阈值。本实施例中,如果噪声评价系数小于预设阈值,则返回执行步骤s100。

在另一种实施例中,请参考图4,为本实施例公开的一种软件检测模块检测流程图,在步骤s600中,如果没有检测到第三语音端点,则执行步骤s610、s620;

步骤s610,软件检测模块估计第二待检测信号的噪声评价系数。本实施例中,所称噪声评价系数为噪声能量强度或噪声信噪比;

步骤s620,软件检测模块判断噪声评价系数是否小于预设阈值。本实施例中,如果噪声评价系数小于预设阈值,则返回执行步骤s100。

具体地,请参见下文描述。

本实施例中,当噪声评价系数小于预设阈值,返回执行步骤s100,从而可以使得数字电路检测模块2、软件检测模块3处于休眠状态,避免数字电路检测模块2、软件检测模块3一直处于检测状态,继而进一步降低了检测功耗。

请参考图5,为本实施例公开的一种数字电路检测模块具体检测流程图,在具体实施例中,步骤s400包括:

步骤s410,数字电路检测模块确定第二待检测信号中各帧第二待检测信号对应的信号能量值。具体地,在接收到第二待检测信号后,将第二待检测信号分成一帧帧信号。本实施例中,将对应的一帧帧信号记为待检测帧信号,然后,在数字电路检测模块2中计算各帧第二待检测信号对应的信号能量值,即通过数字电路检测模块2确定各帧第二待检测信号对应的信号能量值。

为了避免直流分量的干扰,在可选的实施例中,数字电路检测模块2去除第二待检测信号中的直流分量,以得到各帧第二待检测信号的信号能量值。具体地,数字电路检测模块2去除待检测数字信号中各帧待检测帧信号的直流分量,然后根据去除直流分量后的待检测帧信号对应得到各帧第二待检测信号的信号能量值。在本实施例中,数字电路检测模块2通过公式(2)去除各帧待检测帧信号的直流分量,得到各帧第二待检测信号的信号能量值:

公式(2):

其中,fe表示每帧第二待检测信号信号的信号能量值,通过10×log来将第二待检测信号能量值的单位转换成db(分贝),通过公式(2)中剩余的参数来去除第二待检测信号的直流分量,即通过10×log后面的参数来去除第二待检测信号的直流分量;alpha表示可调参数,取值范围为0到1之间,如可将alpha设置为0.35、0.5或者0.6等,在本实施例中,优先将alpha设置为0.5;l表示每帧第二待检测信号的采样点数,如一帧第二待检测信号有100个采样点,则l=100;xi表示i位置的第二待检测信号的值,即表示i采样点对应的信号能量值,如当l=100时,i的取值是1到100,i的取值范围是由l决定的。

步骤s420,数字检测电路模块确定上一次检测第二语音端点的端点检测结果。在具体实施例中,可以设置存储模块,该存储模块可以用来存储数字电路检测模块2上一次检测第二语音端点的端点检测结果,端点检测结果有两种,一种是检测到第二语音端点,另一种是未检测到第二语音端点。具体地,可设置结果标识来表示第二语音端点的端点检测结果,本实施例不限制结果标识的表现形式,结果标识可用数字和/或字母等形式表示。

步骤s431,若上一次的端点检测结果为检测到第二语音端点,则数字检测电路模块计算当前次信号能量值小于对应语音阈值的待检测帧信号对应的第一帧数量。

若上一次检测第二语音端点的端点检测结果是检测到语音端点,即确定上一帧第二待检测信号帧对应的状态为语音状态,数字检测电路计算当前次信号能量值小于对应语音阈值的待检测帧信号对应的第一帧数量,并将信号能量值小于对应语音阈值的待检测帧信号的数量记为第一帧数量。可以理解的是,由于每帧待检测帧信号都存在对应的信号能量值和语音阈值,因此在确定第一帧数量时,是将各帧待检测帧信号的信号能量值与自己对应的语音阈值进行对比。

步骤s432,若第一帧数量大于第一预设数量,则数字检测电路模块确定当前次未检测到第二语音端点。

步骤s433,若第一帧数量小于或者等于第一预设数量,则数字检测电路确定当前次检测到第二语音端点。

在得到第一帧数量后,语音识别设备判断第一帧数量是否大于第一预设数量,其中,第一预设数量的大小可根据具体需要而设置,可以理解的是,当待检测数字信号对应的待检测帧信号的数量越多时,第一预设数量越大。若确定第一帧数量大于第一预设数量,则确定待检测数字信号处于静音状态,即确定通过数字电路检测模块2未检测到待检测数字信号的语音端点;若确定第一帧数量小于或者等于第一预设数量,则确定待检测数字信号处于语音状态,即确定通过数字电路检测模块2检测到待检测数字信号的语音端点。

当数字电路检测模块2未检测到待检测数字信号的语音端点时,则将端点检测结果从检测到语音端点修改为未检测到语音端点,以便于根据当前的端点检测结果进行下一帧待检测帧信号语音端点的检测;当确定通过数字电路检测模块2检测到待检测数字信号的语音端点时,则维持上一次的端点检测结果,即端点检测结果依旧是检测到语音端点,以便于根据当前的端点检测结果进行下一帧待检测帧信号语音端点的检测。需要说明的是,当备将端点检测结果从检测到语音端点修改为未检测到语音端点时,对应的状态也从语音状态切换到静音状态;当语音识别设备将端点检测结果维持上一次的端点检测结果时,对应的状态也维持之前的状态,即继续维持语音状态。

在具体实施例中,在步骤s420之后,还包括:

步骤s441,若上一次的端点检测结果为未检测到第二语音端点,则数字检测电路模块计算当前次信号能量值大于对应静音阈值的待检测帧信号对应的第二帧数量。

若确定数字检测电路上一次检测语音端点的端点检测结果是未检测到语音端点,即确定上一帧待检测帧信号对应的状态为静音状态,则计算待检测数字信号的各帧待检测帧信号中,信号能量值小于对应静音阈值的待检测帧信号的数量,并将信号能量值小于对应静音阈值的待检测帧信号的数量记为第二帧数量。可以理解的是,由于每帧待检测帧信号都存在对应的信号能量值和静音阈值,因此在确定第二帧数量时,是将各帧待检测帧信号的信号能量值与自己对应的静音阈值进行对比。

步骤s442,若第二帧数量大于第二预设数量,则数字检测电路确定当前次检测到第二语音端点。

步骤s443,若第二帧数量小于或者等于第二预设数量,则数字检测电路确定未检测到第二语音端点。在得到第二帧数量后,判断第二帧数量是否大于第二预设数量,其中,第二预设数量的大小可根据具体需要而设置,可以理解的是,当待检测数字信号对应的待检测帧信号的数量越多时,第二预设数量越大,第二预设数量可以与第一预设数量相等,也可以与第一预设数量不相等。若确定第二帧数量大于第二预设数量,则确定待检测数字信号处于语音状态,即数字检测电路检测到待检测数字信号的语音端点;若确定第二帧数量小于或者等于第二预设数量,则确定待检测数字信号处于静音状态,即数字检测电路未检测到待检测数字信号的语音端点。

在数字检测电路检测到待检测数字信号的语音端点时,则将端点检测结果从未检测到语音端点修改为检测到语音端点,以便于根据当前的端点检测结果进行下一帧待检测帧信号语音端点的检测;当通过数字检测电路未检测到待检测数字信号的语音端点时,则维持上一次的端点检测结果,即端点检测结果依旧是未检测到语音端点,以便于根据当前的端点检测结果进行下一帧待检测帧信号语音端点的检测。需要说明的是,当将端点检测结果从未检测到语音端点修改为检测到语音端点时,数字检测电路中对应的状态也从静音状态切换到语音状态;当将端点检测结果维持上一次的端点检测结果时,数字检测电路中对应的状态也维持之前的状态,即继续维持静音状态。

数字检测电路模块根据信号能量值对应计算得到第二待检测信号中各帧第二待检测信号对应的的静音阈值和语音阈值,包括如下步骤e、步骤f和步骤g:

步骤e,确定各帧第二待检测信号对应的噪声能量值,并获取预设的静音系数和语音系数,其中,静音系数小于语音系数。

在确定静音阈值和语音阈值过程中,确定各帧第二待检测信号对应的噪声能量值,其中,每帧待检测帧信号都存在对应的噪声能量值,各帧第二待检测信号的噪声能量值可能相等,也可能不相等。在确定语音阈值和静音阈值过程中,需要获取计算静音阈值所需的预先设置好的静音系数,以及获取计算语音阈值所需的预先设置好的语音系数,其中,静音系数小于语音系数,静音系数和语音系数的大小可根据具体需要而设置,如可将静音系数设置为2,将语音系数设置为5;或者将静音系数设置为3,将语音系数设置为4等。

对于上述步骤e,在优选的实施例中,将各帧第二待检测信号按照时间顺序从前到后排序,并将排序后的第二待检测信号中的前n帧第二待检测帧信号确定为第一组信号,将剩下的待检测帧信号确定为第二组信号,其中,n为正整数;获取预存的噪声初始能量值,将噪声初始能量值确定为待检测第一组信号的噪声能量值;确定第二组信号对应的前n帧待检测帧信号的信号能量最大值,将能量最大值对应确定为各待检测第二组信号的噪声能量值。

本实施例中,不限制n的大小,n的取值可根据具体需要而设置。该噪声初始能量值可以预先设置。进一步地,该噪声初始能量值也可以是排序后的待检测帧信号中前m帧信号能量值的平均值;或者获取存储的历史m帧待检测帧信号的信号能量值的平均值作为噪声初始能量值。其中,m为正整数。在本实施例中,可设置m小于n,如可设置m=10,而n=150。

需要说明的是,每个待检测第二帧信号的噪声能量值确定过程相同,本实施例只对确定一个待检测第二帧信号的噪声能量值确定过程进行阐述,确定一个待检测第二帧信号的噪声能量值的过程具体为:确定待检测第二帧信号对应的前n帧第二待检测帧信号的信号能量值,然后在该前n帧待检测帧信号的信号能量值中选取最大值,得到信号能量最大值,将该能量最大值确定为待检测第二帧信号的噪声能量值。

具体地,在确定能量最大值过程中,可先统计当前各帧待检测第二帧信号的前n帧待检测帧信号能量值的直方图,在该直方图中,横轴表示各待检测帧信号的序号,纵轴表示各帧待检测帧信号的信号能量值。得到各帧待检测第二帧信号对应的直方图后,搜索各直方图中的峰值,将该峰值确定为各帧待检测第二帧信号的噪声能量值。

步骤f,将静音系数和各帧第二待检测信号的噪声能量值之和对应确定为各帧第二待检测信号的静音阈值。

步骤g,将语音系数和各帧第二待检测信号的噪声能量值之和对应确定为各帧第二待检测信号的语音阈值。

在具体实施例中,当得到各帧待检测帧信号的噪声能量值,以及获取到预设静音系数和语音系数后,将静音系数和各帧待检测帧信号的噪声能量值之和对应确定为各帧第二待检测帧信号的静音阈值,以及将语音系数和各帧待检测帧信号的语音阈值之和对应确定为各帧第二待检测帧信号的语音阈值。需要说明的是,在本实施例中,各帧第二待检测帧信号对应的静音系数和语音系数是相同,每帧第二待检测帧信号都存在对应的静音阈值和语音阈值。

具体地,若静音系数表示为th0,语音系数表示为th1,每帧第二待检测帧信号对应的噪声能量值记为noise_peak,静音阈值表示为silence_th,语音阈值表示为speech_th,则每帧第二待检测帧信号的静音阈值可表示为:silence_th=noise_peak th0;每帧第二待检测帧信号的语音阈值可表示为:speech_th=noise_peak th1。

为了进一步节省功耗及提高语音端点检测成功率,在可选的实施例中,在步骤s620之后,还包括:

软件检测模块计算预设时长内切换至模拟电路检测模块的切换次数;若切换次数大于预设次数,则结束切换至模拟电路检测模块的切换操作,并持续设定时长执行步骤s600,也就是,持续一定的时长软件检测模块的语音端点检测。预设时长可根据具体需要而设置,本实施例对预设时长的大小不做具体限制,预设次数可设置为3次、4次或者6次等。若确定切换次数大于预设次数,语音识别设备则结束当前检测语音端点的检测操作;若确定切换次数小于或者等于预设次数,则继续执行后续的检测语音端点的检测操作。

本实施例通过计算预设时长内从软件检测模块切换至硬件检测电路的切换次数,只有在切换次数大于预设次数,才会结束切换检测语音端点的检测操作,否则,继续执行后续的检测语音端点的检测操作,提高了语音端点检测的成功率。

对于步骤s610、s620,软件检测模块3在第二待检测信号中未检测到语音端点,则计算第二待检测信号对应的噪声信号能量值和语音信号能量值。具体地,可获取软件检测模块中存储的检测到语音端点的待检测信号,将检测到语音端点的待检测信号记为语音段信号;以及获取软件检测模块中存储的未检测到语音端点的待检测信号,将未检测到语音端点的待检测信号记为噪声段信号,其中,语音段信号和噪声段信号是软件检测模块根据历史语音端点检测结果存储的数据。

当确定第二待检测信号中的噪声段信号和语音段信号后,复用公式(2)即可计算得到第二待检测信号对应的噪声信号能量值和语音信号能量值,即通过公式(2),采用噪声段信号计算得到噪声信号能量值;通过公式(2),采用语音段信号计算得到语音信号能量值。当得到噪声信号能量值和语音信号能量值后,根据噪声信号能量值和语音信号能量值计算得到信噪比,具体地,采用公式(3)计算得到信噪比:

公式(3):snr=10log(ps/pn);

其中,snr表示信噪比,ps表示噪声信号能量值,pn表示语音信号能量值。

若信噪比小于预设信噪比阈值,和/或语音信号能量值小于预设能量阈值,则控制模拟电路检测模块处于唤醒状态,并从软件检测模块33切换至模拟电路检测模块,通过模拟电路检测模块1重新检测当前接收到的待检测信号的语音端点。

当计算得到信噪比后,判断信噪比是否小于预设信噪比阈值,以及判断信号能量值是否小于预设能量阈值。预设信噪比阈值和预设能量阈值是预先存储在音频设备中,预设信噪比阈值和预设能量阈值的大小可以根据经验或者实验来设置,也可以由用户根据具体需要而设置。

若确定信噪比小于预设信噪比阈值,和/或语音信号能量值小于预设能量阈值,则控制模拟电路检测模块1处于唤醒状态,以从软件检测模块3切换至模拟电路检测模块1,通过模拟电路检测模块1重新检测当前接收到的待检测信号的语音端点。需要说明的是,通过模拟电路检测模块1重新检测当前接收到的待检测信号的语音端点中的待检测信号是新时段接收的信号。当从软件检测模块3切换至模拟电路检测模块1后,则控制软件检测模块3从唤醒状态进入休眠状态,其中,软件检测模块3可通过自己本身的休眠机制进行唤醒状态和休眠状态之间的切换。

进一步地,若确定信噪比大于或者等于预设信噪比阈值,且语音信号能量值大于或者等于预设能量阈值,音频设备则维持当前状态,即继续通过软件检测模块3检测所接收的待检测信号是否存在语音端点。

本实施例在确定通过软件检测模块3未检测到语音端点时,通过待检测信号的噪声信号能量值和语音信号能量值来计算信噪比,然后通过信噪比和/或语音信号能量值来决定是返回模拟电路检测模块1来检测语音端点,还是继续通过软件检测模块3检测语音端点,从而提高了语音端点检测的成功率和准确率,且在进行语音端点检测过程中,模拟电路检测模块1所消耗的功耗比数字检测电路和软件检测模块3更低,因此从软件检测模块3切换至模拟电路检测模块1检测语音端点,降低了检测语音端点所需的功耗。

本实施例还公开了一种语音端点检测电路,请参考图1,该语音端点检测电路包括:

模拟电路检测模块1,用于接收第一待检测信号,并对第一待检测信号进行检测,以判断是否存在第一语音端点;其中,第一待检测信号为模拟的音频信号;

数字电路检测模块2,连接至模拟电路检测模块;模拟电路检测模块检测到第一语音端点后唤醒数字电路检测模块;数字电路检测模块对第二待检测信号进行检测,以判断是否存在第二语音端点;其中,第二待检测信号由第一待检测信号模数转换得到;

软件检测模块3,分别与模拟电路检测模块、数字电路检测模块连接;数字电路检测模块检测到第二语音端点后唤醒软件检测模块;软件检测模块对第二待检测信号进行检测,以判断是否存在第三语音端点;软件检测模块检测到第三语音端点后输出第三语音端点对应的音频信号;

模拟电路检测模块1、数字电路检测模块2和软件检测模块3中的一个模块处于语音端点检测时,另两个模块处于休眠状态。

本实施例还公开了一种音频处理芯片,其上具有集成电路,集成电路用于实现上述实施例公开的方法;或者,集成电路上述实施例公开的语音端点检测电路。

本实施例还公开了一种音频设备,具有音频信号处理能力,音频设备可为个人计算机、智能手机或者掌上电脑等设备;音频设备也可以是例如音箱或耳机等。音频设备包括:上述实施例公开的音频处理芯片。

依据本发明实施例公开的一种语音端点检测方法、电路、音频处理芯片和音频设备,模拟电路检测模块接收第一待检测信号,对第一待检测信号进行检测,以判断是否存在第一语音端点,如果存在第一语音端点,则唤醒数字电路检测模块对第二待检测信号进行检测,以判断是否存在第二语音端点,如果存在第二语音端点,则唤醒软件检测模块对第二待检测信号进行检测,以判断是否存在第三语音端点;如果存在第三语音端点,则输出第三语音端点对应的音频信号。实现了采用三级分时唤醒检测机制,功耗大的检测模块在其前级检测到语音端点后被唤醒进行检测,从而,避免了功耗大的检测模块一直处于检测状态,减小了检测功耗。而模拟电路检测模块、数字电路检测模块、软件检测模块依次在前级检测到语音端点后被唤醒进行检测,从而,使得检测精度依次提高,也就是,确保了语音端点检测精度。继而,实现了同时提高语音端点检测精度和降低检测功耗。

需要说明的是,本发明中采用步骤编号(字母或数字编号)来指代某些具体的方法步骤,仅仅是出于描述方便和简洁的目的,而绝不是用字母或数字来限制这些方法步骤的顺序。本领域的技术人员能够明了,相关方法步骤的顺序,应由技术本身决定,不应因步骤编号的存在而被不适当地限制。

本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。

应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。

再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜