语音唤醒的控制方法及装置与流程

文档序号:16684397发布日期:2019-01-19 00:48阅读:296来源:国知局
语音唤醒的控制方法及装置与流程

本发明涉及语音唤醒技术领域,具体涉及一种语音唤醒的控制方法及装置。



背景技术:

语音唤醒技术也被称为关键词检测,指的是在设备待机状态下,使用者说出特定的语音指令,从而使设备进入工作状态或者完成某种操作,语音唤醒技术已经应用于多个领域,越来越多的终端设备都具有了语音唤醒功能。

但是,目前存在的使用语音唤醒功能的设备,需要长时间使其处于待机状态,使得功耗较高,因此如何降低语音唤醒技术的功耗成了一个亟需解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种语音唤醒的控制方法及装置,以解决语音唤醒的高功耗问题。

为实现以上目的,本发明采用如下技术方案:

一种语音唤醒的控制方法,所述方法包括:

采集周围音频信号;

根据预设规则,判断所述音频信号是否为人声信号;

若是,启动语音唤醒功能。

进一步地,上述所述预设规则,判断所述音频信号是否为人声信号,包括:

通过高通滤波的预加重处理得到第一音频信号;

对所述第一音频信号进行分帧处理得到至少两个单帧音频信号;

对每个所述单帧音频信号乘以一个平滑的窗函数,并做傅里叶变换处理得到所述单帧音频信号频谱;

检测所述单帧音频信号频谱与所述人声信号的频谱是否一致;

若一致,则所述音频信号为人声信号。

进一步地,上述所述预设规则,判断所述音频信号是否为人声信号,包括:

获取所述音频信号功率谱;

对所述音频信号进行分频处理得到第一频率段;

确定所述第一频率段的能量与所述音频信号功率谱的总能量的比值;

判断所述比值是否大于第一预设阈值;

若是,确定所述音频信号为人声信号。

进一步地,上述所述获取所述音频信号功率谱,包括:

对所述音频信号进行采样得到对应的模拟信号;

将所述模拟信号转换为数字信号;

对所述数字信号进行离散傅里叶变换处理,得到所述音频信号在频域的第一有限长序列;

对所述第一有限长序列的幅度频谱进行平方计算得到第二有限长序列作为所述音频信号功率谱。

进一步地,上述所述第一频率段包括至少两个第一子频率段;

每个所述第一子频率段均设置有对应的第一子预设阈值;

确定所述第一子频率段的能量与所述音频信号功率谱的总能量的比值;

检测所述比值是否大于所述第一子预设阈值;

若是,确定所述音频信号为人声信号。

进一步地,上述所述控制方法还包括;

对所述音频信号进行分频处理得到第二频率段;

确定所述第二频率段的能量与所述音频信号功率谱的总能量的比值;

检测所述比值是否大于所述第二预设阈值;

若是,确定所述音频信号为噪声信号;

对应地,所述第二频率段包括至少两个第二子频率段;

每个所述第二子频率段均设置有对应的第二子预设阈值;

确定所述第二子频率段的能量与所述音频信号功率谱的总能量的比值;

检测所述比值是否大于所述第二子预设阈值;

若是,确定所述音频信号为噪声信号。

一种语音唤醒的控制装置,所述装置包括:

采集模块,用于采集周围音频信号;

判断模块,用于根据预设规则,判断所述音频信号是否为人声信号;

启动模块,用于当所述音频信号为人声信号时,启动语音唤醒功能。

进一步地,上述所述判断模块具体用于:

通过高通滤波的预加重处理得到第一音频信号;

对所述第一音频信号进行分帧处理得到至少两个单帧音频信号;

对每个所述单帧音频信号乘以一个平滑的窗函数,并做傅里叶变换处理,得到所述单帧音频信号的频谱;

判断所述单帧音频信号的频谱与所述人声信号的频谱是否一致;

若一致,确定所述音频信号为人声信号。

进一步地,上述所述判断模块还用于:

获取所述音频信号功率谱;

对所述音频信号进行分频处理,得到第一频率段;

确定所述第一频率段的能量与所述音频信号功率谱的总能量的比值;

判断所述比值是否大于第一预设阈值;

若是,确定所述音频信号为人声信号。

进一步地,上述所述判断模块还用于:

对所述音频信号进行采样得到对应的模拟信号;

将所述模拟信号转换为数字信号;

对所述数字信号进行离散傅里叶变换处理,得到所述音频信号在频域的第一有限长序列;

对所述第一有限长序列的幅度频谱进行平方计算得到第二有限长序列作为所述音频信号功率谱。

本发明采用的语音唤醒技术的控制方法,通过采集周围音频信号,根据预设规则,判断所述音频信号是否为人声,若是,启动语音唤醒功能,如此设计便只有在识别到人声信号时才会开启语音唤醒功能,降低了长时间待机对能量的消耗,有效地降低了功耗,使得语音唤醒技术更好的应用于终端设备。

附图说明

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

图1是本发明实施例提供的一种语音唤醒的控制方法的流程图。

图2是本发明实施例提供的一种语音唤醒的控制装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

图1是本发明实施例提供的一种语音唤醒的控制方法的流程图。

如图1所示,本实施例的一种语音唤醒控制方法包括以下步骤;

s11、采集周围音频信号。

采集周围音频信号,采集音频信号的方法在本申请中不做要求,例如,我们准备100条语音文件来对神经网络进行训练,这100条语音信号都是3秒以上的wav文件,其中50条是人声语音,50条非人声语音。人声语音里不仅包括人在干净的环境下录制的说话语音,也包括人的吼声,笑声等表达情绪的声音以及许多人同时说同一句话的语音,非人声语音里则包括了日常的一些噪声环境,如车辆声,电脑开关机等日用品的声音,自然里的风声,还有一些如鸟叫声与虫鸣声的动物的声音。所有的语音文件的采样率都是16000hz。用来测试的语音文件是从timit语音库中随机选出来的100条人声语音信号。timit语音库是由德州仪器,麻省理工学院以及斯坦福研究院共同构建的语料库,语音采样频率为16000hz,由6300条句子组成。

s12、根据预设规则,判断音频信号是否为人声信号。

其中,根据预设规则,判断音频信号是否为人声信号,包括两种实现方式,其中一种为:本实施例中根据预设规则,判断音频信号是否为人声信号包括以下步骤;

(1)通过高通滤波的预加重处理得到第一音频信号。

在对输入的音频信号作快速傅里叶变换之前,需要对音频信号做一些预处理工作,预处理的第一步使对号预加重。当人说出的语音信号在经过声带和口腔时,声门的激励和口鼻的辐射会对语音信号产生影响,结果就是会使人说出的语音信号中大于800hz的部分按大约6db/倍频的程度衰减,因此,当我们测算语音信号频谱时,语音信号中频率越高的部分占有的频谱的成分也越少。预加重就是为了提高高频的部分,使整个信号的频谱显得更为平坦,避免输入的音频信号在执行傅里叶变换操作时的一些数值问题,同时也可以提高信号整体的信噪比,便于对音频信号进行频谱分析或者提取声学特征。预加重的高通滤波方法一般如下式所描述的,其中α一般取值为0.95或0.97。

y(t)=x(t)-αx(t-1)

(2)对第一音频信号进行分帧处理得到至少两个单帧音频信号。

在预加重之后,还需要对语音信号进行分帧。语音信号不是一个稳态信号,而是在不停变化着,而傅里叶变换适用于分析平稳的信号。因此,输入的语音信号需要在时间域上被分为许多小段,每一小段被称为一帧。对于每一帧里的语音信号,可以看成是变化不太剧烈的较平稳的信号,这使得傅里叶变换有了应用的条件。每一帧的时间长度被称为帧长,当语音信号转化为数字信号后,也可以用一个语音帧里的采样点来表示帧长,两种表示方法的转换关系为:

其中t表示一个语音帧的时间,单位为秒,n表示一个语音帧里的采样点的个数,n表示语音信号的采样率。通常一帧语音的长度为10毫秒到40毫秒。在对语音进行分帧时,相邻帧之间是有一部分是相互重叠的。对两个相邻的帧,单个帧与另一帧未重叠的部分被称为帧移,通常情况下帧移的长度是单个帧长的四分之一到二分之一。

(3)对每个单帧音频信号乘以一个平滑的窗函数,并做傅里叶变换处理得到单帧音频信号频谱。

对于单个帧里的语音信号,如果直接进行傅里叶变换,由于分帧操作相当于将输入语音信号乘以一个矩形窗函数。根据傅里叶变换的特性,时域中信号相乘对应频域中经过离散傅立叶变换后信号的卷积。因此,语音信号单个帧的频谱不同于它的真实频谱。这个现象也被称为频谱泄漏。为了减小频谱泄露的影响,在信号分帧之后,还需要对每一帧的信号进行处理,即对每一帧的语音信号乘以一个平滑的窗函数,让帧两端平滑地衰减到零,这样可以降低傅里叶变换后旁瓣的幅度,取得更高质量的频谱,这被称为信号加窗。常用的窗函数为汉宁窗函数,其形式如下式所示,其中n表示汉宁窗函数的长度。

汉宁窗函数的长度一般与帧长相同,由于汉宁窗会弱化帧与帧连接处的信号,使得这部分的信息丢失。这也要求相邻帧与帧之间有相互重叠的部分,使得因为汉宁窗丢失掉的信息得到恢复。

(4)检测单帧音频信号频谱与人声信号的频谱是否一致。

(5)若一致,则音频信号为人声信号。

通过以上步骤得到单帧信号的频谱,将得到的单帧信号的频谱与人声信号的频谱进行比较,人声信号的频谱是一定的范围值,检测获取的单帧信号频谱是否在这一范围之内,若在这一范围内,则包含该单帧信号的音频信号为人声。也可以是设置临界值,例如,人声频谱为5-12,那么当得到的单帧音频信号的频谱为9时,则可以确定包含单帧信号的语音信号为人声信号。

本实施例中根据预设规则,判断音频信号是否为人声信号还包括另一种方式,此种方式包括以下步骤;

(1)获取音频信号功率谱。

具体地,获取音频信号功率谱包括,对所述音频信号进行采样得到对应的模拟信号;将所述模拟信号转换为数字信号;对所述数字信号进行离散傅里叶变换处理,得到所述音频信号在频域的第一有限长序列;对所述第一有限长序列的幅度频谱进行平方计算得到第二有限长序列作为所述音频信号功率谱。

功率谱是功率谱密度函数的简称,它定义为单位频带内的信号功率。它表示了信号功率随着频率的变化情况,即信号功率在频域的分布状况。功率谱表示了信号功率随着频率的变化关系。在我们处理一段输入的语音信号时,设备并不能处理完整的模拟语音信号,而是会对输入的语音信号以一定的频率进行采样,用采样后的离散点序列来表示输入的语音信号,即对语音信号进行模拟信号转为数字信号的转化,对模拟信号进行采样时所用的频率被称为采样率。对数字化后的语音信号进行离散傅里叶变换,变换之后会得到输入信号在频率域的有限长序列,它的幅度频谱的平方所组成的有限长序列,就被称为信号的功率谱。通过信号的功率谱我们可以观察信号在不同频率的能量分布情况,这个我们识别人声提供了机会。

(2)对音频信号进行分频处理得到第一频率段。

(3)确定第一频率段的能量与音频信号功率谱的总能量的比值。

(4)判断比值是否大于第一预设阈值。

(5)若是,确定音频信号为人声信号。

进一步地,第一频率段包括至少两个第一子频率段,每个第一子频率段均设置有对应的第一子预设阈值,确定第一子频率段的能量与音频信号功率谱的总能量的比值,检测比值是否大于第一子预设阈值,若是,确定音频信号为人声信号。

由于人声信号的频率是固定在一个频率段,而在考虑统计大多数人说话的频率时,这个频段一般较大,因此若直接对这整个频段进行阈值估计会增加将噪声识别为人声信号机率。为了提高精度,可以采用的办法是进行分段评估,将大频段分为几个小段或者选择大频段内的几个小频段并对小频段各自设定阈值,当有一个频段超过设置的阈值时,认为该条输入的语音为人声。

进一步地,还可以对音频信号进行分频处理得到第二频率段,确定第二频率段的能量与音频信号功率谱的总能量的比值,检测比值是否大于第二预设阈值,若是,确定音频信号为噪声信号,与之相对应地,第二频率段包括至少两个第二子频率段,每个第二子频率段均设置有对应的第二子预设阈值,确定第二子频率段的能量与音频信号功率谱的总能量的比值,检测比值是否大于第二子预设阈值,若是,确定音频信号为噪声信号。

噪声可能会在已设定好的某些频段内超过设置的阈值,从而造成识别的错误,增大识别的误报率。为了解决这个问题,可以从噪声的功率谱能量分布特性入手,由于噪声的能量一般会均匀地分布在功率谱上,对比人声信号的功率谱,噪声的能量会在某些频段的占比较高,而这些频段里人声信号的能量占比则较少或者这些频段不属于人的发声频段,因此可以在比人声更低的频段增加对噪音的检测阈值,单独在较低频段设定一个阈值,当整个频段的能量占总能量的比值超过该阈值时,判断输入的语音信号为噪音。

通过分别检测人声信号频谱的能量、噪声信号频谱的能量与音频信号总能量的比值,使得对人声信号的获取更加准确,当然,这两种方式虽然都有描述,但可以在具体设备中只使用其中的一种,最优实施例为两种方式都使用,来充分保证当有人声信号时可以及时检测到。

s13、若是,启动语音唤醒功能。

本实施例描述的语音唤醒技术的控制方法,通过采集周围音频信号,根据预设规则,判断所述音频信号是否为人声,若是,启动语音唤醒功能,如此设计便只有在识别到人声信号时才会开启语音唤醒功能,降低了长时间待机对能量的消耗,有效地降低了功耗,使得语音唤醒技术更好的应用于终端设备。

图2是本发明实施例提供的一种语音唤醒的控制装置的结构示意图。

如图2所示,本实施例的一种语音唤醒的控制装置包括,采集模块11、判断模块12、启动模块13,其中,采集模块11,用于采集周围音频信号,判断模块12,用于根据预设规则,判断音频信号是否为人声信号,启动模块13,用于当所述音频信号为人声信号时,启动语音唤醒功能。

进一步地,判断模块12具体用于,通过高通滤波的预加重处理得到第一音频信号,对第一音频信号进行分帧处理得到至少两个单帧音频信号,对每个单帧音频信号乘以一个平滑的窗函数,并做傅里叶变换处理,得到单帧音频信号的频谱,判断单帧音频信号的频谱与人声信号的频谱是否一致,若一致,确定音频信号为人声信号。

进一步地,判断模块12还用于,获取所述音频信号功率谱,对音频信号进行分频处理,得到第一频率段,确定第一频率段的能量与音频信号功率谱的总能量的比值,判断比值是否大于第一预设阈值,若是,确定音频信号为人声信号。

进一步地,判断模块还用于,对音频信号进行采样得到对应的模拟信号,将模拟信号转换为数字信号,对数字信号进行离散傅里叶变换处理,得到音频信号在频域的第一有限长序列,对第一有限长序列的幅度频谱进行平方计算得到第二有限长序列作为音频信号功率谱。

进一步地,第一频率段包括至少两个第一子频率段,每个第一子频率段均设置有对应的第一子预设阈值,确定第一子频率段的能量与音频信号功率谱的总能量的比值,检测比值是否大于所述第一子预设阈值,若是,确定音频信号为人声信号。

进一步地,还包括,对音频信号进行分频处理得到第二频率段,确定第二频率段的能量与音频信号功率谱的总能量的比值,检测比值是否大于第二预设阈值,若是,确定音频信号为噪声信号,对应地,第二频率段包括至少两个第二子频率段,每个第二子频率段均设置有对应的第二子预设阈值;确定第二子频率段的能量与所述音频信号功率谱的总能量的比值;检测比值是否大于第二子预设阈值;若是,确定音频信号为噪声信号。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。

通过采集周围音频信号,根据预设规则,判断音频信号是否为人声信号,当音频信号为人声信号时,启动语音唤醒功能,判断是否为人声信号相当于一个使能信号,增加这个使能信号之后,不仅可以减少使用者在误启动下语音唤醒模块的能耗,也可以在正式工作时,只让被识别为人声的语音输入信号进入下一级模块,从而减少了后续唤醒词识别模块在语音唤醒时被调用的次数,由此可以大大降低语音唤醒模块的工作功耗。语音信号的功率谱计算是提取语音信号特征的中间步骤,通过对信号功率谱进行分析,增加某些阈值的方式来识别人声,并不会增加原有语音唤醒的流程,能够极大地实现降低语音唤醒模块功耗的目的。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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