语音信号处理方法、装置、设备及存储介质与流程

文档序号:22317382发布日期:2020-09-23 01:45阅读:144来源:国知局
语音信号处理方法、装置、设备及存储介质与流程

本申请涉及语音信号处理技术领域,尤其涉及一种语音信号处理方法、装置、设备及存储介质。



背景技术:

目前智能音箱、智能机器人等智能设备在人们的日常生活中广泛使用,智能设备一般通过麦克风阵列采集语音信号,通过对语音信号进行处理,可以实现相应的功能。其中,doa(directionofarrival,波达方向)估计是语音信号处理领域的研究热点,通过对语音信号进行doa估计,可以确定用户(说话人)的方向。

相关技术一般是基于子空间的music(multiplesignalclassification,多重信号选择)算法或基于时延估计的gcc(generalizedcross-correlation,广义相关)算法等,对语音信号进行处理,但是这些方法对语音信号的特性都有比较强的假设,因此对实际使用环境中普遍存在的非线性噪声以及混响没有很强的适应能力,在噪声较强环境下存在较大的性能下降,特别是在语音信号处理中同时存在多个用户的时候,很难准确的进行doa估计,从而无法准确的确定用户的方向,因此,亟需一种语音信号处理方法,提高doa估计的准确性,从而更准确的确定用户的方向。



技术实现要素:

本申请实施例提供了一种语音信号处理方法、装置、设备及存储介质,可以提高doa估计的准确性,从而更准确的确定用户的方向。所述技术方案如下。

第一方面,提供一种语音信号处理方法,包括:

获取第一语音信号,所述第一语音信号通过麦克风阵列采集得到;

将所述第一语音信号输入目标模型,输出所述第一语音信号对应各个用户的概率和所述第一语音信号对应所述各个用户在各个角度上说话的概率,所述目标模型基于携带用户标签和角度标签的样本语音信号,对深度神经网络模型进行训练得到,所述各个角度用于表示所述各个用户相对于所述麦克风阵列的方向;

根据所述第一语音信号对应所述各个用户的概率和所述第一语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第一语音信号对应的第一用户和第一角度。

在一种可能实现方式中,所述根据所述第一语音信号对应所述各个用户的概率和所述第一语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第一语音信号对应的第一用户和第一角度,包括:

根据所述第一语音信号对应所述各个用户的概率、所述第一语音信号对应所述各个用户在所述各个角度上说话的概率、第二语音信号对应所述各个用户的概率以及所述第二语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第一语音信号对应的所述第一用户和所述第一角度;

其中,所述第二语音信号通过所述麦克风阵列在所述第一语音信号的采集时刻之前的时间段内采集得到。

在一种可能实现方式中,所述根据所述第一语音信号对应所述各个用户的概率、所述第一语音信号对应所述各个用户在所述各个角度上说话的概率、第二语音信号对应所述各个用户的概率以及所述第二语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第一语音信号对应的所述第一用户和所述第一角度,包括:

对于任一用户和任一角度,获取所述第一语音信号对应所述任一用户的概率、所述第一语音信号对应所述任一用户在所述任一角度上说话的概率和第一平滑因子的乘积,以及第二语音信号对应所述任一用户的概率、所述第二语音信号对应所述任一用户在所述任一角度上说话的概率和第二平滑因子的乘积;

对获取到的各个乘积求和,得到所述任一用户和所述任一角度对应的求和结果;

确定所述各个用户和所述各个角度对应的求和结果中的最大求和结果;

将所述最大求和结果对应的用户和角度分别作为所述第一用户和所述第一角度。

在一种可能实现方式中,所述将所述第一语音信号输入目标模型,输出所述第一语音信号对应各个用户的概率和所述第一语音信号对应所述各个用户在各个角度上说话的概率,包括:

将所述第一语音信号输入所述目标模型,由所述目标模型中的卷积层,对所述第一语音信号进行处理,得到所述第一语音信号的语音特征;

由所述目标模型中的长短期记忆lstm层,对所述卷积层输出的所述第一语音信号的语音特征进行处理;

由所述目标模型中的第一全连接层和第二全连接层,对所述lstm层输出的所述第一语音信号的语音特征进行处理,得到所述第一语音信号对应各个用户的分数和所述第一语音信号对应所述各个用户在各个角度上说话的分数;

由所述目标模型中的softmax层,对所述第一全连接层和第二全连接层输出的分数进行处理,得到所述第一语音信号对应各个用户的概率和所述第一语音信号对应所述各个用户在各个角度上说话的概率。

在一种可能实现方式中,所述第一语音信号用复数向量表示,所述卷积层用于进行复数域的卷积操作,所述复数域的卷积操作表示如下:

w*x=(w0*x0-w1*x1)+i(w1*x0+w0*x1)

其中,*表示卷积操作,w=w0+iw1,表示复数卷积核矩阵,w0和w1分别表示实部矩阵和虚部矩阵,x=x0+ix1,表示被卷积的复数向量,x0和x1分别表示实部向量和虚部向量,i为虚数单位。

在一种可能实现方式中,所述目标模型中的卷积层后连接有归一化层和激活函数层,

所述由所述目标模型中的lstm层,对所述卷积层输出的所述第一语音信号的语音特征进行处理,包括:

由所述目标模型中的所述归一化层和所述激活函数层,对所述卷积层输出的所述第一语音信号的语音特征进行处理;

由所述目标模型中的所述lstm层,对所述激活函数层输出的所述第一语音信号的语音特征进行处理。

在一种可能实现方式中,所述方法还包括:

对于输入所述激活函数层的复数向量中的任一元素,当所述任一元素的模小于目标阈值时,所述任一元素的激活函数值为所述任一元素,所述目标阈值大于0;

当所述任一元素的模大于或等于所述目标阈值时,所述任一元素的激活函数值为0。

在一种可能实现方式中,所述将所述第一语音信号输入目标模型,包括:

对所述第一语音信号进行加窗处理和傅里叶变换,将变换后的信号输入所述目标模型。

在一种可能实现方式中,所述目标模型的训练过程包括:

将携带用户标签和角度标签的样本语音信号输入所述深度神经网络模型,输出所述样本语音信号对应所述各个用户的概率和所述样本语音信号对应所述各个用户在所述各个角度上说话的概率;

根据所述样本语音信号对应所述各个用户的概率、所述样本语音信号对应所述各个用户在所述各个角度上说话的概率、所述样本语音信号携带的用户标签和角度标签,获取损失函数值;

当所述损失函数值未达到训练结束条件时,对所述深度神经网络模型中的参数进行调整;

从将样本语音信号输入所述深度神经网络模型,输出概率的步骤重新开始执行,直至损失函数值达到训练结束条件时结束训练,将结束训练时的深度神经网络模型作为所述目标模型。

在一种可能实现方式中,所述根据所述样本语音信号对应所述各个用户的概率、所述样本语音信号对应所述各个用户在所述各个角度上说话的概率、所述样本语音信号携带的用户标签和角度标签,获取损失函数值,包括:

对于任一用户和任一角度,获取所述样本语音信号对应所述任一用户的概率、所述样本语音信号对应所述任一用户在所述任一角度上说话的概率以及误差函数值的对数的乘积,所述误差函数值用于表示所述样本语音信号携带的用户标签和角度标签与所述任一用户和所述任一角度的误差;

对获取到的各个乘积求和,将求和结果作为所述损失函数值。

在一种可能实现方式中,所述将携带用户标签和角度标签的样本语音信号输入所述深度神经网络模型,输出所述样本语音信号对应所述各个用户的概率和所述样本语音信号对应所述各个用户在所述各个角度上说话的概率,包括:

将所述样本语音信号输入所述深度神经网络模型,由所述深度神经网络模型中的卷积层,对所述样本语音信号进行处理,得到所述样本语音信号的语音特征;

由所述深度神经网络模型中的lstm层,对所述卷积层输出的所述样本语音信号的语音特征进行处理;

由所述深度神经网络模型中的第一全连接层和第二全连接层,对所述lstm层输出的所述样本语音信号的语音特征进行处理,得到该样本语音信号对应各个用户的分数和该样本语音信号对应该各个用户在各个角度上说话的分数;

由所述深度神经网络模型中的softmax层,对所述第一全连接层和第二全连接层输出的分数进行处理,得到所述样本语音信号对应各个用户的概率和所述样本语音信号对应所述各个用户在各个角度上说话的概率。

在一种可能实现方式中,所述样本语音信号用复数向量表示,所述卷积层用于进行复数域的卷积操作,所述复数域的卷积操作表示如下:

w*x=(w0*x0-w1*x1)+i(w1*x0+w0*x1)

其中,*表示卷积操作,w=w0+iw1,表示复数卷积核矩阵,w0和w1分别表示实部矩阵和虚部矩阵,x=x0+ix1,表示被卷积的复数向量,x0和x1分别表示实部向量和虚部向量,i为虚数单位。

在一种可能实现方式中,所述深度神经网络模型的卷积层后连接有归一化层和激活函数层,

所述由该深度神经网络模型中的lstm层对所述卷积层输出的所述样本语音信号的语音特征进行处理,包括:

由该深度神经网络模型中的所述归一化层和所述激活函数层,对所述样本语音信号的语音特征进行处理;

由该深度神经网络模型中的lstm层对所述激活函数层输出的所述样本语音信号的语音特征进行处理。

在一种可能实现方式中,所述方法还包括:

对于输入所述激活函数层的复数向量中的任一元素,当所述任一元素的模小于目标阈值时,所述任一元素的激活函数值为所述任一元素,所述目标阈值大于0;

当所述任一元素的模大于或等于所述目标阈值时,所述任一元素的激活函数值为0。

在一种可能实现方式中,所述将所述样本语音信号输入所述深度神经网络模型,包括:

对所述样本语音信号进行加窗处理和傅里叶变换,将变换后的信号输入所述深度神经网络模型。

在一种可能实现方式中,所述根据所述第一语音信号对应所述各个用户的概率和所述第一语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第一语音信号对应的第一用户和第一角度之后,所述方法还包括:

根据所述第一角度,控制指示灯指向所述第一用户的方向。

在一种可能实现方式中,所述根据所述第一角度,控制指示灯指向所述第一用户的方向之后,所述方法还包括:

获取第三语音信号,所述第三语音信号通过所述麦克风阵列在所述第一语音信号的采集时刻之后的时间段内采集得到;

将所述第三语音信号输入目标模型,输出所述第三语音信号对应所述各个用户的概率和所述第三语音信号对应所述各个用户在所述各个角度上说话的概率;

根据所述第三语音信号对应所述各个用户的概率和所述第三语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第三语音信号对应的第二用户和第二角度;

当所述第二用户与所述第一用户相同且所述第二角度与所述第一角度不同时,根据所述第二角度,控制所述指示灯转向所述第二用户的方向。

在一种可能实现方式中,所述根据所述第一语音信号对应所述各个用户的概率和所述第一语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第一语音信号对应的第一用户和第一角度之后,所述方法还包括:

当所述第一用户和所述第一角度中至少一项符合目标条件时,对所述第一语音信号进行意图识别,得到所述第一语音信号对应的意图;

根据所述第一语音信号对应的意图,执行对应的操作。

在一种可能实现方式中,所述第一用户和所述第一角度中至少一项符合目标条件包括下述任一项:

所述第一用户为目标用户;

所述第一角度处于目标角度范围内;

所述第一用户为所述目标用户且所述第一角度处于目标角度范围内。

第二方面,提供一种语音信号处理装置,包括:

获取模块,用于获取第一语音信号,所述第一语音信号通过麦克风阵列采集得到;

处理模块,用于将所述第一语音信号输入目标模型,输出所述第一语音信号对应各个用户的概率和所述第一语音信号对应所述各个用户在各个角度上说话的概率,所述目标模型基于携带用户标签和角度标签的样本语音信号,对深度神经网络模型进行训练得到,所述各个角度用于表示所述各个用户相对于所述麦克风阵列的方向;

确定模块,用于根据所述第一语音信号对应所述各个用户的概率和所述第一语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第一语音信号对应的第一用户和第一角度。

在一种可能实现方式中,所述确定模块用于:

根据所述第一语音信号对应所述各个用户的概率、所述第一语音信号对应所述各个用户在所述各个角度上说话的概率、第二语音信号对应所述各个用户的概率以及所述第二语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第一语音信号对应的所述第一用户和所述第一角度;

其中,所述第二语音信号通过所述麦克风阵列在所述第一语音信号的采集时刻之前的时间段内采集得到。

在一种可能实现方式中,所述确定模块用于:

对于任一用户和任一角度,获取所述第一语音信号对应所述任一用户的概率、所述第一语音信号对应所述任一用户在所述任一角度上说话的概率和第一平滑因子的乘积,以及第二语音信号对应所述任一用户的概率、所述第二语音信号对应所述任一用户在所述任一角度上说话的概率和第二平滑因子的乘积;

对获取到的各个乘积求和,得到所述任一用户和所述任一角度对应的求和结果;

确定所述各个用户和所述各个角度对应的求和结果中的最大求和结果;

将所述最大求和结果对应的用户和角度分别作为所述第一用户和所述第一角度。

在一种可能实现方式中,所述处理模块用于:

将所述第一语音信号输入所述目标模型,由所述目标模型中的卷积层,对所述第一语音信号进行处理,得到所述第一语音信号的语音特征;

由所述目标模型中的长短期记忆lstm层,对所述卷积层输出的所述第一语音信号的语音特征进行处理;

由所述目标模型中的第一全连接层和第二全连接层,对所述lstm层输出的所述第一语音信号的语音特征进行处理,得到所述第一语音信号对应各个用户的分数和所述第一语音信号对应所述各个用户在各个角度上说话的分数;

由所述目标模型中的softmax层,对所述第一全连接层和第二全连接层输出的分数进行处理,得到所述第一语音信号对应各个用户的概率和所述第一语音信号对应所述各个用户在各个角度上说话的概率。

在一种可能实现方式中,所述第一语音信号用复数向量表示,所述卷积层用于进行复数域的卷积操作,所述复数域的卷积操作表示如下:

w*x=(w0*x0-w1*x1)+i(w1*x0+w0*x1)

其中,*表示卷积操作,w=w0+iw1,表示复数卷积核矩阵,w0和w1分别表示实部矩阵和虚部矩阵,x=x0+ix1,表示被卷积的复数向量,x0和x1分别表示实部向量和虚部向量,i为虚数单位。

在一种可能实现方式中,所述目标模型中的卷积层后连接有归一化层和激活函数层,所述处理模块用于:

由所述目标模型中的所述归一化层和所述激活函数层,对所述卷积层输出的所述第一语音信号的语音特征进行处理;

由所述目标模型中的所述lstm层,对所述激活函数层输出的所述第一语音信号的语音特征进行处理。

在一种可能实现方式中,所述处理模块还用于:

对于输入所述激活函数层的复数向量中的任一元素,当所述任一元素的模小于目标阈值时,所述任一元素的激活函数值为所述任一元素,所述目标阈值大于0;

当所述任一元素的模大于或等于所述目标阈值时,所述任一元素的激活函数值为0。

在一种可能实现方式中,所述处理模块用于:

对所述第一语音信号进行加窗处理和傅里叶变换,将变换后的信号输入所述目标模型。

在一种可能实现方式中,所述处理模块还用于:

将携带用户标签和角度标签的样本语音信号输入所述深度神经网络模型,输出所述样本语音信号对应所述各个用户的概率和所述样本语音信号对应所述各个用户在所述各个角度上说话的概率;

根据所述样本语音信号对应所述各个用户的概率、所述样本语音信号对应所述各个用户在所述各个角度上说话的概率、所述样本语音信号携带的用户标签和角度标签,获取损失函数值;

当所述损失函数值未达到训练结束条件时,对所述深度神经网络模型中的参数进行调整;

从将样本语音信号输入所述深度神经网络模型,输出概率的步骤重新开始执行,直至损失函数值达到训练结束条件时结束训练,将结束训练时的深度神经网络模型作为所述目标模型。

在一种可能实现方式中,所述处理模块用于:

对于任一用户和任一角度,获取所述样本语音信号对应所述任一用户的概率、所述样本语音信号对应所述任一用户在所述任一角度上说话的概率以及误差函数值的对数的乘积,所述误差函数值用于表示所述样本语音信号携带的用户标签和角度标签与所述任一用户和所述任一角度的误差;

对获取到的各个乘积求和,将求和结果作为所述损失函数值。

在一种可能实现方式中,所述处理模块用于:

将所述样本语音信号输入所述深度神经网络模型,由所述深度神经网络模型中的卷积层,对所述样本语音信号进行处理,得到所述样本语音信号的语音特征;

由所述深度神经网络模型中的lstm层,对所述卷积层输出的所述样本语音信号的语音特征进行处理;

由所述深度神经网络模型中的第一全连接层和第二全连接层,对所述lstm层输出的所述样本语音信号的语音特征进行处理,得到该样本语音信号对应各个用户的分数和该样本语音信号对应该各个用户在各个角度上说话的分数;

由所述深度神经网络模型中的softmax层,对所述第一全连接层和第二全连接层输出的分数进行处理,得到所述样本语音信号对应各个用户的概率和所述样本语音信号对应所述各个用户在各个角度上说话的概率。

在一种可能实现方式中,所述样本语音信号用复数向量表示,所述卷积层用于进行复数域的卷积操作,所述复数域的卷积操作表示如下:

w*x=(w0*x0-w1*x1)+i(w1*x0+w0*x1)

其中,*表示卷积操作,w=w0+iw1,表示复数卷积核矩阵,w0和w1分别表示实部矩阵和虚部矩阵,x=x0+ix1,表示被卷积的复数向量,x0和x1分别表示实部向量和虚部向量,i为虚数单位。

在一种可能实现方式中,所述深度神经网络模型的卷积层后连接有归一化层和激活函数层,所述处理模块用于:

由该深度神经网络模型中的所述归一化层和所述激活函数层,对所述样本语音信号的语音特征进行处理;

由该深度神经网络模型中的lstm层对所述激活函数层输出的所述样本语音信号的语音特征进行处理。

在一种可能实现方式中,所述处理模块还用于:

对于输入所述激活函数层的复数向量中的任一元素,当所述任一元素的模小于目标阈值时,所述任一元素的激活函数值为所述任一元素,所述目标阈值大于0;

当所述任一元素的模大于或等于所述目标阈值时,所述任一元素的激活函数值为0。

在一种可能实现方式中,所述处理模块还用于:

对所述样本语音信号进行加窗处理和傅里叶变换,将变换后的信号输入所述深度神经网络模型。

在一种可能实现方式中,所述装置还包括:

控制模块,用于根据所述第一角度,控制指示灯指向所述第一用户的方向。

在一种可能实现方式中,所述获取模块还用于获取第三语音信号,所述第三语音信号通过所述麦克风阵列在所述第一语音信号的采集时刻之后的时间段内采集得到;

所述处理模块还用于将所述第三语音信号输入目标模型,输出所述第三语音信号对应所述各个用户的概率和所述第三语音信号对应所述各个用户在所述各个角度上说话的概率;

所述确定模块还用于根据所述第三语音信号对应所述各个用户的概率和所述第三语音信号对应所述各个用户在所述各个角度上说话的概率,确定所述第三语音信号对应的第二用户和第二角度;

所述控制模块还用于当所述第二用户与所述第一用户相同且所述第二角度与所述第一角度不同时,根据所述第二角度,控制所述指示灯转向所述第二用户的方向。

在一种可能实现方式中,所述装置还包括:

识别模块,用于当所述第一用户和所述第一角度中至少一项符合目标条件时,对所述第一语音信号进行意图识别,得到所述第一语音信号对应的意图;

执行模块,用于根据所述第一语音信号对应的意图,执行对应的操作。

在一种可能实现方式中,所述第一用户和所述第一角度中至少一项符合目标条件包括下述任一项:

所述第一用户为目标用户;

所述第一角度处于目标角度范围内;

所述第一用户为所述目标用户且所述第一角度处于目标角度范围内。

第三方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行,以实现第一方面任一种实现方式所述的方法步骤。

第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现第一方面任一种实现方式所述的方法步骤。

本申请实施例提供的技术方案带来的有益效果至少包括:

由于目标模型是基于已知说话的用户和角度的样本语音信号,对深度神经网络模型进行训练得到,因此在获取到麦克风阵列采集到的第一语音信号后,可以将第一语音信号输入目标模型,由该目标模型对第一语音信号进行处理,得到该第一语音信号由各个用户说话产生的概率,以及由各个用户在各个角度上说话产生的概率,这样根据第一语音信号的上述概率,即可确定第一语音信号对应的说话的用户和角度分别为各个用户中的第一用户和各个角度中的第一角度,也即是确定第一语音信号为第一用户在第一角度上说话产生,这种基于深度神经网络的方法,能够有效降低噪声对语音信号处理的影响,同时能够利用用户的语音特征,提高doa估计的准确性,更准确的确定用户的方向。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种应用场景的示意图;

图2是本申请实施例提供的一种语音信号处理方法的流程图;

图3是本申请实施例提供的一种深度神经网络模型的结构示意图;

图4是本申请实施例提供的一种深度神经网络模型的结构示意图;

图5是本申请实施例提供的一种语音信号处理装置的结构示意图;

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

具体实施方式

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

本申请实施例提供了一种语音信号处理方法的应用场景,具体如下:该方法可以应用于电子设备中,该电子设备包括但不限于智能音箱、智能机器人、平板电脑、手机、智能电视等具有语音交互功能的设备。在语音交互场景中,用户可以通过说话来发出语音信号,电子设备可以采集到语音信号,通过对语音信号进行处理,确定用户的方向,实现电子设备跟踪用户的功能。

参见图1,图1是本申请实施例提供的一种应用场景的示意图,以智能音箱的场景为例,该场景下有用户a、用户b、用户c和用户d在开会。在当前时刻,用户a向智能音箱发出语音指令“请调低歌曲音量”,智能音箱通过麦克风阵列采集到语音信号后,对语音信号进行处理,确定该语音信号是用户a在某个方向上发出,其中,方向可以用角度表示,从而对该语音信号进行意图识别,根据识别得到的意图,执行对应的操作,如调低歌曲音量。

图2是本申请实施例提供的一种语音信号处理方法的流程图。该方法由电子设备执行,参见图2,该方法包括以下步骤。

201、电子设备获取目标模型。

该目标模型可以由电子设备训练得到,也可以由其他设备训练得到后,发送给电子设备,使得该电子设备获取到该目标模型。在一种可能实现方式中,该目标模型的训练过程包括下述步骤一至步骤四。

步骤一、将携带用户标签和角度标签的样本语音信号输入该深度神经网络模型,输出该样本语音信号对应该各个用户的概率和该样本语音信号对应该各个用户在该各个角度上说话的概率。

其中,用户也可以称为说话人。样本语音信号的数量可以为多帧,该样本语音信号可以通过麦克风阵列采集得到。每一帧样本语音信号都携带有用户标签和角度标签,用户标签用于指示样本语音信号对应的用户,也即是,该样本语音信号是由该用户发出的,也即是,由该用户说话产生的,用户标签包括但不限于年龄、性别、地域、个体标记等用于表示说话人特征的数据。角度标签用于指示样本语音信号对应的用户的角度,也即是,该样本语音信号是由该用户在该角度上发出的,也即是,由该用户在该角度上说话产生的。

参见图3,图3是本申请实施例提供的一种深度神经网络模型的结构示意图,如图3所示,该深度神经网络模型可以包括卷积层、lstm(longshort-termmemory,长短期记忆网络)层、全连接层和softmax层。各个层的数量可以为多个(如图3中叠加的方块所示)。其中,卷积层可以是cnn(convolutionneuralnetwork,卷积神经网络)的卷积层,lstm层可以带窥孔优化(peepholeoptimization)。

卷积层用于对输入的数据进行特征提取,将提取到的特征变换得到高维的更能反映数据概率属性的特征,lstm层用于利用历史信息进行迭代,得到更接近实际概率分布、更容易分类的特征;全连接层用于训练分类器,基于特征进行分类,得到分类信息,softmax层用于计算得到概率。

在一种可能实现方式中,该步骤一可以包括:将该样本语音信号输入该深度神经网络模型,由该深度神经网络模型中卷积层对该样本语音信号进行处理,得到该样本语音信号的语音特征;由该深度神经网络模型中的lstm层对该卷积层输出的该样本语音信号的语音特征进行处理;由该深度神经网络模型中的第一全连接层和第二全连接层,对该lstm层输出的该样本语音信号的语音特征进行处理,得到该样本语音信号对应各个用户的分数和该样本语音信号对应该各个用户在各个角度上说话的分数;由该深度神经网络模型中的softmax层,对该第一全连接层和第二全连接层输出的分数进行处理,得到该样本语音信号对应各个用户的概率和该样本语音信号对应该各个用户在各个角度上说话的概率。

输入卷积层的语音信号为多通道语音信号,通道数为麦克风阵列采集信号的角度数目,如通道数设置为180时,代表各个通道数据分别来自0°、2°、…、358°方向上的多通道录音,其它依次类推。

样本语音信号对应任一用户的分数用于表示样本语音信号与该任一用户的相关程度,分数越大则相关程度越大,样本语音信号对应任一用户在任一角度上说话的分数用于表示样本语音信号与该任一用户和该任一角度的相关程度,分数越大则相关程度越大。

在一种可能实现方式中,该深度神经网络模型的卷积层后连接有归一化层和激活函数层,该由该深度神经网络模型中的lstm层对该卷积层输出的该样本语音信号的语音特征进行处理,包括:由该深度神经网络模型中的该归一化层和该激活函数层,对该样本语音信号的语音特征进行处理;由该深度神经网络模型中的lstm层对该激活函数层输出的该样本语音信号的语音特征进行处理。

参见图4,图4是本申请实施例提供的一种深度神经网络模型的结构示意图,如图4所示,每一个卷积层后面连接一个归一化层,归一化层后连接激活函数层。其中,归一化层可以是bn(batchnormalization,批归一化)层,激活函数层采用的激活函数可以是relu(rectifiedlinearunit,修正线性单元),归一化层和激活层用于提高模型的泛化能力,避免过拟合。

可以理解的是,图3和图4所示的深度神经网络模型可以进行结构的更改、替换,例如,改变每一层的特征输入维数、节点数目、隐层类型、激活函数类型,对模型进行16bit或8bit量化从而和现有计算数据类型不同。

关于卷积层,在一种可能实现方式中,卷积层用于进行复数域的卷积操作,该复数域的卷积操作表示如下:

w*x=(w0*x0-w1*x1)+i(w1*x0+w0*x1)

其中,*表示卷积操作,w表示复数卷积核矩阵,w=w0+iw1,w0和w1分别表示实部矩阵和虚部矩阵,x表示被卷积的复数向量,x=x0+ix1,x0和x1分别表示实部向量和虚部向量,i为虚数单位。

卷积层的输入和输出均为复数,卷积层的输入信号可以用复数向量表示,例如,样本语音信号可以用复数向量表示。通过将实数域的卷积操作在复数域上进行扩展,能够充分利用麦克风阵列采集的语音信号的空间信息,更好地适用doa估计的机器学习任务。

关于激活函数层,在一种可能实现方式中,对于输入该激活函数层的复数向量中的任一元素,当该任一元素的模小于目标阈值时,该任一元素的激活函数值为该任一元素,该目标阈值大于0;当该任一元素的模大于或等于该目标阈值时,该任一元素的激活函数值为0。

由于卷积层的输入和输出都是复数,因此需要重新定义激活函数,例如激活函数可以定义如下:

其中,z为复数向量中的复数元素,relu(z)为激活函数,a为可行域集合,可行域集合a可以定义为:a={z||z|<a,a>0},|z|表示复数z的模,可行域集合a代表复数z的幅度限制在某一范围内,这样能够有效保障整个网络的梯度收敛性和数值稳定性。

深度神经网络模型的输出包括表示输入的语音信号对应第k个用户的概率,表示输入的语音信号对应第k个用户在第i个角度(θi)上说话的概率,对于多个用户和多个角度,深度神经网络模型输出的为多个,存在如下关系:

关于lstm层,将lstm层输出的隐藏状态分别输入给两组全连接层,分别以为学习目标,最终得到的结果进行融合,得到整体的网络训练的损失函数,该损失函数可以表示如下:

其中,表示语音信号对应第k个用户的概率,表示语音信号对应第k个用户在第i个角度(θi)上说话的概率,t(z,k,θi)表示语音信号的真实标签与预测标签的误差函数,||表示取绝对值,log表示取对数。

误差函数的定义方式可以有多种选择,作为一个示例,误差函数可以定义如下:

其中,z表示语音信号,k(z)表示语音信号对应的真实用户,k表示语音信号对应的预测用户,t(z)表示语音信号对应的真实角度,θi表示语音信号对应的预测角度,||表示取绝对值。在计算误差函数值时,k(z)、kt(z)和θi采用数值的形式,带入到误差函数进行计算,例如k(z)和k可以为用户的编号,t(z)和θi可以采用预设变换方式将角度转换为数值。

lstm层利用历史信息进行迭代,得到更接近实际概率分布、更容易分类的特征,从而输入给全连接层,可以实现网络对用户身份的辨识,在输入lstm层的数据特征中可以增广能够有利于身份辨识的x-vector(x向量)信息,能够有效增强网络对用户身份的辨识能力。lstm层能够利用历史信息更好地训练调整针对损失函数的网络的优化参数。

在一种可能实现方式中,将该样本语音信号输入深度神经网络模型,包括:对该样本语音信号进行加窗处理和傅里叶变换,将变换后的信号输入该深度神经网络模型。

其中,加窗处理是将该语音信号转变为帧序列,目的是平滑信号,加窗函数可以为哈明窗,以减弱傅里叶变换以后旁瓣大小。傅里叶变换可以为stft(shorttimefouriertransform,短时傅里叶变换),通过时间窗内的一段信号来表示某一时刻的信号特征。通过将语音信号从时域信号变换为频域信号,从而将频域信号输入到深度神经网络模型中,由深度神经网络模型在频域对信号进行处理,可以获得更高的处理效率和性能。在一些可能的实施例中,电子设备也可以不将语音信号从时域信号变换为频域信号,而是直接将时域信号输入到深度神经网络模型中,由深度神经网络模型在时域对信号进行处理。

步骤二、根据该样本语音信号对应该各个用户的概率、该样本语音信号对应该各个用户在该各个角度上说话的概率、该样本语音信号携带的用户标签和角度标签,获取损失函数值。

在一种可能实现方式中,该步骤二包括:对于任一用户和任一角度,获取该样本语音信号对应该任一用户的概率、该样本语音信号对应该任一用户在该任一角度上说话的概率以及误差函数值的对数的乘积,该误差函数值用于表示该样本语音信号携带的用户标签和角度标签与该任一用户和该任一角度的误差;对获取到的各个乘积求和,将求和结果作为该损失函数值。该过程也即是通过前面提到的损失函数计算得到损失函数值的过程,其中,误差函数值可以通过前面提到的误差函数计算得到。

参见前面提到的损失函数,对于任一用户和任一角度,将样本语音信号对应该任一用户的概率、该样本语音信号对应该任一用户在该任一角度上说话的概率以及误差函数值的对数这三者进行乘积运算,由于有多个用户和多个角度,这样可以得到多个乘积,然后将得到的各个乘积进行求和,得到损失函数值。

步骤三、当该损失函数值未达到训练结束条件时,对该深度神经网络模型中的参数进行调整。

该训练结束条件可以是损失函数值小于目标阈值,也可以是损失函数值的变化值小于目标阈值,针对后者,每次计算得到损失函数值,则将本次的损失函数值与上次的损失函数进行比较,得到变化值,如果在一段时间内,变化值一直小于目标阈值,则可以认为达到了训练结束条件。

步骤四、从将样本语音信号输入该深度神经网络模型,输出概率的步骤重新开始执行,直至损失函数值达到训练结束条件时结束训练,将结束训练时的深度神经网络模型作为该目标模型。

电子设备可以对深度神经网络模型进行迭代训练,不断调整其参数,直至达到训练结束条件时,将此时得到的深度神经网络模型作为该目标模型。

需要说明的是,该步骤201为可选步骤,该步骤201为对电子设备采集到的语音信号进行处理之前需要执行的步骤,并不是每次对语音信号进行处理时均需执行该步骤,保证在对语音信号进行处理时,已经获取到该目标模型即可,如电子设备可以预先训练得到该目标模型后存储在本地,或预先从其他设备获取到该目标模型后存储在本地,在需要基于该目标模型对语音信号进行处理时,直接调用该目标模型。

202、电子设备获取第一语音信号,该第一语音信号通过麦克风阵列采集得到。

其中,麦克风阵列包括多个麦克风,该多个麦克风可以按照预定的拓扑结构设置,用于对所处环境中来自各个方向的语音信号进行采集。

电子设备可以将麦克风阵列在当前时刻采集到的语音信号作为该第一语音信号,该第一语音信号为多通道语音信号。

203、电子设备将该第一语音信号输入目标模型,输出该第一语音信号对应各个用户的概率和该第一语音信号对应该各个用户在各个角度上说话的概率,该目标模型基于携带用户标签和角度标签的样本语音信号对深度神经网络模型进行训练得到,该各个角度用于表示该各个用户相对于该麦克风阵列的方向。

在一种可能实现方式中,该步骤202可以包括:将该第一语音信号输入该目标模型,由该目标模型中的卷积层,对该第一语音信号进行处理,得到该第一语音信号的语音特征;由该目标模型中的lstm层,对卷积层输出的该第一语音信号的语音特征进行处理;由该目标模型中的第一全连接层和第二全连接层,对该lstm层输出的该第一语音信号的语音特征进行处理,得到该第一语音信号对应各个用户的分数和该第一语音信号对应该各个用户在各个角度上说话的分数;由该目标模型中的softmax层,对该第一全连接层和第二全连接层输出的分数进行处理,得到该第一语音信号对应各个用户的概率和该第一语音信号对应该各个用户在各个角度上说话的概率。

在一种可能实现方式中,该目标模型中的卷积层后连接有归一化层和激活函数层,该由该目标模型中的lstm层,对该卷积层输出的该第一语音信号的语音特征进行处理,包括:由该目标模型中的该归一化层和该激活函数层,对该卷积层输出的该第一语音信号的语音特征进行处理;由该目标模型中的lstm层,对该激活函数层输出的该第一语音信号的语音特征进行处理。

目标模型对第一语音信号的处理过程与步骤201中将样本语音信号输入深度神经网络模型,输出样本语音信号对应该各个用户的概率和该样本语音信号对应该各个用户在该各个角度上说话的概率同理,此处不再赘述。

在一种可能实现方式中,该第一语音信号用复数向量表示。由于目标模型是对深度神经网络模型进行训练得到的,因此目标模型中的卷积层也用于进行复数域的卷积操作,复数域的卷积操作与步骤201中深度神经网络模型的卷积层进行复数域的卷积操作同理,此处不再赘述。目标模型中的激活函数层与步骤201中深度神经网络模型的激活函数层同理,此处不再赘述。

在一种可能实现方式中,将该第一语音信号输入目标模型,包括:对该第一语音信号进行加窗处理和傅里叶变换,将变换后的信号输入该目标模型。该过程与步骤201中将样本语音信号输入深度神经网络模型同理,此处不再赘述。

204、电子设备根据该第一语音信号对应该各个用户的概率和该第一语音信号对应该各个用户在该各个角度上说话的概率,确定该第一语音信号对应的第一用户和第一角度。

其中,第一角度表示第一用户相对于麦克风阵列的方向。

在一种可能实现方式中,该步骤204可以包括:根据该第一语音信号对应该各个用户的概率、该第一语音信号对应该各个用户在该各个角度上说话的概率、第二语音信号对应该各个用户的概率以及该第二语音信号对应该各个用户在该各个角度上说话的概率,确定该第一语音信号对应的该第一用户和该第一角度;其中,该第二语音信号通过该麦克风阵列在该第一语音信号的采集时刻之前的时间段内采集得到。

其中,第二语音信号的数量可以为多帧,电子设备可以根据第一语音信号对应的概率以及第一语音信号之前的多帧第二语音信号对应的概率,确定第一语音信号对应的该第一用户和该第一角度,也即是确定第一语音信号是由第一用户在第一角度上发出,也即是第一语音信号是由第一用户在第一角度上说话产生,也即是第一语音信号是由第一用户从第一角度所表示的方向上发出。

在一种可能实现方式中,该根据该第一语音信号对应该各个用户的概率、该第一语音信号对应该各个用户在该各个角度上说话的概率、第二语音信号对应该各个用户的概率以及该第二语音信号对应该各个用户在该各个角度上说话的概率,确定该第一语音信号对应的该第一用户和该第一角度,包括:对于任一用户和任一角度,获取该第一语音信号对应该任一用户的概率、该第一语音信号对应该任一用户在该任一角度上说话的概率和第一平滑因子的乘积,以及第二语音信号对应该任一用户的概率、该第二语音信号对应该任一用户在该任一角度上说话的概率和第二平滑因子的乘积;对获取到的各个乘积求和,得到该任一用户和该任一角度对应的求和结果;确定该各个用户和该各个角度对应的求和结果中的最大求和结果;将该最大求和结果对应的用户和角度分别作为该第一用户和该第一角度。该过程可以表示如下:

其中,k表示语音信号对应的用户,i表示第i个角度(θi),t表示时刻,nn表示时间间隔,αn表示平滑因子,表示t-n时刻的语音信号对应第k个用户的概率,表示t-n时刻的语音信号对应第k个用户在第i个角度(θi)上说话的概率,∑表示求和,max表示求最大值。

在进行实时doa估计时,将t时刻采集到的一帧语音信号输入目标模型,可以得到当前的doa类别信息{,},取t时刻之前的n帧的数据平滑结果可以得到t时刻的doa估计信息,其中包含了对用户身份的估计,可以得到用户身份的估计,同时能够实时得到对用户角度的估计,从而实现对用户位置跟踪的能力。

在一些可能实施例中,电子设备执行步骤204之后,本申请实施例提供的方法还包括:根据该第一角度,控制指示灯指向该第一用户的方向。

电子设备通过步骤204确定的第一用户和第一角度表明第一语音信号为第一用户在第一角度上说话产生的语音信号,第一角度表示第一用户相对于电子设备的麦克风阵列的方向,因此,电子设备可以根据第一角度,控制指示灯指向第一用户的方向,提升语音交互的效果,提升用户体验。

在一些可能实施例中,电子设备根据该第一角度,控制指示灯指向该第一用户的方向之后,该方法还包括:获取第三语音信号,该第三语音信号通过该麦克风阵列在该第一语音信号的采集时刻之后的时间段内采集得到;将该第三语音信号输入目标模型,输出该第三语音信号对应该各个用户的概率和该第三语音信号对应该各个用户在该各个角度上说话的概率;根据该第三语音信号对应该各个用户的概率和该第三语音信号对应该各个用户在该各个角度上说话的概率,确定该第三语音信号对应的第二用户和第二角度;当该第二用户与该第一用户相同且该第二角度与该第一角度不同时,控制该指示灯转向该第二用户的方向。

电子设备确定该第三语音信号对应的第二用户和第二角度的过程与步骤203至步骤204中电子设备确定该第一语音信号对应的第一用户和第一角度同理,此处不再赘述。如果确定第三语音信号也是第一用户说话产生的,只不过第一用户的位置发生了变化,则电子设备可以根据第二角度,控制指示灯从第一角度表示的方向转向第二角度表示的方向。利用本申请实施例提供的方法得到的doa估计信息能够增加音箱唤醒时应答功能,比如随着用户移动,不断更新方向指示灯方向,从而能够实现音箱跟踪说话人的功能。

在一些可能实施例中,电子设备执行步骤204之后,本申请实施例提供的方法还包括:当该第一用户和该第一角度中至少一项符合目标条件时,对该第一语音信号进行意图识别,得到该第一语音信号对应的意图;根据该第一语音信号对应的意图,执行对应的操作。

电子设备在确定第一语音信号对应的第一用户和第一角度后,可以判断第一用户和第一角度中至少一项是否符合目标条件,如果符合,则对第一语音信号进行意图识别,根据识别到的意图,执行对应的操作,例如,第一语音信号对应的意图为调低歌曲音量,则电子设备可以执行调低歌曲音量的操作。

在一种可能实现方式中,该第一用户和该第一角度中至少一项符合目标条件包括下述任一项:该第一用户为目标用户;该第一角度处于目标角度范围内;该第一用户为该目标用户且该第一角度处于目标角度范围内。

其中,该目标用户可以由电子设备的归属用户预先设备,例如该目标用户可以包括电子设备的归属用户以及该归属用户设置的其他用户,如该归属用户的家人和好友。该目标角度范围可以由电子设备的归属用户预先设置。通过设置目标条件,使得电子设备只在目标条件下才会进行意图识别,执行对应的操作,在满足归属用户的需求的同时,可以避免不必要的识别带来的资源浪费。

利用dnn(deepneuralnetwork,深度神经网络)机器学习技术进行doa估计,一方面具有先天的抗噪性,能够有效降低噪声对用户判别的影响,能够极大地缓解传统doa估计方法在低信噪比、多说话人识别及跟踪问题中较差的表现,能够极大地拓宽doa估计方法的适用场景,因其泛化能力能够适应更多类似降噪场景,例如交通工具(汽车、飞机、轮船)、家居环境(电视、洗衣机噪声抑制)等等,为远场语音降噪提供有力的支撑,更准确的doa估计能够更好地发挥麦克风阵列降噪能力,同时能够为智能音箱、机器人等产品提供一些有效提示方位的功能,如说话人说话时,智能设备可以将指示灯指向目标说话人方向,说话人移动时,指示灯能够随之移动。另一方面能够利用用户的语音特征,更容易进行用户方向的定位和跟踪,增强doa方法的适用范围,解决了相关技术无法适应的低信噪比场景下的doa准确性问题,有利于提高智能语音系统的唤醒率和识别率。而复数dnn的应用,与传统的实数dnn相比,能够充分利用麦克风阵列信号的空间信息,使dnn网络更适用于doa估计场景,更好地适应doa估计这样的机器学习任务,较容易地实现用户识别及跟踪,拓展doa的适用性和鲁棒性。另外,本申请实施例提供的方法基于携带用户标签和角度标签的样本语音信号对深度神经网络模型进行训练,得到目标模型,可以利用更多先验信息,具有更强的环境适应能力,并具有多人定位、跟踪功能,能够应用到智能音箱多人对话场景。

需要说明的是,本申请实施例是以上述各个步骤由电子设备执行为例进行说明,可以理解的是,上述各个步骤也可以由电子设备和服务器之间的交互来实现,例如,步骤201可以由服务器执行,步骤202至步骤204可以由电子设备和服务器交互执行,如电子设备执行步骤202后,可以将第一语音信号发送给服务器,由服务器执行步骤203和步骤204。本申请实施例对上述各个步骤的执行主体不做限定。

本申请实施例提供的方法,由于目标模型是基于已知说话的用户和角度的样本语音信号,对深度神经网络模型进行训练得到,因此在获取到麦克风阵列采集到的第一语音信号后,可以将第一语音信号输入目标模型,由该目标模型对第一语音信号进行处理,得到该第一语音信号由各个用户说话产生的概率,以及由各个用户在各个角度上说话产生的概率,这样根据第一语音信号的上述概率,即可确定第一语音信号对应的说话的用户和角度分别为各个用户中的第一用户和各个角度中的第一角度,也即是确定第一语音信号为第一用户在第一角度上说话产生,这种基于深度神经网络的方法,能够有效降低噪声对语音信号处理的影响,同时能够利用用户的语音特征,提高doa估计的准确性,更准确的确定用户的方向。

图5是本申请实施例提供的一种语音信号处理装置的结构示意图。参照图5,该装置包括:

获取模块501,用于获取第一语音信号,该第一语音信号通过麦克风阵列采集得到;

处理模块502,用于将该第一语音信号输入目标模型,输出该第一语音信号对应各个用户的概率和该第一语音信号对应该各个用户在各个角度上说话的概率,该目标模型基于携带用户标签和角度标签的样本语音信号,对深度神经网络模型进行训练得到,该各个角度用于表示该各个用户相对于该麦克风阵列的方向;

确定模块503,用于根据该第一语音信号对应该各个用户的概率和该第一语音信号对应该各个用户在该各个角度上说话的概率,确定该第一语音信号对应的第一用户和第一角度。

在一种可能实现方式中,该确定模块503用于:

根据该第一语音信号对应该各个用户的概率、该第一语音信号对应该各个用户在该各个角度上说话的概率、第二语音信号对应该各个用户的概率以及该第二语音信号对应该各个用户在该各个角度上说话的概率,确定该第一语音信号对应的该第一用户和该第一角度;

其中,该第二语音信号通过该麦克风阵列在该第一语音信号的采集时刻之前的时间段内采集得到。

在一种可能实现方式中,该确定模块503用于:

对于任一用户和任一角度,获取该第一语音信号对应该任一用户的概率、该第一语音信号对应该任一用户在该任一角度上说话的概率和第一平滑因子的乘积,以及第二语音信号对应该任一用户的概率、该第二语音信号对应该任一用户在该任一角度上说话的概率和第二平滑因子的乘积;

对获取到的各个乘积求和,得到该任一用户和该任一角度对应的求和结果;

确定该各个用户和该各个角度对应的求和结果中的最大求和结果;

将该最大求和结果对应的用户和角度分别作为该第一用户和该第一角度。

在一种可能实现方式中,该处理模块502用于:

将该第一语音信号输入该目标模型,由该目标模型中的卷积层,对该第一语音信号进行处理,得到该第一语音信号的语音特征;

由该目标模型中的长短期记忆lstm层,对该卷积层输出的该第一语音信号的语音特征进行处理;

由该目标模型中的第一全连接层和第二全连接层,对该lstm层输出的该第一语音信号的语音特征进行处理,得到该第一语音信号对应各个用户的分数和该第一语音信号对应该各个用户在各个角度上说话的分数;

由该目标模型中的softmax层,对该第一全连接层和第二全连接层输出的分数进行处理,得到该第一语音信号对应各个用户的概率和该第一语音信号对应该各个用户在各个角度上说话的概率。

在一种可能实现方式中,该第一语音信号用复数向量表示,该卷积层用于进行复数域的卷积操作,该复数域的卷积操作表示如下:

w*x=(w0*x0-w1*x1)+i(w1*x0+w0*x1)

其中,*表示卷积操作,w=w0+iw1,表示复数卷积核矩阵,w0和w1分别表示实部矩阵和虚部矩阵,x=x0+ix1,表示被卷积的复数向量,x0和x1分别表示实部向量和虚部向量,i为虚数单位。

在一种可能实现方式中,该目标模型中的卷积层后连接有归一化层和激活函数层,该处理模块502用于:

由该目标模型中的该归一化层和该激活函数层,对该卷积层输出的该第一语音信号的语音特征进行处理;

由该目标模型中的该lstm层,对该激活函数层输出的该第一语音信号的语音特征进行处理。

在一种可能实现方式中,该处理模块502还用于:

对于输入该激活函数层的复数向量中的任一元素,当该任一元素的模小于目标阈值时,该任一元素的激活函数值为该任一元素,该目标阈值大于0;

当该任一元素的模大于或等于该目标阈值时,该任一元素的激活函数值为0。

在一种可能实现方式中,该处理模块502用于:

对该第一语音信号进行加窗处理和傅里叶变换,将变换后的信号输入该目标模型。

在一种可能实现方式中,该处理模块502还用于:

将携带用户标签和角度标签的样本语音信号输入该深度神经网络模型,输出该样本语音信号对应该各个用户的概率和该样本语音信号对应该各个用户在该各个角度上说话的概率;

根据该样本语音信号对应该各个用户的概率、该样本语音信号对应该各个用户在该各个角度上说话的概率、该样本语音信号携带的用户标签和角度标签,获取损失函数值;

当该损失函数值未达到训练结束条件时,对该深度神经网络模型中的参数进行调整;

从将样本语音信号输入该深度神经网络模型,输出概率的步骤重新开始执行,直至损失函数值达到训练结束条件时结束训练,将结束训练时的深度神经网络模型作为该目标模型。

在一种可能实现方式中,该处理模块502用于:

对于任一用户和任一角度,获取该样本语音信号对应该任一用户的概率、该样本语音信号对应该任一用户在该任一角度上说话的概率以及误差函数值的对数的乘积,该误差函数值用于表示该样本语音信号携带的用户标签和角度标签与该任一用户和该任一角度的误差;

对获取到的各个乘积求和,将求和结果作为该损失函数值。

在一种可能实现方式中,该处理模块502用于:

将该样本语音信号输入该深度神经网络模型,由该深度神经网络模型中的卷积层,对该样本语音信号进行处理,得到该样本语音信号的语音特征;

由该深度神经网络模型中的lstm层,对该卷积层输出的该样本语音信号的语音特征进行处理;

由该深度神经网络模型中的第一全连接层和第二全连接层,对该lstm层输出的该样本语音信号的语音特征进行处理,得到该样本语音信号对应各个用户的分数和该样本语音信号对应该各个用户在各个角度上说话的分数;

由该深度神经网络模型中的softmax层,对该第一全连接层和第二全连接层输出的分数进行处理,得到该样本语音信号对应各个用户的概率和该样本语音信号对应该各个用户在各个角度上说话的概率。

在一种可能实现方式中,该样本语音信号用复数向量表示,该卷积层用于进行复数域的卷积操作,该复数域的卷积操作表示如下:

w*x=(w0*x0-w1*x1)+i(w1*x0+w0*x1)

其中,*表示卷积操作,w=w0+iw1,表示复数卷积核矩阵,w0和w1分别表示实部矩阵和虚部矩阵,x=x0+ix1,表示被卷积的复数向量,x0和x1分别表示实部向量和虚部向量,i为虚数单位。

在一种可能实现方式中,该深度神经网络模型的卷积层后连接有归一化层和激活函数层,该处理模块502用于:

由该深度神经网络模型中的该归一化层和该激活函数层,对该样本语音信号的语音特征进行处理;

由该深度神经网络模型中的lstm层对该激活函数层输出的该样本语音信号的语音特征进行处理。

在一种可能实现方式中,该处理模块502还用于:

对于输入该激活函数层的复数向量中的任一元素,当该任一元素的模小于目标阈值时,该任一元素的激活函数值为该任一元素,该目标阈值大于0;

当该任一元素的模大于或等于该目标阈值时,该任一元素的激活函数值为0。

在一种可能实现方式中,该处理模块还用于:

对该样本语音信号进行加窗处理和傅里叶变换,将变换后的信号输入该深度神经网络模型。

在一种可能实现方式中,该装置还包括:

控制模块,用于根据该第一角度,控制指示灯指向该第一用户的方向。

在一种可能实现方式中,该获取模块501还用于获取第三语音信号,该第三语音信号通过该麦克风阵列在该第一语音信号的采集时刻之后的时间段内采集得到;

该处理模块502还用于将该第三语音信号输入目标模型,输出该第三语音信号对应该各个用户的概率和该第三语音信号对应该各个用户在该各个角度上说话的概率;

该确定模块503还用于根据该第三语音信号对应该各个用户的概率和该第三语音信号对应该各个用户在该各个角度上说话的概率,确定该第三语音信号对应的第二用户和第二角度;

该控制模块还用于当该第二用户与该第一用户相同且该第二角度与该第一角度不同时,根据该第二角度,控制该指示灯转向该第二用户的方向。

在一种可能实现方式中,该装置还包括:

识别模块,用于当该第一用户和该第一角度中至少一项符合目标条件时,对该第一语音信号进行意图识别,得到该第一语音信号对应的意图;

执行模块,用于根据该第一语音信号对应的意图,执行对应的操作。

在一种可能实现方式中,该第一用户和该第一角度中至少一项符合目标条件包括下述任一项:

该第一用户为目标用户;

该第一角度处于目标角度范围内;

该第一用户为该目标用户且该第一角度处于目标角度范围内。

本申请实施例中,由于目标模型是基于已知说话的用户和角度的样本语音信号,对深度神经网络模型进行训练得到,因此在获取到麦克风阵列采集到的第一语音信号后,可以将第一语音信号输入目标模型,由该目标模型对第一语音信号进行处理,得到该第一语音信号由各个用户说话产生的概率,以及由各个用户在各个角度上说话产生的概率,这样根据第一语音信号的上述概率,即可确定第一语音信号对应的说话的用户和角度分别为各个用户中的第一用户和各个角度中的第一角度,也即是确定第一语音信号为第一用户在第一角度上说话产生,这种基于深度神经网络的方法,能够有效降低噪声对语音信号处理的影响,同时能够利用用户的语音特征,提高doa估计的准确性,更准确的确定用户的方向。

需要说明的是:上述实施例提供的语音信号处理装置在语音信号处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音信号处理装置与语音信号处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图6是本申请实施例提供的一种电子设备的结构示意图。该电子设备600可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备600还可能被称为用户设备、便携式电子设备、膝上型电子设备、台式电子设备等其他名称。

通常,电子设备600包括有:一个或多个处理器601和一个或多个存储器602。

处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的语音信号处理方法。

在一些实施例中,电子设备600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、显示屏605、摄像头组件606、音频电路607、定位组件608和电源609中的至少一种。

外围设备接口603可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路604用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它电子设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏605用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置在电子设备600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在电子设备600的不同表面或呈折叠设计;在另一些实施例中,显示屏605可以是柔性显示屏,设置在电子设备600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在电子设备的前面板,后置摄像头设置在电子设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。

定位组件608用于定位电子设备600的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件608可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源609用于为电子设备600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,电子设备600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。

加速度传感器611可以检测以电子设备600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器612可以检测电子设备600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对电子设备600的3d动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器613可以设置在电子设备600的侧边框和/或显示屏605的下层。当压力传感器613设置在电子设备600的侧边框时,可以检测用户对电子设备600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在显示屏605的下层时,由处理器601根据用户对显示屏605的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置在电子设备600的正面、背面或侧面。当电子设备600上设置有物理按键或厂商logo时,指纹传感器614可以与物理按键或厂商logo集成在一起。

光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制显示屏605的显示亮度。具体地,当环境光强度较高时,调高显示屏605的显示亮度;当环境光强度较低时,调低显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。

接近传感器616,也称距离传感器,通常设置在电子设备600的前面板。接近传感器616用于采集用户与电子设备600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与电子设备600的正面之间的距离逐渐变小时,由处理器601控制显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与电子设备600的正面之间的距离逐渐变大时,由处理器601控制显示屏605从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图6中示出的结构并不构成对电子设备600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例性实施例中,还提供了一种存储有至少一条程序代码的计算机可读存储介质,例如存储有至少一条程序代码的存储器,上述至少一条程序代码由处理器加载并执行,以实现上述实施例中的语音信号处理方法。例如,该计算机可读存储介质可以是只读内存(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上该仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1