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

姿态检测方法、装置、电子设备及计算机可读存储介质与流程

2021-08-20 20:26:00 来源:中国专利 TAG:计算机 申请 电子设备 姿态 检测方法
姿态检测方法、装置、电子设备及计算机可读存储介质与流程

本申请涉及计算机技术领域,具体而言,本申请涉及一种姿态检测方法、装置、电子设备及计算机可读存储介质。



背景技术:

随着终端设备行业的发展,用户对终端设备通话质量的要求越来越高。现有终端设备普遍有两个或两个以上的麦克风(microphone,mic),得益于多麦克风降噪法,多麦克风终端设备可以获得比单麦克风终端设备更好的通话语音质量。多麦克风降噪法是否有效很大程度上取决于用户使用终端设备进行语音通话时手持终端设备的姿态。但是,不同的人或同一人在不同时刻,手持终端设备的姿态不尽相同,因此检测用户使用终端设备进行语音通话时手持终端设备的姿态,对噪声抑制功能起着至关重要的作用。

目前一些基于传感器(如摄像头,陀螺仪,重力感应器等)的姿态检测方法,并不能获得终端设备相对于人脸的姿态,因此有必要对现有的姿态检测方法进行改进。



技术实现要素:

本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:

第一方面,本申请实施例提供了姿态检测方法,包括:

通过至少两个语音采集设备采集语音通话过程中的语音信号;

获取语音信号对应的姿态能量信息;

根据姿态能量信息,从各预定姿态中确定出用户在语音通话过程中的姿态。

在本申请的一种可选实施例中,获取语音信号对应的姿态能量信息,包括:

获取语音信号对应各预定姿态的投影能量。

在本申请的一种可选实施例中,获取语音信号对应各预定姿态的投影能量,包括:

获取语音信号的各频点对应各预定姿态的投影能量;

获取各频点分别对应的权重值;

根据各频点分别对应的权重值以及各频点对应各预定姿态的投影能量,确定语音信号对应各预定姿态的投影能量。

在本申请的一种可选实施例中,获取语音信号的各频点对应各预定姿态的投影能量,包括:

获取语音信号对应的特征向量,特征向量包含各频点对应的特征值;

将特征向量进行归一化处理,得到语音信号对应的归一化特征向量;

根据归一化特征向量和各预定姿态分别对应的特征矩阵,确定各频点分别对应各预定姿态的投影能量。

在本申请的一种可选实施例中,获取语音信号对应的特征向量,包括:

获取与语音信号对应的至少两个频域信号;

对于每一频点,合并各频域信号在该频点处的特征值,得到语音信号的特征向量。

在本申请的一种可选实施例中,将特征向量进行归一化处理之前,还包括:

根据预定的补偿参数,对特征向量进行频率响应补偿处理,得到幅度校正后的特征向量。

在本申请的一种可选实施例中,对于至少一个预定姿态,对应的特征矩阵是通过以下方式得到的:

分别确定样本声源与各个语音采集设备之间的距离;

根据样本声源与各个语音采集设备之间的距离,确定预定姿态对应的特征向量;

基于预定姿态对应的特征向量,确定预定姿态对应的特征矩阵。

在本申请的一种可选实施例中,获取各频点分别对应的权重值,包括:

获取各频点对应的预定权重。

在本申请的一种可选实施例中,获取各频点分别对应的权重值,包括:

根据各频点对应各预定姿态的投影能量和/或语音信号的能量信息,通过权重确定神经网络,确定各频点对应的权重。

在本申请的一种可选实施例中,权重确定神经网络包括控制子网络和计算子网络;

根据各频点对应各预定姿态的投影能量和/或语音信号的能量信息,通过权重确定神经网络,确定各频点对应的权重,包括:

通过控制子网络,根据语音信号的能量信息,确定语音信号的信噪比表征值,根据信噪比表征值确定各频点的权重值是否为预定权重;

若不是,通过计算子网络,根据各频点对应各预定姿态的投影能量,确定各频点的权重值。

在本申请的一种可选实施例中,控制子网络,经由级联的若干第一特征提取层对语音信号的能量信息进行特征提取,以及经由分类层根据提取的特征获取信噪比表征值;

计算子网络,经由级联的若干第二特征提取层对各频点对应各预定姿态的投影能量进行特征提取,以及经由线性回归层根据提取的特征获得各频点的权重。

在本申请的一种可选实施例中,第二特征提取层将提取出的特征与控制子网络中相应的第一特征提取层输出的特征进行合并,输出合并后的特征。

在本申请的一种可选实施例中,根据各频点分别对应的权重值以及各频点对应各预定姿态的投影能量,确定语音信号对应各预定姿态的投影能量,包括:

针对每种预定姿态,分别根据各频点对应的权重值,对各频点对应该预定姿态的投影能量进行加权处理;

针对每种预定姿态,分别将各频点对应于该预定姿态的加权处理后的投影能量进行累加,得到语音信号对应该预定姿态的投影能量。

在本申请的一种可选实施例中,根据姿态能量信息,从各预定姿态中确定出用户在语音通话过程中的姿态,包括:

选择最大的姿态能量信息所对应的预定姿态,得到用户在语音通话过程中的姿态信息。

在本申请的一种可选实施例中,还包括:

基于用户在语音通话过程中的姿态信息,对语音信号进行降噪处理,得到降噪后的语音信号。

第二方面,本申请实施例提供了一种姿态检测装置,包括:

语音采集模块,用于通过至少两个语音采集设备采集语音通话过程中的语音信号;

能量获取模块,用于获取语音信号对应的姿态能量信息;

姿态确定模块,用于根据姿态能量信息,从各预定姿态中确定出用户在语音通话过程中的姿态。

第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器;

存储器中存储有计算机程序;

处理器,用于执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。

本申请提供的技术方案带来的有益效果是:

通过预先设定多种预定姿态,再根据语音通话过程中多个语音采集设备采集到的语音信号的姿态能量信息,从预先设定的多种预定姿态中确定出用户在通话过程中的姿态,即得到了用户姿态检测结果,可以为通话语音质量增强提供参考,优化噪声抑制处理的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例的一个示例中包含两个麦克风的终端设备的示意图;

图2a为本申请实施例中一种正常手持模式下用户的姿态的示意图;

图2b为本申请实施例中一种正常手持模式下麦克风采集到的语音信号的波形图;

图3a为本申请实施例中一种非正常手持模式下用户的姿态的示意图;

图3b为本申请实施例中一种非正常手持模式下麦克风采集到的语音信号的波形图;

图4为本申请实施例提供的一种姿态检测方法的流程示意图;

图5a为本申请实施例的一个示例中预定姿态1的示意图;

图5b为本申请实施例的一个示例中预定姿态2的示意图;

图5c为本申请实施例的一个示例中预定姿态3的示意图;

图5d为本申请实施例的一个示例中预定姿态4的示意图;

图5e为本申请实施例的一个示例中各预定姿态和用户姿态下声源与麦克风距离的示意图;

图5f为本申请实施例的一个示例中各预定姿态和用户姿态对应的特征向量的示意图;

图5g为本申请实施例的一个示例中各预定姿态和用户姿态对应的归一化特征向量的示意图;

图6a为本申请实施例的一个示例中用户姿态和各预定姿态的归一化特征向量在同一坐标系下的示意图;

图6b为图6a所示的示例中用户姿态的归一化特征向量在各预定姿态的特征向量上的能量投影示意图;

图7为本申请实施例提供的一种通话语音增强系统的结构示意图;

图8为本申请实施例的一个示例中投影能量计算模块中的处理流程示意图;

图9为本申请实施例提供的一种预定姿态的特征矩阵计算流程的示意图;

图10为本申请实施例的一个示例中各频点的权重取预定权重时姿态检测流程的示意图;

图11为本申请实施例的一个示例中各频点的权重由神经网络确定时姿态检测检测流程示意图;

图12为本申请实施例的一个示例中投影能量累加的示意图;

图13为本申请实施例的一个示例中权重确定神经网络的结构示意图;

图14为本申请实施例的一个示例中调整初始权重值的示意图;

图15为本申请实施例的一个示例中两个频点对应的能量的示意图;

图16a为本申请实施例的一个示例中频点2在各预定姿态上的投影能量的示意图;

图16b为本申请实施例的一个示例中频点3在各预定姿态上的投影能量的示意图;

图17为本申请实施例的一个示例中包含三个麦克风的终端设备的示意图;

图18本申请实施例中提供的一种针对包含三个或更多语音采集设备的情形的姿态检测方法的流程示意图;

图19为本申请实施例的一个示例中各麦克风采集的语音信号的波形图和姿态检测结构示意图;

图20为本申请实施例的一个示例中语音通话过程的示意图;

图21为本申请实施例提供的另一种姿态检测方法的流程示意图;

图22为本申请实施例提供的一种姿态检测装置的结构框图;

图23为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

终端设备(如手机,pad,智能手表等设备)厂商会通过在终端设备上设置两个或两个以上的麦克风来获得更好的通话语音质量,具体来说,分别通过多个麦克风采集语音通话过程中的多个语音信号,然后基于该多个语音信号进行噪声抑制处理,以得到信噪比更高的语音信号,上述对语音通话过程中的语音信号进行噪音抑制处理的过程可以称为通话语音增强。

以双麦克风终端设备为例,如图1所示,两个麦克风分别位于终端设备的上下两端。当用户以手持模式(handset)通话时,可以认为下方麦克风采集到的语音信号中包含用户的语音和噪声,而上方麦克风采集到的语音信号仅包含噪声,进而以上方麦克风采集到的语音信号作为参考,去消除下方麦克风采集到的语音信号中的噪声,得到干净的语音。

一般手持模式下,用户的姿态(手持设备的姿态)以及上下麦克风采集的语音信号分别如图2a-2b所示,此时,终端设备下方麦克风靠近用户嘴部,而上方麦克风距离嘴部较远,下方麦克风采集到的语音信号相较于下方麦克风采集到的语音信号包含更多用户的语音成分,而上方麦克风信号绝大部分由噪声组成。这样,以上方麦克风采集到的语音信号作为噪声信号参考,去消除下方麦克风采集到的语音信号中的噪声,最后得到干净语音。这种方法可以发挥多麦克风优势,得到很好的降噪效果,同时引入的语音失真很小,该噪声抑制处理方法可称为“多麦克风降噪法”。

但是,在一些非正常的手持模式下,例如,用户以图3a所示的非正常姿态进行通话时,上下麦克风采集的语音信号如图3b所示,此时,终端设备下方麦克风远离用户嘴部,相比上方麦克风不再有距离优势,上下麦克风采集到的语音信号包含的语音成分基本相同,如果再以上方麦克风采集到的语音信号作为噪声信号参考,去消除下方麦克风采集到的信号中的噪声,会对语音信号造成严重损伤。所以,在进行噪声抑制处理前,需对用户姿态进行检测,当检测到用户采用非正常姿态进行语音通话时,则不再以上方麦克风采集到的语音信号作为噪声信号参考,而只使用下方麦克风采集到的语音信号进行单通道降噪,该噪声抑制处理方法可称为“单麦克风降噪法”。

由上述可知:在如图2a所示的正常姿态下,可以通过多麦克风降噪的方式进行语音增强处理,在如图3a所示的非正常姿态下,可以通过单麦克风降噪的方式进行语音增强处理,因此在对语音信号进行语音增强处理之前,需要确定当用户的姿态。

目前并没有有效的方法用于检测语音通话过程中手持模式下的用户姿态,在现有的通话语音增强方案中,并没有一个独立的模块来负责检测用户在语音通话过程中的手持设备的姿态,通常是对降噪模块中的参数进行调校,以使得在非正常姿态下,降噪模块的性能下降在可接受范围内。同时,一些基于终端设备自带传感器(如摄像头,陀螺仪,重力感应器等)的姿态检测方法,虽然可以获得终端设备相对于水平面的绝对姿态,但并不能获得终端设备相对于人脸的姿态,所以也并不适合手持通话的终端设备姿态检测,即并不适合用于在进行噪声抑制处理前对用户姿态进行检测。

现有技术中语音增强方法(用于检测用户当前手持手机的姿态)主要包括两大类,其中,一类是基于信号频谱成分比较的方法进行姿态检测,另一种是基于互频谱能量(crossspectrumpower,csp)的方法进行姿态检测。

具体地,基于信号频谱成分比较的方法,也就是关注两路信号采集到的信息有没有足够的“区分度”,也就是说,基于从两路信号采集到的信息确定能量、频谱相似度或者各个麦克风信号独立计算的语音存在概率等,以判断两路信号是否有足够的区分度,从而判断用户当前手持手机的姿态;

进一步地,基于csp的方法为在频谱域提取两路信号的相位差,把这个相位差转换到时域,得到信号主成分的相对时延,根据这个时延判断说话人姿态。

但是基于频谱成分比较的方法很明显对低信噪比(signalnoiseratio,snr)的信号无可奈何,也就是在高环境噪声时会失效,再者,当环境音为人声噪声或其他非平稳噪声时,基于各麦克风信号独立计算的语音存在概率将不再准确,也会导致算法失效,检测算法的失效会导致完全无法判断说话人姿态;基于csp的方法对低信噪比有一定的容忍度,对非平稳噪声也有一定的鲁棒性(在低信噪比且非平稳噪声情况下还是会失效),但由于算法的天生限制,只能支持两路信号参与运算,不能最大程度利用拥有两个以上麦克风手机的能力。并且,csp算法由于需要两路信号的整个频谱均参与运算(也即是说,若信号为8000hz,那就需要0~8000hz的信号均参与运算),并且包括大量除法运算及额外的逆快速傅里叶变换(fastfouriertransform,fft)运算,其复杂度相对较高,对硬件负担较重,具体如表1所示。

表1

本申请实施例提供的姿态检测方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题。

本申请实施例中提供的姿态检测方法,对非平稳噪声以及低snr情况有着很强的鲁棒性,并且,本申请实施例可以支持任意两个以上麦克风的设备,麦克风数量对应的是特征向量的维度,也就是说,当设备新加一个麦克风,只是对应本申请实施例中特征向量多加一个维度,而不需要改变方法的基本架构。同时,因为引入了预定姿态,算法复杂度大大降低。同时,本申请实施例中使用权重确定神经网络对麦克风信号的频谱进行选择利用(使用权重确定神经网络对不同的频点进行加权,高信噪比的频点得到较高的加权,低信噪比的频点得到较低的加权),进一步增强鲁棒性以及姿态检测的准确度,具体如表2所示。

表2

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图4为本申请实施例提供的一种姿态检测方法的流程示意图,如图4所示,该方法可以包括:

步骤s401,通过至少两个语音采集设备采集语音通话过程中的语音信号。

其中,各语音信号中既包含有语音通话过程中用户(即说话人)的语音,也可能包含有语音通话过程中的噪声。

步骤s402,获取语音信号对应的姿态能量信息。

其中,获取语音信号对应的姿态能量信息,即获取语音信号对应各预定姿态的投影能量。

步骤s403,根据姿态能量信息,从各预定姿态中确定出用户在语音通话过程中的姿态。

其中,用户的姿态可以理解为用户所使用的通话设备(也可以称为终端设备)与用户的人脸之间的位置关系。

具体地,对于本申请实施例,当用户在通过终端设备进行语音通话的过程中,每隔预设时间获取用户语音通话过程中输入的语音信号,并对用户输入的语音信号进行姿态检测(也就是说,检测用户当前手持终端设备的姿态),例如,当用户在通过终端设备通话的过程中,每隔20秒获取用户的语音信号,并对用户的语音信号进行姿态检测;

又或者,在本申请实施例中,当用户在通过终端设备进行语音通话的过程中,当检测用户触发的姿态检测指令时,获取用户输入的语音信号,并对用户输入的语音信号进行姿态检测;例如,当用户在通过终端设备进行语音通话的过程中,用户可以触发终端设备上显示姿态检测指令,以触发对用户输入的语音信号进行姿态检测;

进一步地,在本申请实施例中,上述两种触发姿态检测的方式可以相结合,也即当用户在通过终端设备进行语音通话的过程中,检测到用户触发的姿态检测指令时,每隔预设时间获取用户的语音信号,并对用户的语音信号进行姿态检测。在本申请实施例中任何触发获取用户语音信号,并基于用户语音信号进行姿态检测的方式均在本申请实施例的保护范围之内。

具体地,可以预先设定多种预定姿态,并获取各预定姿态对应的特征向量,然后获取用户姿态对应的特征向量(语音信号的特征向量),将用户姿态对应的特征向量分别与各预定姿态对应的特征向量进行比较,并将各预定姿态中特征向量与用户姿态对应的特征向量最为接近的预定姿态确定为用户的姿态,即得到姿态检测结果。本申请实施例中,采用归一化特征向量,因此用户姿态对应的特征向量与某个预定姿态对应的特征向量“最为接近”,也即用户姿态对应的特征向量在该预定姿态对应的特征向量下的投影能量最大。

本申请实施例提供的方案,通过预先设定多种预定姿态,再根据语音通话过程中多个语音采集设备采集到的语音信号的姿态能量信息,从预先设定的多种预定姿态中确定出用户在通话过程中的姿态,即得到了用户姿态检测结果,可以为通话语音质量增强提供参考,优化噪声抑制处理的效果。

举例来说,假设预先设定了四种预定姿态,分别为姿态1、姿态2、姿态3和姿态4,如图5a-5d所示,其中,姿态1中通话设备(例如终端设备)的中轴线与用户人脸的中轴线之间的夹角为-30°,姿态2中通话设备的中轴线与用户人脸的中轴线之间的夹角为0°,姿态3中通话设备的中轴线与用户人脸的中轴线之间的夹角为30°,姿态4中通话设备的中轴线与用户人脸的中轴线之间的夹角为60°。用户姿态可以由声源(用户嘴部)与终端设备的麦克风的相对位置来确定,在包含两个语音采集设备(分别为上麦克风和下麦克风)的终端设备中,根据声源到上麦克风的距离和声源到下麦克风的距离可以确定用户姿态,在各预定姿态和用户姿态下,声源到上下麦克风的距离如图5e所示。然后,以终端设备的纵向中轴线为y轴,终端设备的横向中轴线为x轴,构建直角坐标系,在该直角坐标系确定出各姿态对应的特征向量,特征向量的起点为该直角坐标系的原点,方向指向声源,且该特征向量的长度指示对应的语音能量的大小,各预定姿态和用户姿态分别对应的特征向量如图5f所示。在图5f中可以看出,用户姿态对应的特征向量与姿态2对应的特征向量最为接近。如图5g所示,为了进一步消除语音能量的影响,使用归一化步骤在单位圆上对图5f中的各特征向量进行归一化。在图5g中也可以看出,用户姿态对应的特征向量与姿态2对应的特征向量最为接近。

进一步地,可以将4种预定姿态对应的归一化特征向量与用户姿态对应的归一化特征向量放在同一坐标系下,如图6a所示,各预定姿态的归一化特征向量用虚线箭头表示,用户姿态对应的归一化特征向量用实线箭头表示,可以看出图中姿态2对应的箭头与用户姿态对应的箭头最为接近,因此认为用户姿态对应的归一化特征向量与姿态2对应的归一化特征向量最为接近(也可理解为最为相似)。为了准确度量用户姿态对应的归一化特征向量与各预定姿态对应的归一化特征向量之间的相似度,需要将用户姿态对应的归一化特征向量在各预定姿态对应的归一化特征向量上进行能量投影,且投影能量越大对应的相似度越高。如图6b所示,各预定姿态的归一化特征向量用虚线箭头表示,用户姿态对应的归一化特征向量用实线箭头表示,各虚线为对应的各能量投影操作,括号1、2、3、4对应的虚线段分别为各预定姿态上的投影能量,其中,长度越大的投影能量对应的相似度越高。从图6b可以看出,括号2对应的投影能量最长,即用户姿态对应的归一化特征向量在姿态2上的投影能量最大,对应的相似度最高,那么将姿态2确定为用户姿态,即得到姿态检测结果。

对于本申请实施例,在通过上述方式确定出用户在语音通话过程中的姿态信息之后,可以采用与确定出的姿态信息相匹配的语音增强处理方式对采集到的语音信号进行语音增强处理,并将增强处理后的语音信号发送至语音通话对端。

当将该姿态检测结果用于通话语音质量增强时,该通话语音质量增强系统的结构如图7所示,该系统可以包括:投影能量计算模块701、姿态匹配检测模块702以及噪声抑制模块703,通话设备704上设置有两个麦克风,分别为上麦克风和下麦克风。语音通话过程中,上麦克风采集到的语音信号记为s1,下麦克风采集到的语音信号记为s2,在投影能量计算模块701计算出语音信号s1和语音信号s2中各频点在各预定姿态上的投影能量e(j,k),其中,姿态匹配检测模块702基于各频对应的投影能量获取姿态检测结果hindex,再将姿态检测结果输入噪声抑制模块703中作为噪声抑制处理的参考,最终输出降噪语音信号y。噪声抑制模块703使用这个姿态检测结果可以避免噪声过估计导致的语音失真,进而优化噪声抑制处理的效果,提升通话语音质量。

再次参考图7,上述投影能量计算模块和姿态匹配检测模块可以构成姿态检测模块,其中,投影能量计算模块的处理分为离线处理和在线处理两个部分,离线处理部分可以包括:预先设定多个预定姿态,并获取每个预定姿态的归一化特征向量;在线处理部分可以包括:把从麦克风采集到的语音信号,进行短时傅里叶变换,按频点合并各语音信号,并获取各频点对应的归一化特征向量,计算各频点对应的归一化特征向量在各预定姿态对应的归一化特征向量上的投影能量。姿态匹配检测模块的处理过程可以包括:对于所有频点的投影能量进行加权相加,得到每个预定姿态的总投影能量,选取最大的投影能量对应的预定姿态为用户姿态,即得到姿态检测结果。下面将分别对姿态检测模块中的上述两个模块进行详细说明。

在本申请的一种可选实施例中,获取语音信号对应各预定姿态的投影能量,包括:

获取语音信号的各频点对应各预定姿态的投影能量;

获取各频点分别对应的权重值;

根据各频点分别对应的权重值以及各频点对应各预定姿态的投影能量,确定语音信号对应各预定姿态的投影能量。

其中,在投影能量计算模块中获取语音信号的各频点对应各预定姿态的投影能量,在姿态匹配检测模块获取各频点分别对应的权重值,确定语音信号对应各预定姿态的投影能量,并进一步地确定出用户的姿态,即得到姿态检测结果。

具体地,对于语音信号对应各预定姿态的投影能量的获取,一般处理过程为:获取与语音信号对应的至少两个频域信号;对于每一频点,合并各频域信号在该频点处的特征值,得到语音信号的特征向量。获取语音信号对应的特征向量,特征向量包含各频点对应的特征值;将特征向量进行归一化处理,得到语音信号对应的归一化特征向量;根据归一化特征向量和各预定姿态分别对应的特征矩阵,确定各频点分别对应各预定姿态的投影能量。

需要说明的是,也可以采用各频点未经归一化的特征向量和各预定姿态分别对应的特征矩阵,确定各频点分别对应各预定姿态的投影能量,在本申请实施例中不做限定。

进一步地,对于每一频点,合并各频域信号在该频点处的特征值,得到该频点对应的特征向量,然后基于该频点的特征向量和各预定姿态在该频点处对应的特征矩阵,确定该频点分别对应各预定姿态的投影能量。按照上述方式即可确定语音信号的所有频点在各预定姿态下的投影能量。

以通话设备上设置有两个语音采集设备为例对各频点的投影能量的获取进行说明,两个语音采集设备分别为上麦克风和下麦克风,如图8所示,首先,对上麦克风采集到的语音信号s1和下麦克风采集到的语音信号s2进行分帧加窗和短时傅里叶变换,其中窗长为l,得到对应的两路频域信号记为x1k和x2k,取两路信号相同频率点(频点)的值组成一个向量xk=[x1k,x2k],即为该频点的特征向量,其中代表0hz~8000hz的频点。然后,对各频点的特征向量进行归一化处理,即只关注相位信息,忽略幅度信息,这样做可以避免用户声音大小对姿态检测的影响,归一化处理的表达式为其中,x′k为xk的转置。最后,将基于每一频点对应的归一化后的特征向量与各预定姿态在该频点处的特征矩阵,计算各频点对应的投影能量:这里e(j,k)为频点k在姿态j对应的投影能量,c(j,k)为第j个预定姿态在频点k处的特征矩阵。

在本申请的一种可选实施例中,将特征向量进行归一化处理之前,还包括:

根据预定的补偿参数,对特征向量进行频率响应补偿处理,得到幅度校正后的特征向量。

具体地,对各频点的特征向量进行幅度校正的表达式为:xk=[1,rk]′⊙xk,这里⊙代表向量对应点相乘,rk是一个固定值,代表的是不同麦克风硬件对某个频率的频率响应的比值,这一步是为了校正不同麦克风硬件的差异,例如,如果在某个频率点k,上麦克风的频率响应为2,下麦克风的频率响应为4,那么rk的值可以为2/4=0.5,这样xk=[1,0.5]′⊙[2,4]′=[2,2],可见不同麦克风的幅度被校正到同一水平。

在本申请的一种可选实施例中,对于至少一个预定姿态,对应的特征矩阵是通过以下方式得到的:

分别确定样本声源与各个语音采集设备之间的距离;

根据样本声源与各个语音采集设备之间的距离,确定预定姿态对应的特征向量;

基于预定姿态对应的特征向量,确定预定姿态对应的特征矩阵。

其中,每一预定姿态在每一频点处对应的特征矩阵为该预定姿态对应的特征向量的自相关矩阵,将各预定姿态在各频点处的特征向量转换为自相关矩阵(即特征矩阵),可以更为便捷的计算各频点对应的投影能量。

具体地,各预定姿态的特征矩阵c(j,k)的计算流程如图9所示,首先,预先设定多种预定姿态,一般来说,预定姿态范围在[-30°~60°],其他角度在手持模式的通话中不常用。预定姿态的数量p的选择是复杂度和性能之间的平衡。本申请实施例以p=4为例,这意味着j=0,1,2,3。(p的数目是可变的,可以根据实际需求进行选择)。然后,针对各预定姿态,分别测量用户嘴部到上麦克风的距离d1j和到下麦克风的距离d2j,其中下标j代表不同的预定姿态。再然后,计算各预定姿态对应的归一化的特征向量,每个预定姿态j在每个频点k处都有一个对应的特征向量,其表达式为:这里a(j,k)是一个2*1向量,s代表声速(343m/s)。最后,计算各预定姿态在频点k处对应的特征矩阵:c(j,k)=a(j,k)·′(j,k),c(j,k)为一个2*2大小的矩阵。

进一步地,对于终端设备包含三个麦克风的情形,例如,三个麦克风分别位于终端设备的上方、下方以及侧方,针对每个预定姿态,得到声源距离各个麦克风的距离之后,计算声源(用户的嘴部)距离各个麦克风的相对距离,其中,声源距离各个麦克风的相对距离值的为:

[0,d2j-d1j,d3j-d1j]

其中,d1j为在预定姿态j下声源距离下麦克风的距离,d1j为在预定姿态j下声源距离侧麦克风的距离,d1j为在预定姿态j下声源距离上麦克风的距离,例如,对于姿态2,声源距离下麦克风为6厘米,距离侧麦克风为10厘米,距离上麦克风为12厘米,则相对距离为[0,4,6]。

进一步地,针对每个预定姿态,在计算声源距离各个麦克风的相对距离之后,计算其在每一个特定频点处的特征向量,即该姿态在每个特定频点处对应的特征向量:

其中,a(j,k)是一个3*1向量。

在投影能量计算模块中获取语音信号的各频点对应各预定姿态的投影能量后,再在姿态匹配检测模块获取各频点分别对应的权重值,确定语音信号对应各预定姿态的投影能量,并进一步地确定出用户的姿态,即得到姿态检测结果。具体来说,在姿态匹配检测模块获取各频点分别对应的权重值有两种方式,其一为获取各频点对应的预定权重,其二为根据各频点对应各预定姿态的投影能量和/或所述语音信号的能量信息,通过权重确定神经网络,确定各频点对应的权重。

具体地,当各频点对应的权重为预定权重时,本申请实施例中姿态检测模块的姿态检测流程如图10所示。各频点对应的预定权重可以为w=[0,0,…,0,1,1,…,1,0,0,…,0],前端0的个数为m,中间1的个数为n,最后0的个数为z。其中,m=floor(800*l/fs),n=floor(4000*l/fs)-m,z=floor(l/2) 1-m-n;l为窗长,fs为语音采集设备的采样频率,即只有800~4000hz频率的频点权重被设置为1,而其他都被设置为0,因为800~4000hz含有最多的语音成分,而其他频率相对来说噪声成分更多。各频点对应的权重采用预定权重,可以降低姿态检测过程的计算复杂度。

具体地,当通过权重确定神经网络,确定各频点对应的权重时,本申请实施例中姿态检测模块的姿态检测流程如图11所示。其中,计算语音信号在各频点的能量:ek=zk·x′k,并将投影能量计算模块输出的语音信号的各频点对应各预定姿态的投影能量e(j,k)以及各频点的能量ek输入到权重确定神经网络,输出各频点对应的权重wk。

为不同频点计算不同权重的原因如下:每一个频点对应的语音成分不同,有些频点包含噪声成分更多,有些频点包含语音成分更多。显然,语音成分更多的频点,其对姿态检测的重要性越高,会给其更大的权重,反之,噪声成分更多的频点,权重越低。这种为每个频点计算不同权重的方法可以提高在强噪声环境下的姿态检测准确度。

进一步地,在通过上述两种权重获取方式获取到各频点对应的权重后,针对每种预定姿态,分别根据各频点对应的权重值,对各频点对应该预定姿态的投影能量进行加权处理;针对每种预定姿态,分别将各频点对应于该预定姿态的加权处理后的投影能量进行累加,得到语音信号对应该预定姿态的投影能量。其表达式可以为ej=∑kwk·e(j,k)。当语音信号包含257个频点(k=0~256)时,ej的计算如图12所示。

最后,选择最大的姿态能量信息所对应的预定姿态,得到用户在语音通话过程中的姿态信息。具体来说,在所有的ej={e0,e1,…ep-1}中选择最大值,其对应的下标就是最终检测结果,也就是当前终端设备姿态:hindex=argmax(ej),其中index={0,1,..,p-1}。

在本申请的一种可选实施例中,权重确定神经网络包括控制子网络和计算子网络;通过控制子网络,根据语音信号的能量信息,确定语音信号的信噪比表征值,根据信噪比表征值确定各频点的权重值是否为预定权重;若不是,通过计算子网络,根据各频点对应各预定姿态的投影能量,确定各频点的权重值。

其中,控制子网络和计算子网络通过连接层衔接,如图13所示为一个示例中权重确定神经网络的结构示意图,该示例中预先设定了四种预定姿态,且两个语音采集设备的采样率为16khz,窗长为512个频点。其中,控制子网络的输入层可以包含514个节点,具体为语音信号中各频点的能量ek(上下两个麦克风信号,对应257个频点),输出层包含1个节点,具体为控制标志位f(即信噪比表征值)。计算子网络的输入层包含1258个节点,具体为1028个频点的投影能量e(j,k)(4个预定义姿态,对应频域257个频点),输出层包含257个节点,具体为257个频点的权重wk。

具体地,如果控制子网络输出的信噪比表征值f不小于预设阈值,则可跳过计算子网络的计算,直接将各频点的权重置1(w=[1,1,…,1])。如果控制子网络输出的心总比表征值f小于预设阈值,则计入计算子网络进行计算得到各频点的权重。其中,预设阈值可以设置为0.5。

需要说明的是,权重确定神经网络设计中增加控制子网络的目的是为了降低神经网络的计算复杂性,从而节省设备功耗。因为在某些情况下,环境非常安静(如家里、办公室等),背景噪声影响很小,不需要计算各频段对应的精确权重w来获得更好的姿态检测结果,设置w为[1,1,…,1]就足以检测到准确的位置。那么权重确定神经网络运行过程中,通过控制子网络输出信噪比表征值,进而判断环境噪声大小,当环境噪声小时(即信噪比表征值不小于预设阈值),跳过计算子网络直接将各频点的权重置为1,可以大大将第计算复杂度。当然,如果不考虑计算复杂度,权重确定神经网络可以只包含计算子网络,也可以得到各频点的权重。

在本申请的一种可选实施例中,控制子网络,经由级联的若干第一特征提取层对语音信号的能量信息进行特征提取,以及经由分类层根据提取的特征获取信噪比表征值;

计算子网络,经由级联的若干第二特征提取层对各频点对应各预定姿态的投影能量进行特征提取,以及经由线性回归层根据提取的特征获得各频点的权重。

其中,第二特征提取层将提取出的特征与所述控制子网络中相应的第一特征提取层输出的特征进行合并,输出合并后的特征。

具体地,再次参考图13,在该权重确定神经网络中控制子网络包括控制子网络输入层1201,两个第一特征提取层(即全连接层)1202和1203,控制子网络输出层(即分类层)1204,具体来说,制子网络输入层1201用于接收输入的各频点的能量,第一特征提取层1202用于从输入的各频点的能量中提取对应的低层特征,第一特征提取层1203用于基于第一特征提取层1202输入的低层特征从各频点的能量中提取对应的高层特征,控制子网络输出层1204用于基于第一特征提取层1203输入的高层特征输出对应的信噪比表征值。该权重确定神经网络中计算子网络包括计算子网络输入层1205,三个第二特征提取层(即全连接层)1206、1208和1210,两个连接层1207和1209,计算子网络输出层1211,具体来说,计算子网络输入层1205用于接收输入的各频点的投影能量,第二特征提取层1206用于从输入的各频点的投影能量提取对应的低层特征,连接层1207用于连接第一特征提取层1202提取的低层特征和第二特征提取层1206提取的低层特征,第二特征提取层1208用于基于连接层1207输入的两个低层特征提取对应的高层特征,连接层1209用于连接第一特征提取层1203提取的高层特征和第二特征提取层1208提取的高层特征,第二特征提取层1210用于基于连接层1209输入的两个高层特征提取确定各频点的权重值,并通过计算子网络输出层1211输出。其中,该示例中各网络层的对应的节点数和激活函数列举如下表3所示。

表3

需要说明的是,上述权重确定神经网络的网络层结构只是一个示例,在实际应用中,权重确定神经网络也可以采用cnn(convolutionalneuralnetworks,卷积神经网络)、rnn(recurrentneuralnetwork,循环神经网络)、resnet(residualnetwork,残差网络)或其他现有的神经网络。

可以理解的是,在使用权重确定神经网络获取各频点的权重之前,需要对权重确定神经网络进行训练。在对权重确定神经网络进行训练的过程中,由于权重确定神经网络包含控制子网络和计算子网络,因此训练所用到的标签有两个,分别是控制子网络的输出信噪比表征值计算子网络的输出各频点的权重值具体来说,首选获取一段语音信号样本,然后再获取语音信号样本的噪比表征值以及语音信号样本中各频点的权重值即得到用于训练的样本数据。训练过程当中所用的到损失函数的表达式如下:

对于语音信号样本的噪比表征值如果语音信号样本对应的snr大于10db,可以认为该语音样本中包含的用户语音的能量远大于噪声的能量,此时说明用户处于安静的环境中,那么将设置为1。如果语音信号样本对应的snr不大于10db,可以认为该语音样本中包含的用户语音的能量不是远大于噪声的能量,此时说明用户处于嘈杂的环境中,那么将设置为0。具体来说,采用如下表达式计算获取:

其中,假设语音信号样本包含257个频点(k=0~256),那么snr(signalnoiseratio,信噪比)的计算公式为:

其中,yk为频点k中包含的用户语音的能量,nk为频点k中包含的噪声的能量。

对于语音信号样本中各频点的权重值假设预设了4中预定姿态(j=0~3),如果频点k对应的投影能量e(0,k),e(1,k),e(2,k),e(3,k)对于获取更准确的姿态结果更重要,那么就需要赋予频点k对应的投影能量更高的权重具体来说可以通过两个步骤来计算

步骤1,根据如下公式计算频点k的初始权重值(保证包含噪声更少的频点的获得更大的初始权重值)

其中,yk为频点k中包含的用户语音的能量,ek为频点k中语音信号的能量。

具体地,假设语音信号样本包含257个频点(k=0~256),设置有4中预定姿态(j=0~3),那么,各频点的初始权重值分别为:

步骤2,根据频点k在各预定姿态下投影能量的大小,调整频点k的初始权重值。

具体地,假设预定姿态中第二个姿态(即j=1)为目标姿态(即用户的实际姿态),如果e(1,k)为[e(0,k),e(1,k),e(2,k)e(3,k)]中最大的,则说明[e(0,k),e(1,k),e(2,k)e(3,k)]对于获取更准确的姿态结果更重要,则将频点k的权重值从初始权重值调整至如图14示出了该示例中的调整情况。

进一步举例来说,对于步骤1,如图15所示,如果k=2,y2=6,n2=2,e2=8,故如果k=3,y3=3,n3=7,e3=10,故其中,说明由于频点2中的用户的语音能量占比(6/8)大于频点3中用户的语音能量占比(3/10),所以在姿态匹配检测模块中计算在各姿态下的投影能量加权时频点2更重要。进一步说明了在频点k中,用户的语音能量占比越大对应的初始权重值越大。这主要是因为如果频点中的用户的语音能量占比越高,从而该频点中噪声影响越小,进而该频点对应的姿态检测结果更准确,所以应该给该频点更高的初始权重值。否则,应该给更低的权重值以减小噪声的影响。

通过初始权重值的计算公式将初始权重值的取值范围限定在0~1,以消除编码过程中出现的一些异常值。

初始权重值的计算公式取的一半,是因为在下一步骤中,会将满足条件的频点的初始权重值乘以2以得到最终的权重标签。这就可以保证最终的权重标签的取值范围为0~1。由于权重确定神经网络通过激活函数sigmoid输出各频点的权重值,激活函数sigmoid的输出的取值范围在0~1,因此有必要将做种的权重标签的取值范围也限定在0~1。

对于步骤2,假设真实的用户姿态为预定姿态q,对于频点k,如果e(q,k)为e(j,k),j=0,1,2,3中最大的,那么该频点k的权重值应该更大。因为,如果e(q,k)最大,则说明该频点k对检测真实的用户姿态更重要,应该赋予该频点k更高的权重值。

举例来说,假设真实的用户姿态为第2种预定姿态(即q=1),以来进行说明。在图16a中,可以看出e(1,2)最大,故即将频点2的权重值由调整至初始权重值的两倍。在图16b中,e(0,3)最大,而e(1,3)不为最大,则即保持频点3的权重值为初始权重值不变。

为了简化上述例子,假设语音信号样本只包含两个频点(k=2,3),同时权重确定神经网络输出的权重值与标签一样。

那么,如果不采用步骤2对初始权重值进行调整,而直接采用步骤1得到的权重值进行各预定姿态下投影能量ej的计算,计算结果如下:

e0=e(0,2)×0.375 e(0,3)×0.15=0.285

e1=e(1,2)×0.375 e(1,3)×0.15=0.27

e2=e(2,2)×0.375 e(2,3)×0.15=0.143

e3=e(3,2)×0.375 e(3,3)×0.15=0.225

如果采用步骤2调整后的权重值进行ej的计算,计算结果如下:

e0=e(0,2)×0.75 e(0,3)×0.15=0.435

e1=e(1,2)×0.75 e(1,3)×0.15=0.495

e2=e(2,2)×0.75 e(2,3)×0.15=0.255

e3=e(3,2)×0.75 e(3,3)×0.15=0.375

从以上计算结果可以看出,不采用步骤2的情况下,e0最大,姿态检测结果为第一预定姿态,并不正确;而采用步骤2的情况下,e1最大,姿态检测结果为第二预定姿态,正确,故采用步骤2可以提高姿态检测的准确性。

需要说明的是,本申请实施例提供的姿态检测方法除了适用于以上示例中包含两个语音采集设备的情形,也适用于包含三个或更多语音采集设备的情形。如图17所示,现有的许多终端设备设置有三个语音采集设备,图中左边所示的终端设备的三个语音采集设备分别为顶部麦克风、底部麦克风和背部麦克风,图中右边所示的终端设备的三个语音采集设备分别为顶部麦克风和两个底部麦克风(底部麦克风1和底部麦克风2)。

对于包含三个或更多语音采集设备的情形,相应的姿态检测方法原理和前文描述相似,具体来说其姿态检测的实现流程可以如图18所示,其中,姿态匹配检测模块中的处理过程与包含两个语音采集设备的情形一直,投影能量计算模块中的处理过程有少许差异。具体来说,在投影能量计算模块中,首先,对多个语音采集设备(麦克风)采集到的语音信号(s1,s2,…,sm)进行分帧加窗和短时傅里叶变换,其中窗长为l,得到多路频域信号x1k,x2k,…,xnk,…,xmk,取多路信号相同频点的值组成一个向量xk=[x1k,x2k,…,xnk,…,xmk],即该频点的特征向量,其中代表0hz~8000hz的频点。然后,对各频点的特征向量进行幅度校正:xk=[1,…,r1nk…,1mk]′⊙xk,这里⊙代表向量对应点相乘,r1k是一个固定值,代表的是不同麦克风硬件对某个频率的频率响应的比值,这一步是为了校正不同麦克风硬件的差异,例如,如果在某个频率点k,麦克风1的频率相应为2,麦克风2的频率响应为4,那么r1k的值应该为0.5。再然后,对各频点的特征向量进行归一化处理,即只关注相位信息,忽略幅度信息,归一化处理的表达式为其中,x′k为xk的转置。最后,将各频点对应的归一化后的特征向量与各预定姿态的特征矩阵,计算各频点对应的投影能量:这里e(j,k)为频率点k在姿态j对应的投影能量。

对应包含三个或更多语音采集设备的情形,其预定姿态的特征矩阵的获取过程可以包括:首先,针对各预定姿态,分别测量用户嘴部到第一个麦克风的距离d1j、到第二个麦克的距离d2j、以及到第n个mic的距离dnj,其中下标j代表不同的姿态。然后,计算各预定姿态对应的归一化特征向量,对每个姿态j和每个频率点k都有一个对应的特征向量,其表达式为:这里a(j,k)是一个m*1向量,s代表声速(343m/s)。最后,计算各预定姿态对应的特征矩阵:c(j,k)=a(j,k)·′(j,k),c(j,k)为一个m*m大小的矩阵。

下面通过一个测试示例来对本申请实施例提供的姿态检测方法的有益效果进行说明,假设用户使用的终端设备为图17中左边所示的终端设备,包含有三个麦克风,分别为顶部麦克风(对应于图19中的上mic)、底部麦克风(对应于图19中的下mic)和背部麦克风(对应于图19中的背mic),假设投影能量计算模块中至少预先设定了如图5a-5c中的4种预定姿态,在测试过程中,如图19所示,图中上半部分展示了三个麦克风分别采集的语音信号的波形,分为四段,每段对应不同的信噪比(从左到右依次为:高信噪比,中信噪比,低信噪比和极低信噪比),而每段中又分四小段,对应用户的四种姿态(从左到右依次为:预定姿态1、预定姿态2、预定姿态3和预定姿态4)。利用本申请实施例的姿态检测方法基于上述三个麦克风采集到的语音信号确定语音通话过程中用户的姿态,检测结果如图19下半部分所示,可见,即使在低信噪比或极低信噪比情况下,依然可以保持检测的高准确度。

所以,以本申请实施例提供的姿态检测方法指导多麦克风语音增强模块,在高噪声或极高噪声环境中,也可以避免因为无从判断用户姿态而引起的性能下降,以最大化发挥多麦克风的优势,获得更好的通话语音增强效果。

下面通过一个示例来对语音通话场景中的姿态检测和通话语音质量增强进行说明,如图20所示,近端说话人(即本申请实施例中的用户)同远端通话人建立通话链接,近端说话人发出语音后,首先进行“时频转换”,对多个麦克风采集到的语音信号进行时域到频域的转换;然后,通过多个麦克风信号的频域谱,检测近端说话人手持设备的姿态,图中虚线框内的的说话人姿态检测即采用本申请实施例提供的姿态检测方法;再然后以检测结果指导通话语音增强模块进行通话语音增强,输出增强后的单通道语音频谱;再然后对增强后的语音频谱进行“频时转换”,将增强后的语音频谱转换到时域;最后,将干净的语音传输给远端通话人。

同时,本申请实施例还提供了另一种姿态检测方法,语音通话过程中,用户嘴部到不同麦克风之间的距离也不相同,这意味着不同麦克风处的时间延迟也不同,可以利用语音通话过程中的该特点来进行用户的姿态检测。

如图21所示,以上述包含两个麦克风的情形为例对该方案进行详细说明。首先,上下麦克风分别采集语音信号s1和语音信号s2;然后,计算获取语音信号s1和语音信号s2的相关信号rs1s2(τ),计算表达式为:

rs1s2(τ)=e[s1(t)*s2(t-τ)]

其中,τ=[-t,t],t=0.01s;再然后,通过相关信号的峰值计算时间延迟=argmax(rs1s2(τ)),最后,基于该事件延迟匹配用户姿态,完成姿态检测。

该姿态检测方法适用于安静的环境,由于其利用用户的干净语音的时间延迟来估计姿态,当噪声较大时,会影响时间延迟估计的准去性,进而影响姿态检测的准确性。该方法适用于安静环境(即高信噪比的环境),因此可以在姿态检测模块之前高性能和高可靠性的噪声分类模块或信噪比估计模块,来判断当前环境是否满足姿态检测要求。

图22为本申请实施例提供的一种姿态检测装置的结构框图,如图22所示,该装置1700可以包括:语音采集模块1701、能量获取模块1702以及姿态确定模块1703,其中:

语音采集模块1701用于通过至少两个语音采集设备采集语音通话过程中的语音信号;

能量获取模块1702用于获取语音信号对应的姿态能量信息;

姿态确定模块1703用于根据姿态能量信息,从各预定姿态中确定出用户在语音通话过程中的姿态。

通过预先设定多种预定姿态,再将语音通话过程中多个语音采集设备采集到的语音信号的特征向量作为用户姿态的特征向量,并通过分别比较用户姿态的特征向量与各预定姿态的特征向量,将最为接近的特征向量对应的预定姿态确定为用户姿态,即得到了用户姿态检测结果,可以为通话语音质量增强提供参考,优化噪声抑制处理的效果。

在本申请的一种可选实施例中,能量获取模块具体用于:

获取语音信号对应各预定姿态的投影能量。

在本申请的一种可选实施例中,能量获取模块进一步包括第一投影能量获取子模块、权重获取子模块以及第二投影能量获取子模块,其中:

第一投影能量获取子模块用于获取语音信号的各频点对应各预定姿态的投影能量;

权重获取子模块用于获取各频点分别对应的权重值;

第二投影能量获取子模块用于根据各频点分别对应的权重值以及各频点对应各预定姿态的投影能量,确定语音信号对应各预定姿态的投影能量。

在本申请的一种可选实施例中,第一投影能量获取子模块具体用于:

获取语音信号对应的特征向量,特征向量包含各频点对应的特征值;

将特征向量进行归一化处理,得到语音信号对应的归一化特征向量;

根据归一化特征向量和各预定姿态分别对应的特征矩阵,确定各频点分别对应各预定姿态的投影能量。

在本申请的一种可选实施例中,第一投影能量获取子模块进一步用于:

获取与语音信号对应的至少两个频域信号;

对于每一频点,合并各频域信号在该频点处的特征值,得到语音信号的特征向量。

在本申请的一种可选实施例中,该装置还包括幅度矫正模块,用于:在将特征向量进行归一化处理之前,根据预定的补偿参数,对特征向量进行频率响应补偿处理,得到幅度校正后的特征向量。

在本申请的一种可选实施例中,该装置还包括特征矩阵获取模块,用于:

分别确定样本声源与各个语音采集设备之间的距离;

根据样本声源与各个语音采集设备之间的距离,确定预定姿态对应的特征向量;

基于预定姿态对应的特征向量,确定预定姿态对应的特征矩阵。

在本申请的一种可选实施例中,权重获取子模块具体用于:

获取各频点对应的预定权重。

在本申请的一种可选实施例中,权重获取子模块具体用于:

根据各频点对应各预定姿态的投影能量和/或语音信号的能量信息,通过权重确定神经网络,确定各频点对应的权重。

在本申请的一种可选实施例中,权重确定神经网络包括控制子网络和计算子网络;权重获取子模块进一步用于:

通过控制子网络,根据语音信号的能量信息,确定语音信号的信噪比表征值,根据信噪比表征值确定各频点的权重值是否为预定权重;

若不是,通过计算子网络,根据各频点对应各预定姿态的投影能量,确定各频点的权重值。

在本申请的一种可选实施例中,控制子网络,经由级联的若干第一特征提取层对语音信号的能量信息进行特征提取,以及经由分类层根据提取的特征获取信噪比表征值;

计算子网络,经由级联的若干第二特征提取层对各频点对应各预定姿态的投影能量进行特征提取,以及经由线性回归层根据提取的特征获得各频点的权重。

在本申请的一种可选实施例中,第二特征提取层将提取出的特征与控制子网络中相应的第一特征提取层输出的特征进行合并,输出合并后的特征。

在本申请的一种可选实施例中,第二投影能量获取模块具体用于:

针对每种预定姿态,分别根据各频点对应的权重值,对各频点对应该预定姿态的投影能量进行加权处理;

针对每种预定姿态,分别将各频点对应于该预定姿态的加权处理后的投影能量进行累加,得到语音信号对应该预定姿态的投影能量。

在本申请的一种可选实施例中,姿态确定模块具体用于:

选择最大的姿态能量信息所对应的预定姿态,得到用户在语音通话过程中的姿态信息。

在本申请的一种可选实施例中,该装置可以包括降噪模块,用于:

基于用户在语音通话过程中的姿态信息,对语音信号进行降噪处理,得到降噪后的语音信号。

下面参考图23,其示出了适于用来实现本申请实施例的电子设备(例如执行图4所示方法的终端设备或服务器)1800的结构示意图。本申请实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴设备等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图23示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

电子设备包括:存储器以及处理器,存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。其中,这里的处理器可以称为下文所述的处理装置1801,存储器可以包括下文中的只读存储器(rom)1802、随机访问存储器(ram)1803以及存储装置1808中的至少一项,具体如下所示:

如图23所示,电子设备1800可以包括处理装置(例如中央处理器、图形处理器等)1801,其可以根据存储在只读存储器(rom)1802中的程序或者从存储装置1808加载到随机访问存储器(ram)1803中的程序而执行各种适当的动作和处理。在ram1803中,还存储有电子设备1800操作所需的各种程序和数据。处理装置1801、rom1802以及ram1803通过总线1804彼此相连。输入/输出(i/o)接口1805也连接至总线1804。

通常,以下装置可以连接至i/o接口1805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1806;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1807;包括例如磁带、硬盘等的存储装置1808;以及通信装置1809。通信装置1809可以允许电子设备1800与其他设备进行无线或有线通信以交换数据。虽然图23示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1809从网络上被下载和安装,或者从存储装置1808被安装,或者从rom1802被安装。在该计算机程序被处理装置1801执行时,执行本申请实施例的方法中限定的上述功能。

需要说明的是,本申请上述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

在一些实施方式中,客户端、服务器可以利用诸如http(hypertexttransferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络),以及任何当前已知或未来研发的网络。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:

通过至少两个语音采集设备采集语音通话过程中的语音信号;获取语音信号对应的姿态能量信息;根据姿态能量信息,从各预定姿态中确定出用户在语音通话过程中的姿态。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,语音采集模块还可以被描述为“采集语音的模块”。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。

在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

本申请实施例中所提供的装置,可以通过ai模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与ai相关联的功能。

该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,例如中央处理单元(cpu)、应用处理器(ap)等、或者是纯图形处理单元,例如,图形处理单元(gpu)、视觉处理单元(vpu)、和/或ai专用处理器,例如神经处理单元(npu)。

该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(ai)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。

这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的ai模型。该学习可以在其中执行根据实施例的ai的装置本身中执行,和/或可以通过单独的服务器/系统来实现。

该ai模型可以包含多个神经网络层。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(cnn)、深度神经网络(dnn)、循环神经网络(rnn)、受限玻尔兹曼机(rbm)、深度信念网络(dbn)、双向循环深度神经网络(brdnn)、生成对抗网络(gan)、以及深度q网络。

学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的计算机可读介质被电子设备执行时实现的具体方法,可以参考前述方法实施例中的对应过程,在此不再赘述。

再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜