唤醒方法、装置和计算机设备与流程
本申请涉及到计算机领域,特别是涉及到唤醒方法、装置和计算机设备。
背景技术:
现有智能设备中大多存在语音唤醒功能。一般先利用麦克风阵列整理多路语音信号后进行声源定位,然后对声源方向的波束降噪等声音处理进行增益,再进行唤醒算法的处理判断,导致既需要使用唤醒词这段语音信号做语音检测,又要用这段语音信号做声源定位,然后还要使用这段语音信号做波束的降噪处理再唤醒。一连串的串行步骤导致用到的这段语音信号,会在系统里面缓存处理较长时间,声源定位会出现飘忽不定的情况,影响唤醒效果,特别有噪声的场景,影响会更严重,而且串行步骤使得体验延迟,影响唤醒的时效性。
技术实现要素:
本申请的主要目的为提供唤醒方法,旨在解决现有唤醒中声源定位过程带来缺陷的技术问题。
本申请提出一种唤醒方法,包括:
判断麦克风阵列距离声源点的距离是否大于预设距离;
若是,则通过波束算法并行计算所述麦克风阵列中所有预设波束方向分别对当前语音信号的计算结果,其中,所述麦克风阵列由均匀分布于同一圆环的多个麦克风组成,所有所述预设波束方向为均分所述圆环圆周角的各方向,所有所述预设波束方向至少包括相互垂直的四个方向;
根据多个预设波束方向分别对应当前语音信号的计算结果,通过唤醒算法并行计算各所述预设波束方向分别对应的唤醒概率值;
判断各所述预设波束方向分别对应的唤醒概率值是否大于第一唤醒阈值;
若是,则根据唤醒概率大于所述第一唤醒阈值的指定波束方向,进行唤醒,其中,所述指定波束方向为唤醒概率值最大的预设波束方向。
优选地,所述根据唤醒概率大于所述第一唤醒阈值的指定波束方向,进行唤醒的步骤,包括:
选取与所述指定波束方向垂直的第一波束方向和第二波束方向,其中,所述第一波束方向和第二波束方向属于所有所述预设波束方向;
计算所述第一波束方向、所述第二波束方向和所述指定波束方向对应的第一唤醒概率方差;
判断所述第一唤醒概率方差是否小于第一预设门限值;
若是,则在所述第一波束方向与所述指定波束方向之间确定第三波束方向,在所述第二波束方向与所述指定波束方向之间确定第四波束方向,其中,所述第三波束方向为均分所述第一波束方向与所述指定波束方向之间夹角的方向,所述第四波束方向为均分所述第二波束方向与所述指定波束方向之间夹角的方向;
根据所述第三波束方向、所述第四波束方向以及所述指定波束方向,进行唤醒。
优选地,根据所述第三波束方向、所述第四波束方向以及所述指定波束方向,进行唤醒的步骤,包括:
计算所述第三波束方向、所述第四波束方向以及所述指定波束方向,分别对所述当前语音信号的唤醒概率值;
判断所述第三波束方向、所述第四波束方向和所述指定波束方向,分别对所述当前语音信号的唤醒概率值,是否存在至少一个波束方向的唤醒概率值大于第二唤醒阈值,其中,所述第二唤醒阈值大于所述第一唤醒阈值;
若是,则计算所述第三波束方向、所述第四波束方向和所述指定波束方向,分别对所述当前语音信号的唤醒概率值的第二唤醒概率方差,其中,所述第二唤醒概率方差小于所述第一唤醒概率方差;
判断所述第二唤醒概率方差是否小于第二预设门限,其中,所述第二预设门限小于所述第一预设门限;
若是,则确定所述指定波束方向为声源方向,且根据所述指定波束方向接收的语音信号进行唤醒。
优选地,所述判断所述第一唤醒概率方差是否小于第一预设门限值的步骤之后,包括:
若否,则在所述第一波束方向与所述指定波束方向之间确定多个第五波束方向,在所述第二波束方向与所述指定波束方向之间确定多个第六波束方向,其中,所述第五波束方向为均分所述第一波束方向与所述指定波束方向之间夹角的多个方向,所述第六波束方向为均分所述第二波束方向与所述指定波束方向之间夹角的多个方向;
计算与所述指定波束方向之间的夹角最小的指定第五波束方向对所述当前语音信号的第一唤醒概率值,以及与所述指定波束方向之间的夹角最小的指定第六波束方向对所述当前语音信号的第二唤醒概率值;
判断所述第一唤醒概率值是否大于所述第二唤醒概率值,且大于所述指定波束方向对应的唤醒概率值;
若是,则计算除指定第五波束方向之外的剩余第五波束方向,对所述当前语音信号的唤醒概率值;
确定所有第五波束方向上最大唤醒概率值对应的目标波束方向;
确定所述目标波束方向为声源方向,且根据所述目标波束方向接收的语音信号进行唤醒。
优选地,所述判断麦克风阵列距离声源点的距离是否大于预设距离的步骤,包括:
获取当前所述麦克风阵列在所述第一波束方向和所述第二波束方向上分别对应的第一波束信号和第二波束信号;
通过函数
判断所述相关值是否小于预设值;
若是,则判定麦克风阵列距离声源点的距离大于预设距离。
本申请还提供了一种唤醒装置,包括:
第一判断模块,用于判断麦克风阵列距离声源点的距离是否大于预设距离;
第一计算模块,用于若麦克风阵列距离声源点的距离是否大于预设距离,则通过波束算法并行计算所述麦克风阵列中所有预设波束方向分别对当前语音信号的计算结果,其中,所述麦克风阵列由均匀分布于同一圆环的多个麦克风组成,所有所述预设波束方向为均分所述圆环圆周角的各方向,所有所述预设波束方向至少包括相互垂直的四个方向;
第二计算模块,用于根据多个预设波束方向分别对应当前语音信号的计算结果,通过唤醒算法并行计算各所述预设波束方向分别对应的唤醒概率值;
第二判断模块,用于判断各所述预设波束方向分别对应的唤醒概率值是否大于第一唤醒阈值;
唤醒模块,用于若各所述预设波束方向分别对应的唤醒概率值大于第一唤醒阈值,则根据唤醒概率大于所述第一唤醒阈值的指定波束方向,进行唤醒,其中,所述指定波束方向为唤醒概率值最大的预设波束方向。
优选地,所述唤醒模块,包括:
选取单元,用于选取与所述指定波束方向垂直的第一波束方向和第二波束方向,其中,所述第一波束方向和第二波束方向属于所有所述预设波束方向;
计算单元,用于计算所述第一波束方向、所述第二波束方向和所述指定波束方向对应的第一唤醒概率方差;
判断单元,用于判断所述第一唤醒概率方差是否小于第一预设门限值;
确定单元,用于若所述第一唤醒概率方差小于第一预设门限值,则在所述第一波束方向与所述指定波束方向之间确定第三波束方向,在所述第二波束方向与所述指定波束方向之间确定第四波束方向,其中,所述第三波束方向为均分所述第一波束方向与所述指定波束方向之间夹角的方向,所述第四波束方向为均分所述第二波束方向与所述指定波束方向之间夹角的方向;
唤醒单元,用于根据所述第三波束方向、所述第四波束方向以及所述指定波束方向,进行唤醒。
优选地,所述唤醒单元,包括:
第一计算子单元,用于计算所述第三波束方向、所述第四波束方向以及所述指定波束方向,分别对所述当前语音信号的唤醒概率值;
第一判断子单元,用于判断所述第三波束方向、所述第四波束方向和所述指定波束方向,分别对所述当前语音信号的唤醒概率值,是否存在至少一个波束方向的唤醒概率值大于第二唤醒阈值,其中,所述第二唤醒阈值大于所述第一唤醒阈值;
第二计算子单元,用于若存在至少一个波束方向的唤醒概率值大于第二唤醒阈值,则计算所述第三波束方向、所述第四波束方向和所述指定波束方向,分别对所述当前语音信号的唤醒概率值的第二唤醒概率方差,其中,所述第二唤醒概率方差小于所述第一唤醒概率方差;
第二判断子单元,用于判断所述第二唤醒概率方差是否小于第二预设门限,其中,所述第二预设门限小于所述第一预设门限;
确定子单元,用于若小于第二预设门限,则确定所述指定波束方向为声源方向,且根据所述指定波束方向接收的语音信号进行唤醒。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
本申请通过对环形麦克风阵列中均匀分布的多个波束方向,并行处理语音信号,并通过获取最大唤醒概率,确定声源方向,避免了现有声源定位中串行处理带来的各种弊端,对声源所处方向的确定更精准且时效短,提高了唤醒效果。
附图说明
图1本申请一实施例的唤醒方法流程示意图;
图2本申请一实施例的麦克风阵列中各预设波束方向分布结构示意图;
图3本申请一实施例的唤醒装置结构示意图;
图4本申请一实施例的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的唤醒方法,包括:
s1:判断麦克风阵列距离声源点的距离是否大于预设距离;
s2:若大于预设距离,则通过波束算法并行计算所述麦克风阵列中所有预设波束方向分别对当前语音信号的计算结果,其中,所述麦克风阵列由均匀分布于同一圆环的多个麦克风组成,所有所述预设波束方向为均分所述圆环圆周角的各方向,所有所述预设波束方向至少包括相互垂直的四个方向;
s3:根据多个预设波束方向分别对应当前语音信号的计算结果,通过唤醒算法并行计算各所述预设波束方向分别对应的唤醒概率值;
s4:判断各所述预设波束方向分别对应的唤醒概率值是否大于第一唤醒阈值;
s5:若大于第一唤醒阈值,则根据唤醒概率大于所述第一唤醒阈值的指定波束方向,进行唤醒,其中,所述指定波束方向为唤醒概率值最大的预设波束方向。
本申请在麦克风阵列距离声源点满足一定距离时,通过并行计算的唤醒概率值直接确定声源所在的方向,以代替现有唤醒过程中的声源定位。上述声源点距离麦克风阵列的距离通过环形麦克风阵列中位于直径上的两个麦克风接收到同一语音信号的时间差,以及环形麦克风阵列的直径计算得到,无需事先获取到声源所在的方位。上述预设距离是为区别近场和远场,近场中波形为球面波,且声强大会直接认为是用户的有意唤醒动作,当检测到唤醒词时则直接进行唤醒。远场时波形为平面波,具有方向方位的区别,需要确定用户或声源所在的方位,然后再根据该方位上检测到的唤醒词进行唤醒。本申请的并行计算指麦克风阵列中多路预设波束方向接收当前语音信号后分别并行进行的计算处理,可同步得到所有预设波束方向分别对当前语音信号的计算结果,并同步得到各预设波束方向分别对应的唤醒概率值,依据最大唤醒概率值直接确定声源所在的方位,省却了现有唤醒操作中的声源定位计算过程,极大地节省了唤醒响应流程,缩短了唤醒响应时间。本申请的并行计算通过增强系统计算能力得以实现,通过并行计算确定声源方位,串行步骤少,延迟小,声源方位定位快速,不易跳动改变,唤醒词唤醒正确率提升,而且唤醒词对应声源方向抗噪性增强,因为是快速定位所以受噪音影响而引起的声源方位跳动改变甚微,几乎没有影响。上述的波束算法包括现有的将语音信号转换为波束信号中的所有算法。上述唤醒算法包括现有唤醒模型中所有的计算得到唤醒概率值的算法。上述的所有所述预设波束方向至少包括相互垂直的四个方向,即麦克风阵列所在圆环的两条垂直的直径所在方向。上述的第一唤醒阈值可根据具体的唤醒成功率进行设定。
进一步地,所述根据唤醒概率大于所述第一唤醒阈值的指定波束方向,进行唤醒的步骤s5,包括:
s51:选取与所述指定波束方向垂直的第一波束方向和第二波束方向,其中,所述第一波束方向和第二波束方向属于所有所述预设波束方向;
s52:计算所述第一波束方向、所述第二波束方向和所述指定波束方向对应的第一唤醒概率方差;
s53:判断所述第一唤醒概率方差是否小于第一预设门限值;
s54:若是,则在所述第一波束方向与所述指定波束方向之间确定第三波束方向,在所述第二波束方向与所述指定波束方向之间确定第四波束方向,其中,所述第三波束方向为均分所述第一波束方向与所述指定波束方向之间夹角的方向,所述第四波束方向为均分所述第二波束方向与所述指定波束方向之间夹角的方向;
s55:根据所述第三波束方向、所述第四波束方向以及所述指定波束方向,进行唤醒。
本申请为进一步提高确定声源方向的精准度,引入唤醒概率方差以消除随机误差造成的干扰。在确定了最大唤醒概率值对应的指定波束方向后,选取与指定波束方向垂直的两个波束方向,即在指定波束方向所在的半圆区域内通过唤醒概率方差进一步确定声源方向。通过唤醒概率方差与预设门限值的对比,来判断确定唤醒概率最大的指定波束方向为声源方向的可靠性。唤醒概率方差越小,说明异常度越低,确定唤醒概率最大的指定波束方向为声源方向的可靠性越强。因为若指定波束方向为真实的声源方向,则一定存在距离指定波束方位相同偏转角方向的唤醒概率值相当,且与指定波束方向对应的唤醒概率值差量相当,甚至差量很小。如果第一唤醒概率方差小于第一预设门限值,则通过选择距离指定波束方向更近,夹角更小的第三波束方向和第四波束方向,进一步判断指定波束方向判定为声源方向的可靠性。本申请的“第一”、“第二”等类似用语,仅用于区别,不用于限定。
进一步地,根据所述第三波束方向、所述第四波束方向以及所述指定波束方向,进行唤醒的步骤s55,包括:
s551:计算所述第三波束方向、所述第四波束方向以及所述指定波束方向,分别对所述当前语音信号的唤醒概率值;
s552:判断所述第三波束方向、所述第四波束方向和所述指定波束方向,分别对所述当前语音信号的唤醒概率值,是否存在至少一个波束方向的唤醒概率值大于第二唤醒阈值,其中,所述第二唤醒阈值大于所述第一唤醒阈值;
s553:若存在至少一个波束方向的唤醒概率值大于第二唤醒阈值,则计算所述第三波束方向、所述第四波束方向和所述指定波束方向,分别对所述当前语音信号的唤醒概率值的第二唤醒概率方差,其中,所述第二唤醒概率方差小于所述第一唤醒概率方差;
s554:判断所述第二唤醒概率方差是否小于第二预设门限,其中,所述第二预设门限小于所述第一预设门限;
s555:若小于第二预设门限,则确定所述指定波束方向为声源方向,且根据所述指定波束方向接收的语音信号进行唤醒。
本申请通过设计多级唤醒阈值以及唤醒概率方差对应的门限值,逐步验证将某一时刻测得的唤醒概率值最大的指定波束方向作为声源方向的可靠性、精准性。上述的第三波束方向相比第一波束方向距离指定波束方向的角度差异缩小,第四波束方向相比第二波束方向距离指定波束方向的角度差异也缩小,第二唤醒阈值大于所述第一唤醒阈值,第二预设门限小于所述第一预设门限,以通过在缩小各验证波束方位角度差异的前提下,逐步提高唤醒阈值、逐步缩小唤醒概率方差对应的门限值,确定声源方向,以提高声源方向定位的精准性。
本申请以在四麦环阵中,设定8个预设波束方向为例,如图2所示,8个预设波束方向包括波束方向1至8,依次间隔45度的8个方向。波束的形状由主瓣和旁瓣组成,有些波束只有主瓣,可从主瓣的覆盖范围得到波束的覆盖范围,四麦环阵中设定8个预设波束方向可覆盖四麦环阵的360圆心角对应的所有空间范围,所以本申请优选设定8个预设波束方向。对每个波束方向上进行同步的波束降噪,并行计算出8个预设波束方向上处理后的语音数据,并行进行唤醒词算法计算,得到8个预设波束方向分别对应的唤醒概率值。先比较1/3/5/7四个波束方向上的唤醒概率值,设定一个较低的第一唤醒阈值p1。如果1/3/5/7四个波束方向上存在任一唤醒概率值大于p1,比如波束方向3的唤醒概率值大于p1且最大,则直接确定波束方向3为声源方向。为进一步提升声源方向确定的精准度,可通过计算1/3/5三个波束方向的唤醒概率方差,如果唤醒概率方差小于第一预设门限sigma1,继续缩小与波束方向3的偏角差异小,通过2/4两个波束方向的波束和波束方向3一起再次判断声源方向,以增强将唤醒概率值最大的波束方向3作为声源方向的可靠性。用2/3/4三个波束方向的唤醒概率值,与高于第一唤醒概率值的p2比较,如果2/3/4三个波束方向的存在任一唤醒概率值大于p2,则计算2/3/4三个波束方向的唤醒概率值方差,如果唤醒概率值方差小于相比于第一预设门限的第二预设门限sigma2,则认为该方向就是声源方向,可触发唤醒。本实施例中可将8个预设波束方向进行并行同步计算处理,也可先并行计算相互垂直的1/3/5/7四个波束方向,然后再根据需要添加需要计算的2/4两个波束方向再次并行计算,可根据系统的实际计算能力以及硬件配置进行合理选择。本申请中具体的第一唤醒阈值p1、第二唤醒阈值p2,根据实验中获得的不同唤醒正确率得到。唤醒正确率跟正唤醒率和误唤醒率有关,相同的唤醒正确率可能对应不同的正唤醒率和误唤醒率,比如同一较低的唤醒阀值,对应唤醒率98%、误唤醒率30%;或者对应唤醒率90%、误唤醒率3%。所以本申请的唤醒阈值根据实验数据的分布规律结合唤醒任务的要求进行合理设定。
进一步地,所述判断所述第一唤醒概率方差是否小于第一预设门限值的步骤s53之后,包括:
s531:若不小于第一预设门限值,则在所述第一波束方向与所述指定波束方向之间确定多个第五波束方向,在所述第二波束方向与所述指定波束方向之间确定多个第六波束方向,其中,所述第五波束方向为均分所述第一波束方向与所述指定波束方向之间夹角的多个方向,所述第六波束方向为均分所述第二波束方向与所述指定波束方向之间夹角的多个方向;
s532:计算与所述指定波束方向之间的夹角最小的指定第五波束方向对所述当前语音信号的第一唤醒概率值,以及与所述指定波束方向之间的夹角最小的指定第六波束方向对所述当前语音信号的第二唤醒概率值;
s533:判断所述第一唤醒概率值是否大于所述第二唤醒概率值,且大于所述指定波束方向对应的唤醒概率值;
s534:若是,则计算除指定第五波束方向之外的剩余第五波束方向,对所述当前语音信号的唤醒概率值;
s535:确定所有第五波束方向上最大唤醒概率值对应的目标波束方向;
s536:确定所述目标波束方向为声源方向,且根据所述目标波束方向接收的语音信号进行唤醒。
本申请若第一唤醒概率方差小于第一预设门限值,说明存在随机误差的干扰,直接将唤醒概率值最大的指定波束方向作为声源方向,存在偏差,需要再次精准地计算确定唤醒概率值最大的波束方向。本申请通过将原确定的唤醒概率值最大的指定波束方向作为参考基准,则在第一波束方向与指定波束方向之间确定多个第五波束方向,在第二波束方向与指定波束方向之间确定多个第六波束方向,比如以指定波束方向为对称轴,对称地划分两个第五波束方向以及两个第六波束方向,比如使原8个预设波束方向变为16个预设波束方向。然后通过并行计算新增的两个第五波束方向以及两个第六波束方向、指定波束方向上的唤醒概率值,以重新确定唤醒概率值最大的波束方向,比如其中一条第五波束方向对应的唤醒概率值最大,则确定该第五波束方向为声源方向。可通过上述指定波束方向的多级唤醒阈值以及唤醒概率方差对应的门限值进行验证可靠性,过程同上,不赘述。
进一步地,所述判断麦克风阵列距离声源点的距离是否大于预设距离的步骤s1,包括:
s11:获取当前所述麦克风阵列在所述第一波束方向和所述第二波束方向上分别对应的第一波束信号和第二波束信号;
s12:通过函数
s13:判断所述相关值是否小于预设值;
s14:若是,则判定麦克风阵列距离声源点的距离大于预设距离。
本申请通过判断第一波束信号和第二波束信号的相关在指定频率上的相关性,判断声源距离麦克风阵列的距离,使用波束的后处理数据进行互相关计算,根据近场相关性高,远场相关性就会变低的原理,确定当前声源处于近场还是远场。上述预设值为通过实验测试得到的远场和近场的临界点对应的相关值。
进一步地,所述判断麦克风阵列距离声源点的距离是否大于预设距离的步骤s1,包括:
s101:计算所述声源点在对应的子阵列坐标系的方向向量;
s102:将所述声源点在对应的子阵列坐标系的方向向量,归化到公共坐标系;
s103:根据各所述子阵列坐标系的原点坐标和各方向坐标,分别联立直线方程得到直线方程组;
s104:根据所述直线方程组判断各所述直线方程对应的直线是否异面;
s105:若否,判断各所述直线方程对应的直线的交点是否在预设角度范围内;
s106:若是,则判定所述交点的坐标位置,为所述声源点在所述公共坐标系的坐标位置;
s107:根据所述声源点在所述公共坐标系的坐标位置,计算所述麦克风阵列距离所述声源点的距离;
s108:比较所述麦克风阵列距离所述声源点的距离,与所述预设距离的大小。
本申请另一实施例中,系统在计算后得到声源点在对应的子阵列坐标系的方向向量
参照图3,本申请一实施例还提供了一种唤醒装置,包括:
第一判断模块1,用于判断麦克风阵列距离声源点的距离是否大于预设距离;
第一计算模块2,用于若麦克风阵列距离声源点的距离是否大于预设距离,则通过波束算法并行计算所述麦克风阵列中所有预设波束方向分别对当前语音信号的计算结果,其中,所述麦克风阵列由均匀分布于同一圆环的多个麦克风组成,所有所述预设波束方向为均分所述圆环圆周角的各方向,所有所述预设波束方向至少包括相互垂直的四个方向;
第二计算模块3,用于根据多个预设波束方向分别对应当前语音信号的计算结果,通过唤醒算法并行计算各所述预设波束方向分别对应的唤醒概率值;
第二判断模块4,用于判断各所述预设波束方向分别对应的唤醒概率值是否大于第一唤醒阈值;
唤醒模块5,用于若各所述预设波束方向分别对应的唤醒概率值大于第一唤醒阈值,则根据唤醒概率大于所述第一唤醒阈值的指定波束方向,进行唤醒,其中,所述指定波束方向为唤醒概率值最大的预设波束方向。
本申请在麦克风阵列距离声源点满足一定距离时,通过并行计算的唤醒概率值直接确定声源所在的方向,以代替现有唤醒过程中的声源定位。上述声源点距离麦克风阵列的距离通过环形麦克风阵列中位于直径上的两个麦克风接收到同一语音信号的时间差,以及环形麦克风阵列的直径计算得到,无需事先获取到声源所在的方位。上述预设距离是为区别近场和远场,近场中波形为球面波,且声强大会直接认为是用户的有意唤醒动作,当检测到唤醒词时则直接进行唤醒。远场时波形为平面波,具有方向方位的区别,需要确定用户或声源所在的方位,然后再根据该方位上检测到的唤醒词进行唤醒。本申请的并行计算指麦克风阵列中多路预设波束方向接收当前语音信号后分别并行进行的计算处理,可同步得到所有预设波束方向分别对当前语音信号的计算结果,并同步得到各预设波束方向分别对应的唤醒概率值,依据最大唤醒概率值直接确定声源所在的方位,省却了现有唤醒操作中的声源定位计算过程,极大地节省了唤醒响应流程,缩短了唤醒响应时间。本申请的并行计算通过增强系统计算能力得以实现,通过并行计算确定声源方位,串行步骤少,延迟小,声源方位定位快速,不易跳动改变,唤醒词唤醒正确率提升,而且唤醒词对应声源方向抗噪性增强,因为是快速定位所以受噪音影响而引起的声源方位跳动改变甚微,几乎没有影响。上述的波束算法包括现有的将语音信号转换为波束信号中的所有算法。上述唤醒算法包括现有唤醒模型中所有的计算得到唤醒概率值的算法。上述的所有所述预设波束方向至少包括相互垂直的四个方向,即麦克风阵列所在圆环的两条垂直的直径所在方向。上述的第一唤醒阈值可根据具体的唤醒成功率进行设定。
进一步地,所述唤醒模块5,包括:
选取单元,用于选取与所述指定波束方向垂直的第一波束方向和第二波束方向,其中,所述第一波束方向和第二波束方向属于所有所述预设波束方向;
第一计算单元,用于计算所述第一波束方向、所述第二波束方向和所述指定波束方向对应的第一唤醒概率方差;
第一判断单元,用于判断所述第一唤醒概率方差是否小于第一预设门限值;
第一确定单元,用于若所述第一唤醒概率方差小于第一预设门限值,则在所述第一波束方向与所述指定波束方向之间确定第三波束方向,在所述第二波束方向与所述指定波束方向之间确定第四波束方向,其中,所述第三波束方向为均分所述第一波束方向与所述指定波束方向之间夹角的方向,所述第四波束方向为均分所述第二波束方向与所述指定波束方向之间夹角的方向;
唤醒单元,用于根据所述第三波束方向、所述第四波束方向以及所述指定波束方向,进行唤醒。
本申请为进一步提高确定声源方向的精准度,引入唤醒概率方差以消除随机误差造成的干扰。在确定了最大唤醒概率值对应的指定波束方向后,选取与指定波束方向垂直的两个波束方向,即在指定波束方向所在的半圆区域内通过唤醒概率方差进一步确定声源方向。通过唤醒概率方差与预设门限值的对比,来判断确定唤醒概率最大的指定波束方向为声源方向的可靠性。唤醒概率方差越小,说明异常度越低,确定唤醒概率最大的指定波束方向为声源方向的可靠性越强。因为若指定波束方向为真实的声源方向,则一定存在距离指定波束方位相同偏转角方向的唤醒概率值相当,且与指定波束方向对应的唤醒概率值差量相当,甚至差量很小。如果第一唤醒概率方差小于第一预设门限值,则通过选择距离指定波束方向更近,夹角更小的第三波束方向和第四波束方向,进一步判断指定波束方向判定为声源方向的可靠性。本申请的“第一”、“第二”等类似用语,仅用于区别,不用于限定。
进一步地,所述唤醒单元,包括:
第一计算子单元,用于计算所述第三波束方向、所述第四波束方向以及所述指定波束方向,分别对所述当前语音信号的唤醒概率值;
第一判断子单元,用于判断所述第三波束方向、所述第四波束方向和所述指定波束方向,分别对所述当前语音信号的唤醒概率值,是否存在至少一个波束方向的唤醒概率值大于第二唤醒阈值,其中,所述第二唤醒阈值大于所述第一唤醒阈值;
第二计算子单元,用于若存在至少一个波束方向的唤醒概率值大于第二唤醒阈值,则计算所述第三波束方向、所述第四波束方向和所述指定波束方向,分别对所述当前语音信号的唤醒概率值的第二唤醒概率方差,其中,所述第二唤醒概率方差小于所述第一唤醒概率方差;
第二判断子单元,用于判断所述第二唤醒概率方差是否小于第二预设门限,其中,所述第二预设门限小于所述第一预设门限;
确定子单元,用于若小于第二预设门限,则确定所述指定波束方向为声源方向,且根据所述指定波束方向接收的语音信号进行唤醒。
本申请通过设计多级唤醒阈值以及唤醒概率方差对应的门限值,逐步验证将某一时刻测得的唤醒概率值最大的指定波束方向作为声源方向的可靠性、精准性。上述的第三波束方向相比第一波束方向距离指定波束方向的角度差异缩小,第四波束方向相比第二波束方向距离指定波束方向的角度差异也缩小,第二唤醒阈值大于所述第一唤醒阈值,第二预设门限小于所述第一预设门限,以通过在缩小各验证波束方位角度差异的前提下,逐步提高唤醒阈值、逐步缩小唤醒概率方差对应的门限值,确定声源方向,以提高声源方向定位的精准性。
本申请以在四麦环阵中,设定8个预设波束方向为例,如图2所示,8个预设波束方向包括波束方向1至8,依次间隔45度的8个方向。波束的形状由主瓣和旁瓣组成,有些波束只有主瓣,可从主瓣的覆盖范围得到波束的覆盖范围,四麦环阵中设定8个预设波束方向可覆盖四麦环阵的360圆心角对应的所有空间范围,所以本申请优选设定8个预设波束方向。对每个波束方向上进行同步的波束降噪,并行计算出8个预设波束方向上处理后的语音数据,并行进行唤醒词算法计算,得到8个预设波束方向分别对应的唤醒概率值。先比较1/3/5/7四个波束方向上的唤醒概率值,设定一个较低的第一唤醒阈值p1。如果1/3/5/7四个波束方向上存在任一唤醒概率值大于p1,比如波束方向3的唤醒概率值大于p1且最大,则直接确定波束方向3为声源方向。为进一步提升声源方向确定的精准度,可通过计算1/3/5三个波束方向的唤醒概率方差,如果唤醒概率方差小于第一预设门限sigma1,继续缩小与波束方向3的偏角差异小,通过2/4两个波束方向的波束和波束方向3一起再次判断声源方向,以增强将唤醒概率值最大的波束方向3作为声源方向的可靠性。用2/3/4三个波束方向的唤醒概率值,与高于第一唤醒概率值的p2比较,如果2/3/4三个波束方向的存在任一唤醒概率值大于p2,则计算2/3/4三个波束方向的唤醒概率值方差,如果唤醒概率值方差小于相比于第一预设门限的第二预设门限sigma2,则认为该方向就是声源方向,可触发唤醒。本实施例中可将8个预设波束方向进行并行同步计算处理,也可先并行计算相互垂直的1/3/5/7四个波束方向,然后再根据需要添加需要计算的2/4两个波束方向再次并行计算,可根据系统的实际计算能力以及硬件配置进行合理选择。本申请中具体的第一唤醒阈值p1、第二唤醒阈值p2,根据实验中获得的不同唤醒正确率得到。唤醒正确率跟正唤醒率和误唤醒率有关,相同的唤醒正确率可能对应不同的正唤醒率和误唤醒率,比如同一较低的唤醒阀值,对应唤醒率98%、误唤醒率30%;或者对应唤醒率90%、误唤醒率3%。所以本申请的唤醒阈值根据实验数据的分布规律结合唤醒任务的要求进行合理设定。
进一步地,本申请另一实施例的唤醒模块5,包括:
第二确定单元,用于若不小于第一预设门限值,则在所述第一波束方向与所述指定波束方向之间确定多个第五波束方向,在所述第二波束方向与所述指定波束方向之间确定多个第六波束方向,其中,所述第五波束方向为均分所述第一波束方向与所述指定波束方向之间夹角的多个方向,所述第六波束方向为均分所述第二波束方向与所述指定波束方向之间夹角的多个方向;
第二计算单元,用于计算与所述指定波束方向之间的夹角最小的指定第五波束方向对所述当前语音信号的第一唤醒概率值,以及与所述指定波束方向之间的夹角最小的指定第六波束方向对所述当前语音信号的第二唤醒概率值;
第二判断单元,用于判断所述第一唤醒概率值是否大于所述第二唤醒概率值,且大于所述指定波束方向对应的唤醒概率值;
第二计算单元,用于若第一唤醒概率值大于所述第二唤醒概率值,且大于所述指定波束方向对应的唤醒概率值,则计算除指定第五波束方向之外的剩余第五波束方向,对所述当前语音信号的唤醒概率值;
第三确定单元,用于确定所有第五波束方向上最大唤醒概率值对应的目标波束方向;
第四确定单元,用于确定所述目标波束方向为声源方向,且根据所述目标波束方向接收的语音信号进行唤醒。
本申请若第一唤醒概率方差小于第一预设门限值,说明存在随机误差的干扰,直接将唤醒概率值最大的指定波束方向作为声源方向,存在偏差,需要再次精准地计算确定唤醒概率值最大的波束方向。本申请通过将原确定的唤醒概率值最大的指定波束方向作为参考基准,则在第一波束方向与指定波束方向之间确定多个第五波束方向,在第二波束方向与指定波束方向之间确定多个第六波束方向,比如以指定波束方向为对称轴,对称地划分两个第五波束方向以及两个第六波束方向,比如使原8个预设波束方向变为16个预设波束方向。然后通过并行计算新增的两个第五波束方向以及两个第六波束方向、指定波束方向上的唤醒概率值,以重新确定唤醒概率值最大的波束方向,比如其中一条第五波束方向对应的唤醒概率值最大,则确定该第五波束方向为声源方向。可通过上述指定波束方向的多级唤醒阈值以及唤醒概率方差对应的门限值进行验证可靠性,过程同上,不赘述。
进一步地,第一判断模块1,包括:
第一获取单元,用于获取当前所述麦克风阵列在所述第一波束方向和所述第二波束方向上分别对应的第一波束信号和第二波束信号;
第三计算单元,用于通过函数
第三判断单元,用于判断所述相关值是否小于预设值;
判定单元,用于若是,则判定麦克风阵列距离声源点的距离大于预设距离。
本申请通过判断第一波束信号和第二波束信号的相关在指定频率上的相关性,判断声源距离麦克风阵列的距离,使用波束的后处理数据进行互相关计算,根据近场相关性高,远场相关性就会变低的原理,确定当前声源处于近场还是远场。上述预设值为通过实验测试得到的远场和近场的临界点对应的相关值。
本申请另一实施例中,系统在计算后得到声源点在对应的子阵列坐标系的方向向量
参照图4,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储唤醒过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现唤醒方法。
上述处理器执行上述唤醒方法,包括:判断麦克风阵列距离声源点的距离是否大于预设距离;若是,则通过波束算法并行计算所述麦克风阵列中所有预设波束方向分别对当前语音信号的计算结果,其中,所述麦克风阵列由均匀分布于同一圆环的多个麦克风组成,所有所述预设波束方向为均分所述圆环圆周角的各方向,所有所述预设波束方向至少包括相互垂直的四个方向;根据多个预设波束方向分别对应当前语音信号的计算结果,通过唤醒算法并行计算各所述预设波束方向分别对应的唤醒概率值;判断各所述预设波束方向分别对应的唤醒概率值是否大于第一唤醒阈值;若是,则根据唤醒概率大于所述第一唤醒阈值的指定波束方向,进行唤醒,其中,所述指定波束方向为唤醒概率值最大的预设波束方向。
上述计算机设备,通过对环形麦克风阵列中均匀分布的多个波束方向,并行处理语音信号,并通过获取最大唤醒概率,确定声源方向,避免了现有声源定位中串行处理带来的各种弊端,对声源所处方向的确定更精准且时效短,提高了唤醒效果。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现唤醒方法,包括:判断麦克风阵列距离声源点的距离是否大于预设距离;若是,则通过波束算法并行计算所述麦克风阵列中所有预设波束方向分别对当前语音信号的计算结果,其中,所述麦克风阵列由均匀分布于同一圆环的多个麦克风组成,所有所述预设波束方向为均分所述圆环圆周角的各方向,所有所述预设波束方向至少包括相互垂直的四个方向;根据多个预设波束方向分别对应当前语音信号的计算结果,通过唤醒算法并行计算各所述预设波束方向分别对应的唤醒概率值;判断各所述预设波束方向分别对应的唤醒概率值是否大于第一唤醒阈值;若是,则根据唤醒概率大于所述第一唤醒阈值的指定波束方向,进行唤醒,其中,所述指定波束方向为唤醒概率值最大的预设波束方向。
上述计算机可读存储介质,通过对环形麦克风阵列中均匀分布的多个波束方向,并行处理语音信号,并通过获取最大唤醒概率,确定声源方向,避免了现有声源定位中串行处理带来的各种弊端,对声源所处方向的确定更精准且时效短,提高了唤醒效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除