本发明涉及信号处理领域,尤其涉及一种基于麦克风阵列的拾音方法及系统。
背景技术:
录制高质量的语音信号对语音识别等语音分析方法有着至关重要的作用。传统采用单麦克风录音的方式在远距离高噪声环境下录音质量急剧下降,这极大的限制了语音分析方法的应用场景。因此手机上的语音输入法和语音搜索等应用必须保证说话人离手机话筒的距离足够近,这种拾音环境都归为近场拾音。
使用麦克风阵列录音能够利用多通道的语音信号数据进行后期处理,从而抑制噪声,增强目标语音信号。所以在远场拾音中,麦克风阵列成为必不可少的拾音设备。使用麦克风阵列进行拾音的一般步骤为:第一步,确定说话人的位置;第二步,利用波束形成技术对语音信号进行增强。
然而上述方法在实际使用过程中存在以下问题:(1)并不是所有的时刻都有说话人在讲话,同时并非所有时刻的语音都需要进行拾取,这种情况在近场环境中通过按下开始录音键可以轻松解决,但是在远场环境中却不容易进行处理;(2)当有多个说话人的时候很难确定哪一个是需要拾音的说话人。
技术实现要素:
为了解决以上问题,本发明的目的在于提供一种基于麦克风阵列的拾音方法及系统。
一种基于麦克风阵列的拾音方法,其中,包括以下步骤:
步骤1,使用一麦克风阵列拾取并输出的多路语音信号中的其中一路语音
信号进行语音激活检测,判断是否出现语音激活信号,如果是,执行步骤
2,如果否,重复步骤1;
步骤2,利用所述麦克风阵列输出的多路语音信号进行声源定位,获得声源定位方向;
步骤3,对所述声源定位方向的语音信号进行语音增强,获得增强过的语音信号;
步骤4,对所述增强过的语音信号进行语音唤醒检测,判断是否检测到语音唤醒,如果是,执行步骤5,否则,重复步骤1;
步骤5,所述麦克风阵列拾取并输出多路语音信号;
步骤6,将所述麦克风阵列拾取的多路语音信号处理为一路增强后的语音,作为最终所拾取到的音输出。
本发明的基于麦克风阵列的拾音方法,所述步骤5为:一指向所述声源定位方向的拾音指示灯被点亮,同时所述麦克风阵列拾取并输出多路语音信号。
本发明的基于麦克风阵列的拾音方法,所述步骤1的具体方法如下:
步骤11,自所述麦克风阵列捕获的多路语音信号中选取一路语音信号;
步骤12,检测所述语音信号中说话者的语音起始点及语音结束点;
步骤13,依据所述语音起始点至所述语音结束点之间的信号判断是否出现语音激活信号,如果是,执行步骤2,否则,重复步骤1。
本发明的基于麦克风阵列的拾音方法,所述步骤2中声源定位的具体步骤为:
依据所述麦克风阵列中的至少两个麦克风接收到的信号时间差获取所述发声声源所在的位置作为声源定位方向。
本发明的基于麦克风阵列的拾音方法,所述步骤3中语音增强的具体步骤为:对所述声源定位方向的语音信号进行噪声抑制,获取一增强过的语音信号。
本发明的基于麦克风阵列的拾音方法,所述步骤4的具体步骤为:将所述增强过的语音信号送入一语音唤醒模型,检测所述增强过的语音信号中是否包含设定的唤醒词,如果没有,转至步骤1,如果有,执行步骤5。
本发明的基于麦克风阵列的拾音方法,所述步骤6中,对所述拾音指示灯所指方向的语音进行增强。
本发明的基于麦克风阵列的拾音方法,所述步骤5之后执行所述步骤6的同时,还包括依据所述步骤5获取的多路语音信号执行步骤1至步骤5。
本发明还提供一种基于麦克风阵列的拾音系统,包括:
麦克风阵列,包括多个麦克风单元,多个所述麦克风单元用于拾取并输出多路语音信号;
语音激活单元,与所述麦克风阵列连接,依据所述多路语音信号中的至少一路语音信号进行语音激活检测,输出语音激活结果信号或语音未激活结果信号;
声源定位单元,于一受所述语音激活结果信号控制下导通的第一受控开关作用下与所述麦克风阵列连接,并依据所述多路语音信号进行声源定位确定声源定位方向;
第一语音增强单元,与所述声源定位单元连接,对所述声源定位方向的语音信号进行语音增强,获得增强过的语音信号;
语音唤醒检测单元,与所述第一语音增强单元连接,对所述增强过的语音信号进行语音唤醒检测,并输出一语音唤醒结果信号或语音未唤醒结果信号;
第二语音增强单元,于一受所述语音唤醒结果信号控制下导通的第二受控开关作用下与所述麦克风阵列连接,将所述麦克风阵列的多路语音信号处理为一路增强后的语音,作为最终所拾取到的音输出。
本发明的基于麦克风阵列的拾音系统,所述麦克风阵列为多颗麦克风单元组成的平面环形结构,多个拾音指示灯沿所述平面环形结构的环绕方向设置,所述拾音指示灯用于指示所述声源定位方向。
有益效果:本发明针对当前语音识别技术在不同场景和不同需求下日益广泛的应用,提出了一种基于麦克风阵列的拾音方法和系统,能够更好地对远场环境下的语音信号进行拾取,尤其在高噪声环境下能够准确的拾音,为远距离的语音控制提供了优秀的解决方案;同时本发明利用语音唤醒和语音检测也能够降低麦克风阵列数据处理的计算量,从而减少能量损耗,既降低了能源的消耗,又能节约成本。
附图说明
图1为本发明的一种具体实施例的方法流程图;
图2是本发明的另一种具体实施例的方法流程图;
图3是本发明的系统结构图;
图4是本发明的麦克风阵列结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
一种基于麦克风阵列的拾音方法,其中,包括以下步骤:
步骤1,使用一麦克风阵列拾取并输出的多路语音信号中的其中一路语音
信号进行语音激活检测,判断是否出现语音激活信号,如果是,执行步骤
2,如果否,重复步骤1;
步骤2,利用麦克风阵列输出的多路语音信号进行声源定位,获得声源定位方向;
步骤3,对声源定位方向的语音信号进行语音增强,获得增强过的语音信号;
步骤4,对增强过的语音信号进行语音唤醒检测,判断是否检测到语音唤醒,如果是,执行步骤5,否则,重复步骤1;
步骤5,麦克风阵列拾取并输出多路语音信号;
步骤6,将麦克风阵列拾取的多路语音信号处理为一路增强后的语音,作为最终所拾取到的音输出。
本发明针对当前语音识别技术在不同场景和不同需求下日益广泛的应用,通过语音唤醒来判断开始拾音的方式,使设备进入拾音状态,进而对说话人的语音进行增强。能够更好地对远场环境下的语音信号进行拾取,尤其在高噪声环境下能够准确的拾音。
作为本发明的一种优选的实施例,步骤5为:一指向声源定位方向的拾音指示灯被点亮,同时麦克风阵列拾取并输出多路语音信号。
拾音指示灯是语音交互的一种体现手段,用来提示用户目前的拾音方向。在语音唤醒之后,拾音指示灯会指向声源的方向,如果此方向是用户的方向,那么用户就可知道后续说的话将会被系统拾音,如果指示灯的方向不是用户的方向,用户也会明白自己的话不会被系统拾音,从而决定是否重新唤醒。
作为本发明的一种优选实施例,步骤6中,对拾音指示灯所指方向的语音进行增强。
这种交互方式通过提示即将拾音和进行语音增强的方向,使得当说话人看到拾音指示灯指向自己的时候,就知道此方向可以进行拾音;如果指向了其它方向,或者没有亮起,就需要重新使用唤醒词进行语音唤醒。这对设备的正确和高效的使用提供了一种简洁的引导。
本发明的基于麦克风阵列的拾音方法,步骤1的具体方法如下:
步骤11,自麦克风阵列捕获的多路语音信号中选取一路语音信号;
步骤12,检测语音信号中说话者的语音起始点及语音结束点;
步骤13,依据语音起始点至语音结束点之间的信号判断是否出现语音激活信号,如果是,执行步骤2,否则,重复步骤1。
上述的语音激活检测步骤当有人说话的时候,给出语音开始点,当说话结束时,给出语音结束点。在整个流程中,只需麦克风阵列的任意一路信号即可进行语音激活检测。语音激活检测可以采用现有技术的语音激活检测方法实现。
本发明的基于麦克风阵列的拾音方法,步骤2中声源定位的具体步骤为:依据麦克风阵列中的至少两个麦克风接收到的信号时间差获取发声声源所在的位置作为声源定位方向。声源定位方法可以采用波束形成技术实现。
本发明的基于麦克风阵列的拾音方法,步骤3中语音增强的具体步骤为:对声源定位方向的语音信号进行噪声抑制,获取一增强过的语音信号。
利用麦克风阵列进行语音增强可以在声源的方向上获得更高信噪比的语音信号,达到语音增强的目的。从而有利于后续的处理。
本发明的基于麦克风阵列的拾音方法,步骤4的具体步骤为:将增强过的语音信号送入一语音唤醒模型,检测增强过的语音信号中是否包含设定的唤醒词,如果没有,转至步骤1,如果有,执行步骤5。
步骤4中通过检测语音信号是否包含设定的唤醒词,进而决定是否进入唤醒状态,如果没有唤醒,则系统不采取响应,继续进行激活检测来判断有其他语音进入。如果唤醒,就亮起拾音指示灯,进入下一步骤。
一种优选的实施例,步骤5之后执行步骤6的同时,还包括依据步骤5获取的多路语音信号执行步骤1至步骤5。
在对拾音指示灯的方向进行拾音的同时,麦克风阵列会对所有方向的语音进行持续录制。这些数据一方面会进入拾音数据流部分,得到最终的拾音;另一方面也会在唤醒数据流中进行循环工作。这是为了保证其他方向上的用户也说出了激活词的情况,或者是拾音指示灯并没有指向用户方向的情况。这时如果唤醒成功,拾音指示灯会转向新的声源方向,继而拾音数据流会在新的方向上拾音,同时唤醒数据流仍然在所有的方向上进行持续的判断。
该优选的实施例下具体拾音流程为:使用麦克风阵列的任意一路信号进行语音激活检测;当检测到语音激活信号之后,利用麦克风阵列进行声源定位;根据声源定位结果,对声源定位方向的语音信号进行语音增强;将增强过的语音信号送入到语音唤醒模型进行语音唤醒检测;当检测到语音唤醒后,拾音指示灯亮起,并指向声源的方向;对指示灯的方向进行语音增强,并进行语音激活检测,当检测到语音后,进行拾音。最后,在进行拾音的同时,仍然会检测新方向的唤醒,一旦发现在新方向上有新的唤醒,那么拾音指示灯会指向新的唤醒方向,并一直重复此步骤。
本发明还提供一种基于麦克风阵列的拾音系统,参照图3,包括:
麦克风阵列,包括多个麦克风单元,多个麦克风单元用于拾取并输出多路语音信号;
语音激活单元11,与麦克风阵列连接,依据多路语音信号中的至少一路语音信号进行语音激活检测,输出语音激活结果信号或语音未激活结果信号;
声源定位单元12,于一受语音激活结果信号控制下导通的第一受控开关SK1作用下与麦克风阵列连接,并依据多路语音信号进行声源定位确定声源定位方向;
第一语音增强单元13,与声源定位单元12连接,对声源定位方向的语音信号进行语音增强,获得增强过的语音信号;
语音唤醒检测单元14,与第一语音增强单元13连接,对增强过的语音信号进行语音唤醒检测,并输出一语音唤醒结果信号或语音未唤醒结果信号;
第二语音增强单元15,于一受语音唤醒结果信号控制下导通的第二受控开关SK2作用下与麦克风阵列连接,将麦克风阵列的多路语音信号处理为一路增强后的单路语音信号,作为最终所拾取到的音输出。
参照图3,整个拾音流程中,共有2个数据流。一个是唤醒数据流,一个是拾音数据流。唤醒数据流时时刻刻都在运行,但并不是所有的时刻这些模块都在工作,只有语音激活模块检测到语音激活,图3中的第一受控开关SK1打开,数据才会向后流入到声源定位单元12、第一语音增强单元13和语音唤醒检测单元14,而通常大部分时刻声源定位单元12、第一语音增强单元13和语音唤醒检测单元14这三个模块是不工作的,这样会更加节省资源。
当语音唤醒时,拾音指示灯亮起,并指向拾音的方向。这时图3中的第二受控开关SK2打开,拾音数据流开始工作。当语音唤醒再次给出信号时,拾音指示灯指向新的方向,在新的方向进行拾音。直到拾音数据流没有语音时,拾音数据流关闭。
本发明的基于麦克风阵列的拾音系统,麦克风阵列可以为多颗麦克风单元组成的平面环形结构,参照图4,该麦克风阵列中共包含8颗麦克风单元,8颗麦克风单元呈对称结构,使得对各个方向的信号都能同等的对待和处理。多个拾音指示灯沿平面环形结构的环绕方向设置,可以指向平面的各个方向,用于指示所述声源定位方向。
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。