声源定位方法、装置、设备和计算机存储介质与流程
本申请涉及计算机技术领域,特别涉及人工智能、深度学习和语音技术领域中的声源定位方法、装置、设备和计算机存储介质。
背景技术:
随着语音交互需求的增长,围绕着语音交互展开的产品受到越来越多的关注。目前近场语音唤醒及识别已经达到了较高的水平,但远场场景下,用户与智能语音设备的交流仍存在困难。
唤醒作为语音交互的入口,需要为语音系统提供唤醒时间和声源方向,方便在后续的语音识别中对声源方向进行信号增强,也可以利用声源方向信息实现诸如定向亮灯等附加功能。因此,远场条件下对唤醒词进行准确地声源定位成为语音交互技术中一个重要的问题。
技术实现要素:
有鉴于此,本申请提供了一种声源定位方法、装置、设备和计算机存储介质,以便在远场条件下实现对唤醒词的准确声源定位。
第一方面,本申请提供了一种声源定位方法,包括:
获取语音信号;
将所述语音信号输入声源定位模型,获取所述声源定位模型输出的各帧的唤醒词识别信息和各帧的声源方向信息;
利用所述唤醒词识别信息确定唤醒词区间;
利用所述唤醒词区间和所述各帧的声源方向信息,确定唤醒词的声源方向;
其中,所述声源定位模型基于复数卷积神经网络预先训练得到。
第二方面,本申请提供了一种训练声源定位模型的方法,包括:
获取训练数据,所述训练数据包括:包含唤醒词的语音信号、语音信号的唤醒词片段标签和唤醒词方向标签;
将所述语音信号作为模型输入、对应的唤醒词片段标签和唤醒词方向标签作为模型的目标输出,训练基于复数卷积神经网络的声源定位模型。
第三方面,本申请提供了一种声源定位装置,包括:
信号获取单元,用于获取语音信号;
模型处理单元,用于将所述语音信号输入声源定位模型,获取所述声源定位模型输出的各帧的唤醒词识别信息和各帧的声源方向信息;其中,所述声源定位模型基于复数卷积神经网络预先训练得到;
区间确定单元,用于利用所述唤醒词识别信息确定唤醒词区间;
方向确定单元,用于利用所述唤醒词区间和所述各帧的声源方向信息,确定唤醒词的声源方向。
第四方面,本申请提供了一种训练声源定位模型的装置,包括:
数据获取单元,用于获取训练数据,所述训练数据包括:包含唤醒词的语音信号、语音信号的唤醒词片段标签和唤醒词方向标签;
模型训练单元,用于将所述语音信号作为模型输入、对应的唤醒词片段标签和唤醒词方向标签作为模型的目标输出,训练基于复数卷积神经网络的声源定位模型。
第五方面,本申请提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
第六方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的方法。
本申请基于复数卷积神经网络训练得到的声源定位模型得到语音信号各帧的唤醒词识别信息和声源方向信息,以确定唤醒词的声源方向,能够实现在远场条件下对唤醒词的准确声源定位。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1示出了可以应用本发明实施例的用于声源定位方法或声源定位装置的示例性系统架构;
图2为本申请实施例二提供的声源定位方法的流程图;
图3为本申请实施例二提供的声源定位模型的组成示意图;
图4a~图4b为本申请实施例二提供的声源定位模型的输出结果的示意图;
图5为本申请实施例二提供的搜索窗的示意图;
图6为本申请实施例三提供的训练声源定位模型的方法流程图;
图7为本申请实施例四提供的声源定位装置的结构示意图;
图8为本申请实施例提供的训练声源定位模型的装置结构图;
图9是用来实现本申请实施例的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前业界的声源定位方法主要包括tdoa(timedifferenceofarrival,声达时间差)、高分辨谱估计、波束成形等。其中,tdoa是利用声源到达不同麦克风的时延差和麦克风阵列的空间几何位置来确定声源位置,但这种方式定位精度和抗干扰性差,不利于远场条件。高分辨谱估计是通过麦克风阵列构造空间谱的方法,但其需要很高的计算量,不利于成本控制。波束成形是将麦克风阵列的各麦克风输出信号经过一系列信号处理(例如延迟、求和等)形成空间指向性的方法,虽然波束成形对远场条件的是适应性较强,但依赖传统dsp(digitalsignalprocessing,数字信号处理)的先验知识。而对于唤醒词而言,作为第一次的语音很难准确利用波束信息,因此影响了首次的唤醒识别和声源定位的准确性。
而本申请的核心思想与上述目前业界的声源定位方法都不同,本申请基于复数卷积神经网络得到声源定位模型,通过该声源定位模型能够同时得到语音信号各帧的唤醒词识别信息和声源方向信息,并进一步据此确定唤醒词的声源方向。下面结合实施例对本申请提供的方式进行详细描述。
实施例一
图1示出了可以应用本发明实施例的用于声源定位方法或声源定位装置的示例性系统架构。
如图1所示,该系统架构可以包括智能语音设备101、网络102和服务器103。网络102用以在智能语音设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以通过语音的方式与智能语音设备101进行语音,智能语音设备101可以通过网络102与服务器103交互。智能语音设备101可以是支持语音交互的各种电子设备,可以是有屏设备,也可以是无屏设备。包括但不限于智能手机、平板电脑、智能音箱、智能电视等等。
本发明所提供的声源定位装置可以设置并运行于上述智能语音设备101中,也可以设置并运行于上述服务器103中。训练声源定位模型的装置通常设置于服务器103中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
例如,服务器103进行声源定位模型的训练后,将预先训练得到的声源定位模型发送至智能语音设备101。声源定位装置设置于智能语音设备101,由智能语音设备101利用声源定位模型进行唤醒词的声源定位,从而为后续的语音识别中声源方向进行信号增强,或者利用声源方向信息实现诸如定向亮灯等附加功能
再例如,智能语音设备101在出厂时,在内置芯片中集成声源定位模型。声源定位装置设置于智能语音设备101,由智能语音设备101利用声源定位模型进行唤醒词的声源定位。
再例如,声源定位装置可以设置并运行于上述服务器103中,智能语音设备将诸如麦克风或麦克风阵列等语音采集装置采集到的语音信号发送至服务器103,由服务器103采用本申请提供的方式进行唤醒词的声源定位,从而为后续的语音识别中声源方向进行信号增强,或者利用声源方向信息实现诸如定向亮灯等附加功能。
服务器103可以是单一服务器,也可以是多个服务器构成的服务器群组。应该理解,图1中的智能语音设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的智能语音设备、网络和服务器。
实施例二
图2为本申请实施例二提供的声源定位方法的流程图,如图2中所示,该方法可以包括以下步骤:
在201中,获取语音信号。
在本申请中,可以获取语音采集装置采集的语音信号。其中,语音采集装置指的是智能语音设备中负责进行远场语音采集的装置,例如麦克风、麦克风阵列等。可以采集得到一路以上的语音信号。
在202中,将语音信号输入声源定位模型,获取声源定位模型输出的各帧的唤醒词识别信息和各帧的声源方向信息。
其中,声源定位模型基于复数卷积神经网络预先训练得到。声源定位模型的主要功能是从一路以上的语音信号中提取特征,本申请中提取的特征包括复数特征和频带关联特征。然后将语音信号映射为数帧,识别出每帧的唤醒词识别信息(表示为“vad”)和声源方向信息(表示为“dir”),即识别出每帧是否属于唤醒词以及所来源的方向。
也就是说,声源定位模型的输入为语音采集装置采集的一路以上的语音信号,输出为各帧的vad和dir。下面结合图3对本申请实施例中涉及的声源定位模型的结构进行描述。
如图3中所示,声源定位模型主要包括五个部分:fft(fastfouriertransform,快速傅里叶变换)层、复数卷积神经网络、cnn(convolutionalneuralnetworks,卷积神经网络)、唤醒词识别层和方向识别层。
fft层,用于对语音信号进行快速傅里叶变换,以输出语音信号的频谱信息至复数卷积神经网络。其中快速傅里叶变换是将输入的语音信号从时域转化为频域信号。
复数卷积神经网络,用于从语音信号的频谱信息中提取复数特征,并输出复数特征至cnn。也就是说,复数卷积神经网络用复数特征挖掘出语音信号的本质特征。具体地,复数卷积神经网络可以包括复数卷积层、对数特征提取层和bn(batchnormalization,批量归一化)层。
其中,复数卷积层主要负责进行复数特征的提取,若以x表示fft输出的频谱信息,则x=xr+ixi,其中xr和xi分别表示频谱信息的实部和虚部。进行复数卷积处理后,得到:
h=w*x=(wrxr-wixi)+i(wixr-wrxi)
其中,w=wr+iwi,为复数滤波器系数。
对数特征提取层用于对复数卷积层提取的复数特征计算模值后在计算log。
bn用于将输入的数据进行归一化,能够有效解决梯度消失与梯度爆炸问题,作用是加快网络收敛,控制过拟合。
cnn,用于提取复数特征的向量表示,并输出至唤醒词识别层和方向识别层。也就是说,由cnn对复数卷积神经网络输出的复数特征进行逐层抽象,最终转换成上述复数特征对应的向量表示。其中,cnn由多个卷积层和bn层组成,充分挖掘fft频带关联性,并且cnn的多通道机制保证了特征提取的多样性。
唤醒词识别层,用于利用上述复数特征的向量表示,识别各帧属于唤醒词的得分并输出各帧是否属于唤醒词。唤醒词识别层可以由全连接层和二分类softmax层组成,用来判断经过cnn计算后各帧属于唤醒词的得分,以识别各帧是否属于唤醒词即是否为唤醒词片段。例如,某帧属于唤醒词的得分大于或等于预设的唤醒词得分阈值,则确定该帧属于唤醒词。如图4a中所示,唤醒词识别层输出的是各帧属于唤醒词的得分,其中,横轴是时间,表示各帧,纵轴是得分值。
方向识别层,用于利用上述复数特征的向量表示,输出各帧分别来源于各预设方向的得分。方向识别层可以由全连接层和多个逻辑回归层组成。预先将声源可能来源的方向在空间上进行划分,得到多个预设的方向。针对每帧,分别能够确定该帧来源于每个预设方向的得分,该得分体现的是概率。如图4b中所示,若存在n个预设方向,则针对这n个方向分别输出各帧来源于该方向的得分。图4b中,dir_1…dir_n分别代表n个预设方向,横轴是时间,表示各帧,纵轴是得分值。
在上述声源定位模型中,采用复数特征,无需任何dsp特征,即摆脱了dsp先验知识的限制,开发过程更加简单快速。并且该模型体积小、计算量小,不会占用过多资源,甚至可以集成于智能语音设备的芯片中。
上述声源定位模型的训练过程将在实施例三中进行详细描述。
在203中,利用唤醒词识别信息确定唤醒词区间。
通常情况下,对于上述声源定位模型这类端到端的模型而言,对于上述语音信号中唤醒词的尾点能够较为准确地识别,但对于起点则存在一定的误差。因此,为了能够实现唤醒词的准确声源定位,则可以进一步更加准确地确定唤醒词区间。
下面提供一种优选的唤醒词区间的确定方式,具体可以包括以下步骤:
s1、利用唤醒词识别信息中各帧属于唤醒词的得分,确定唤醒词尾点帧。
声源定位模型中唤醒词识别层会输出各帧属于唤醒词的得分,依据该得分,可以将得分大于或等于预设唤醒词得分阈值的帧确定为唤醒词片段,将最后一个被识别为唤醒词片段的帧作为唤醒词尾点帧。
s2、将唤醒词尾点帧之前且距离唤醒词尾点帧预设时长的帧作为搜索区间起点。
其中上述预设时长与唤醒词的语音长度相关,但需要保证该预设时长能否覆盖整个唤醒词的语音长度。以唤醒词“小度小度”为例,通常用户说“小度小度”的语音长度不会超过2秒,因此可以设置预设时长为2秒。
如图5中所示,从唤醒词尾点帧开始向前预设时长的帧作为搜索区间起点,从搜索区间起点到唤醒词尾点帧之间的区间作为搜索区间。
s3、从搜索区间起点开始进行滑动搜索窗,若确定出搜索窗内各帧属于唤醒词的得分状况大于或等于预设的得分阈值,则从该搜索窗内选择一帧作为唤醒词起点帧,结束滑动搜索窗。
其中,上述搜索窗内各帧属于唤醒词的得分状况可以通过总得分值或平均得分值等来体现。
搜索窗的长度通常取一个较小的时长,一般设置在几十毫秒或几百毫秒的级别。如图5中所示,搜索窗从搜索区间起点开始滑动,在每次滑动位置都计算搜索窗内各帧属于唤醒词的平均得分。如果平均得分大于或等于预设的平均得分阈值,则从当前滑动位置的搜索窗内选择一帧作为唤醒词起点帧,例如选择搜索窗内中间帧作为唤醒词起点帧,结束滑动搜索窗。如果平均得分小于预设的平均得分阈值,则继续滑动搜索窗。
若搜索窗从搜索区间起点开始至唤醒词尾点帧滑动结束,均不存在搜索内各帧属于唤醒词的得分状况大于或等于预设的得分阈值,则从得分状况最优的搜索窗中选择一帧作为唤醒词起点帧。
s4、利用唤醒词起点帧和唤醒词尾点帧得到唤醒词区间。
在204中,利用唤醒词区间和各帧的声源方向信息,确定唤醒词的声源方向。
在本步骤中可以分别确定唤醒词区间内所有帧在各预设方向上的整体得分状况,将整体得分状况最优的方向确定为唤醒词的声源方向。其中,整体得分状况可以通过总得分或平均得分等体现,从整体上提高唤醒词的声源定位的准确性。
即针对dir_1、dir_2、…dir_n,分别确定唤醒词区间内所有帧在dir_1上的总得分、所有帧在dir_2上的总得分、…所有帧在dir_n上的总得分。假设所有帧在dir_2上的总得分最大,则确定dir_2为唤醒词的声源方向。
实施例三
图6为本申请实施例三提供的训练声源定位模型的方法流程图,如图6中所示,该方法可以具体包括以下步骤:
在601中,获取训练数据,训练数据包括:包含唤醒词的语音信号、语音信号的唤醒词片段标签和唤醒词方向标签。
本步骤中,可以直接通过远场方式获取语音信号,并对语音信号的唤醒词片段和唤醒词方向进行标注后,得到训练数据。
但由于远场数据量较少,不容易获取。本申请中提供了一种优选的训练数据获取方式。即对近场语音信号叠加rir(roomimpulseresponse,房间脉冲响应)和加噪处理以模拟远场语音信号,得到训练数据中的语音信号。
在602中,将语音信号作为模型输入、对应的唤醒词片段标签和唤醒词方向标签作为模型的目标输出,训练基于复数卷积神经网络的声源定位模型。
其中,在训练声源定位模型时,输入为训练数据中的语音信号,输出为各帧的vad和dir,训练目标是:输出的各帧的vad和dir与训练数据中对应的标签一致。
如图3中所示,声源定位模型主要包括五个部分:fft层、复数卷积神经网络、cnn、唤醒词识别层和方向识别层。
fft层,用于对语音信号进行快速傅里叶变换,以输出语音信号的频谱信息至复数卷积神经网络。其中快速傅里叶变换是将输入的语音信号从时域转化为频域信号。
复数卷积神经网络,用于从语音信号的频谱信息中提取复数特征,并输出复数特征至cnn。也就是说,复数卷积神经网络用复数特征挖掘出语音信号的本质特征。具体地,复数卷积神经网络可以包括复数卷积层、对数特征提取层和bn层。
其中,复数卷积层主要负责进行复数特征的提取,若以x表示fft输出的频谱信息,则x=xr+ixi,其中xr和xi分别表示频谱信息的实部和虚部。进行复数卷积处理后,得到:
h=w*x=(wrxr-wixi)+i(wixr-wrxi)
其中,w=wr+iwi,为复数滤波器系数。
对数特征提取层用于对复数卷积层提取的复数特征计算模值后在计算log。
bn用于将输入的数据进行归一化,能够有效解决梯度消失与梯度爆炸问题,作用是加快网络收敛,控制过拟合。
cnn,用于提取复数特征的向量表示,并输出至唤醒词识别层和方向识别层。也就是说,由cnn对复数卷积神经网络输出的复数特征进行逐层抽象,最终转换成上述复数特征对应的向量表示。其中,cnn由多个卷积层和bn层组成,充分挖掘fft频带关联性,并且cnn的多通道机制保证了特征提取的多样性。
唤醒词识别层,用于利用上述复数特征的向量表示,识别各帧属于唤醒词的得分并输出各帧是否属于唤醒词。唤醒词识别层可以由全连接层和二分类softmax层组成,用来判断经过cnn计算后各帧属于唤醒词的得分,以识别各帧是否属于唤醒词即是否为唤醒词片段。例如,某帧属于唤醒词的得分大于或等于预设的唤醒词得分阈值,则确定该帧属于唤醒词。如图4a中所示,唤醒词识别层输出的是各帧属于唤醒词的得分,其中,横轴是时间,表示各帧,纵轴是得分值。
方向识别层,用于利用上述复数特征的向量表示,输出各帧分别来源于各预设方向的得分。方向识别层可以由全连接层和多个逻辑回归层组成。预先将声源可能来源的方向在空间上进行划分,得到多个预设的方向。针对每帧,分别能够确定该帧来源于每个预设方向的得分,该得分体现的是概率。如图4b中所示,若存在n个预设方向,则针对这n个方向分别输出各帧来源于该方向的得分。图4b中,dir_1…dir_n分别代表n个预设方向,横轴是时间,表示各帧,纵轴是得分值。
在训练过程中,唤醒词识别层的训练目标为依据输出的各帧属于唤醒词的得分判断出的各帧是否属于唤醒词的结果与训练数据中对应的标签(即唤醒词片段标签)一致。其对应的损失函数lossvad可以采用交叉熵的方式,例如:
其中,y为训练数据中唤醒词片段标签,若是唤醒词片段则y为1,否则为0。
方向识别层的训练目标为依据输出的各帧来源于各预设方向的得分判断出的各帧所来源的方向与训练数据中对应的标签(唤醒词方向标签)一致。其对应的损失函数lossdir可以采用对数损失函数,对于每一个方向d,对应的损失函数为:
其中,q为训练数据中唤醒词方向标签,x为方向识别层输出的各帧来源于方向d的得分,取值属于[0,1]。h()为激活函数,可以为:
训练过程中,唤醒词识别层和方向识别层可以交替迭代,每一轮迭代利用唤醒词识别层的lossvad,更新复数卷积神经网络层、cnn、唤醒词识别层的模型参数,或者,每一轮迭代利用方向识别层的lossdir更新复数卷积神经网络层、cnn、方向识别层的模型参数,直至满足迭代停止条件。
唤醒词识别层和方向识别层可以也可以同时迭代,即利用lossvad和lossdir确定出一个总的loss,然后利用该总的loss更新复数卷积神经网络层、cnn、唤醒词识别层和方向识别层的模型参数。其中,在确定总的loss时,可以将lossvad和lossdir进行加权求和后得到总的loss,当然也可以采用其他方式。
其中,迭代停止条件可以是达到训练目标即损失函数取值小于或等于预设阈值,也可以是迭代次数达到迭代次数的上限阈值,等等。
以上是对本申请所提供的方法进行的详细描述,下面结合实施例四和实施例五对本申请提供的装置进行详细描述。
实施例四
图7为本申请实施例四提供的声源定位装置的结构示意图,如图7所示,该装置可以包括:信号获取单元01、模型处理单元02、区间确定单元03和方向确定单元04,其中各组成单元的主要功能如下:
信号获取单元01,用于获取语音采集装置采集的语音信号。
在本申请中,语音采集装置指的是智能语音设备中负责进行远场语音采集的装置,例如麦克风、麦克风阵列等。可以采集得到一路以上的语音信号。
模型处理单元02,用于将语音信号输入声源定位模型,获取声源定位模型输出的各帧的唤醒词识别信息和各帧的声源方向信息;其中,声源定位模型基于复数卷积神经网络预先训练得到。
声源定位模型的输入为语音采集装置采集的一路以上的语音信号,输出为各帧的vad和dir。
如图3中所示,声源定位模型主要包括五个部分:fft(fastfouriertransform,快速傅里叶变换)层、复数卷积神经网络、cnn(convolutionalneuralnetworks,卷积神经网络)、唤醒词识别层和方向识别层。
fft层,用于对语音信号进行快速傅里叶变换,以输出语音信号的频谱信息至复数卷积神经网络。其中快速傅里叶变换是将输入的语音信号从时域转化为频域信号。
复数卷积神经网络,用于从语音信号的频谱信息中提取复数特征,并输出复数特征至cnn。也就是说,复数卷积神经网络用复数特征挖掘出语音信号的本质特征。具体地,复数卷积神经网络可以包括复数卷积层、对数特征提取层和bn(batchnormalization,批量归一化)层。
其中,复数卷积层主要负责进行复数特征的提取,若以x表示fft输出的频谱信息,则x=xr+ixi,其中xr和xi分别表示频谱信息的实部和虚部。进行复数卷积处理后,得到:
h=w*x=(wrxr-wixi)+i(wixr-wrxi)
其中,w=wr+iwi,为复数滤波器系数。
对数特征提取层用于对复数卷积层提取的复数特征计算模值后在计算log。
bn用于将输入的数据进行归一化,能够有效解决梯度消失与梯度爆炸问题,作用是加快网络收敛,控制过拟合。
cnn,用于提取复数特征的向量表示,并输出至唤醒词识别层和方向识别层。也就是说,由cnn对复数卷积神经网络输出的复数特征进行逐层抽象,最终转换成上述复数特征对应的向量表示。其中,cnn由多个卷积层和bn层组成,充分挖掘fft频带关联性,并且cnn的多通道机制保证了特征提取的多样性。
唤醒词识别层,用于利用上述复数特征的向量表示,识别各帧属于唤醒词的得分并输出各帧是否属于唤醒词。唤醒词识别层可以由全连接层和二分类softmax层组成,用来判断经过cnn计算后各帧属于唤醒词的得分,以识别各帧是否属于唤醒词即是否为唤醒词片段。例如,某帧属于唤醒词的得分大于或等于预设的唤醒词得分阈值,则确定该帧属于唤醒词。如图4a中所示,唤醒词识别层输出的是各帧属于唤醒词的得分,其中,横轴是时间,表示各帧,纵轴是得分值。
方向识别层,用于利用上述复数特征的向量表示,输出各帧分别来源于各预设方向的得分。方向识别层可以由全连接层和多个逻辑回归层组成。预先将声源可能来源的方向在空间上进行划分,得到多个预设的方向。针对每帧,分别能够确定该帧来源于每个预设方向的得分,该得分体现的是概率。如图4b中所示,若存在n个预设方向,则针对这n个方向分别输出各帧来源于该方向的得分。图4b中,dir_1…dir_n分别代表n个预设方向,横轴是时间,表示各帧,纵轴是得分值。
区间确定单元03,用于利用唤醒词识别信息确定唤醒词区间。
具体地,区间确定单元03可以包括:尾点确定子单元31、起点确定子单元32和区间确定子单元33。
其中,尾点确定子单元31,用于利用唤醒词识别信息中各帧属于唤醒词的得分,确定唤醒词尾点帧。例如,将得分大于或等于唤醒词得分阈值的帧确定为属于唤醒词片段,将最后一个属于唤醒词片段的帧确定为唤醒词尾点帧。
起点确定子单元32,用于将唤醒词尾点帧之前且距离唤醒词尾点帧预设时长的帧作为搜索区间起点;从搜索区间起点开始进行滑动搜索窗,若确定出搜索窗内各帧属于唤醒词的得分状况大于或等于预设的得分阈值,则从该搜索窗内选择一帧作为唤醒词起点帧,结束滑动搜索窗。
区间确定子单元33,用于利用唤醒词起点帧和唤醒词尾点帧得到唤醒词区间。
若搜索窗从搜索区间起点开始至唤醒词尾点帧滑动结束,均不存在搜索内各帧属于唤醒词的得分状况大于或等于预设的得分阈值,则起点确定子单元32从得分状况最优的搜索窗中选择一帧作为唤醒词起点帧。
方向确定单元04,用于利用唤醒词区间和各帧的声源方向信息,确定唤醒词的声源方向。
具体地,方向确定单元04可以分别确定唤醒词区间内所有帧在各预设方向上的整体得分状况;将整体得分状况最优的方向确定为唤醒词的声源方向。
实施例五
图8为本申请实施例提供的训练声源定位模型的装置结构图,如图8中所示,该装置可以包括:数据获取单元21和模型训练单元22。其中,各组成单元的主要功能如下:
数据获取单元21,用于获取训练数据,训练数据包括:包含唤醒词的语音信号、语音信号的唤醒词片段标签和唤醒词方向标签。
具体地,数据获取单元21可以对近场语音信号叠加房间脉冲响应和加噪处理以模拟远场语音信号,得到训练数据中的语音信号。
模型训练单元22,用于将语音信号作为模型输入、对应的唤醒词片段标签和唤醒词方向标签作为模型的目标输出,训练基于复数卷积神经网络的声源定位模型。
其中,声源定位模型可以具体包括:fft层、复数卷积神经网络、cnn、唤醒词识别层和方向识别层。
fft层,用于对语音信号进行快速傅里叶变换,以输出语音信号的频谱信息至复数卷积神经网络。
复数卷积神经网络,用于从语音信号的频谱信息中提取复数特征,并输出复数特征至卷积神经网络。
cnn,用于提取复数特征的向量表示,并输出至唤醒词识别层和方向识别层。
唤醒词识别层,用于利用上述复数特征的向量表示,识别各帧属于唤醒词的得分。
方向识别层,用于利用上述复数特征的向量表示,输出各帧分别来源于各预设方向的得分。
其中,复数卷积神经网络包括复数卷积层、对数特征提取层和批量归一化层。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例的声源定位或训练声源定位模型的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的声源定位或训练声源定位模型的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的声源定位或训练声源定位模型的方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的xxx的方法对应的程序指令/模块。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的声源定位或训练声源定位模型的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据该电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
该电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与该电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtualprivateserver",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除