低功率、始终监听的语音命令检测及捕获

文档序号:1760401 发布日期:2019-11-29 浏览:33次 >En<

阅读说明:本技术 低功率、始终监听的语音命令检测及捕获 (Low-power, the voice command monitored always detection and capture ) 是由 X.赵 A.C.斯坦格 S.奥康纳 A.哈迪亚沙尔 于 2017-12-20 设计创作,主要内容包括:一种用于检测和捕获语音命令的系统,该系统包括语音活动检测器(VAD),VAD被配置为:接收VAD接收的数字音频信号;确定VAD接收的数字音频信号的幅度;将VAD接收的数字音频信号的幅度与第一阈值和第二阈值进行比较;当VAD接收的数字音频信号的幅度不超过第一阈值或第二阈值时,不给出VAD中断信号;当VAD接收的数字音频信号的幅度超过第一阈值和第二阈值时,生成VAD中断信号;并且当VAD接收的数字音频信号的幅度在第一阈值和第二阈值之间时,对VAD接收的数字音频信号进行频谱分析。(A kind of system for detecting and capturing voice command, the system include voice activity detector (VAD), and VAD is configured as: receiving the received digital audio and video signals of VAD;Determine the amplitude of the received digital audio and video signals of VAD;The amplitude of the received digital audio and video signals of VAD is compared with first threshold and second threshold;When the amplitude of the received digital audio and video signals of VAD is no more than first threshold or second threshold, VAD interrupt signal is not provided;When the amplitude of the received digital audio and video signals of VAD is more than first threshold and second threshold, VAD interrupt signal is generated;And when the amplitude of the received digital audio and video signals of VAD is between first threshold and second threshold, spectrum analysis is carried out to the received digital audio and video signals of VAD.)

低功率、始终监听的语音命令检测及捕获

技术领域

本公开针对用于语音命令的语音检测及捕获的系统和方法。

背景技术

许多消费电子设备具有通过由人类语音发出的语音命令来全部或部分地控制的功能。该语音控制允许用户在不使用用户的手并且设备上的按钮或开关更少的情况下操作设备。

这样的设备可能需要始终监听(always-listening)模式,以便设备可以“听到”并捕获语音命令。因此,在始终监听模式下,设备开启并等待语音命令。始终监听功能的质量通常通过两个指标来衡量:总体平均电流消耗和语音命令误检测率。

本发明的实施例解决了现有设备中的缺陷。

发明内容

所公开主题的实施例针对低功率、始终监听的语音命令检测和捕获系统。通过利用较低电流操作状态,该系统可以减少系统的总体平均电流消耗。在最低电流操作状态下,系统等待语音活动的迹象。每个随后的状态具有逐渐更高的语音命令检测置信度,直到检测、识别和处理语音命令的最高电流操作状态。

相应地,用于检测和捕获语音命令的系统的至少一些实施例可以包括语音活动检测器(VAD),其被配置为:接收VAD接收的数字音频信号;确定VAD接收的数字音频信号的幅度;将VAD接收的数字音频信号的幅度与第一阈值和第二阈值进行比较;当VAD接收的数字音频信号的幅度不超过第一阈值或第二阈值时,不给出VAD中断信号;当VAD接收的数字音频信号的幅度超过第一阈值和第二阈值时,生成VAD中断信号;并且当VAD接收的数字音频信号的幅度在第一阈值和第二阈值之间时,对VAD接收的数字音频信号进行频谱分析。

在另一方面,检测和捕获语音命令的方法的至少一些实施例可以包括:由语音活动检测器(VAD)接收VAD接收的数字音频信号;由VAD确定VAD接收的数字音频信号的幅度;由VAD将VAD接收的数字音频信号的幅度与第一阈值和第二阈值进行比较;当VAD接收的数字音频信号的幅度不超过第一阈值或第二阈值时,VAD不给出VAD中断信号;当VAD接收的数字音频信号的幅度超过第一阈值和第二阈值时,由VAD生成VAD中断信号;并且当VAD接收的数字音频信号的幅度在第一阈值和第二阈值之间时,由VAD对VAD接收的数字音频信号进行频谱分析。

相应地,当与现有设备相比时,所描述的系统和方法可以在较低的平均电流消耗下提供较低的语音命令误检测率。

附图说明

图1是根据本发明实施例的语音命令检测和捕获系统的功能框图。

图2是可以被包括在图1所示的语音识别模块中的唤醒电路的电路图。

图3示出了来自人类言语的音频信号的示例图,其中纵轴表示信号幅度,并且横轴表示时间。

图4是示出图1所示的语音识别模块的示例过程的流程图。

图5示出了根据语音命令检测和捕获系统的特征的时钟切换事件的示例。

在以下详细描述中,图案的参考标记1xx一般在图1和图2中示出,而3xx参考标记一般在图3中示出。同样,4xx参考标记一般在图4中示出,并且5xx参考标记一般在图5中示出。

具体实施方式

如本申请中所描述的,本发明的实施例针对低功率、始终监听的语音命令检测及捕获系统。所公开的技术包括利用不同电流量的多个离散操作状态。操作状态的特征在于各个子系统的集体状态。在最低电流操作状态下,系统等待语音活动的迹象。每个随后的状态具有逐渐更高的语音命令检测置信度,直到检测、识别和处理语音命令的最高电流操作状态。

通过利用较低电流操作状态,系统可以减少系统的总体平均电流消耗。而且,通过选择性地使用全部可用操作状态或仅仅某些可用操作状态,系统可以降低语音命令误检测率。例如,系统可以避免休眠以捕获而不是删截短语的开头。相应地,当与现有设备相比时,所描述的系统可以以较低的平均电流消耗来提供较低的语音命令误检测率。

因此,所公开的技术可以用于任何语音激活和控制的系统中,包括例如有线和无线耳机、可穿戴产品、扬声器条、游戏控制器以及诸如电话和平板电脑的移动设备。这些语音激活和控制的系统可以包括智能个人助理或其他软件代理。

图1是示出根据本发明实施例的低功率、始终监听的语音命令检测和捕获系统的部分的功能框图。如图1所示,语音命令检测和捕获系统100可以包括模数转换器(ADC)101、抽取滤波器102、语音RAM(随机存取存储器)103以及输出到数字信号处理器(DSP)106的语音识别模块105的语音活动检测器(VAD)块104。抽取滤波器102和语音RAM 103每个可以为DSP 106的一部分或紧密耦合到DSP 106。ADC 101、抽取滤波器102、语音RAM 103、VAD块104和DSP 106每个由时钟系统107控制,时钟系统107包括多个时钟生成机制并且下面将对此进行更全面的讨论。

VAD块104可以包括样本组合块108、幅度VAD块109、频谱分析块110和控制块111。频谱分析块110可以包括VAD RAM 112、快速傅立叶变换(FFT)块113、频谱低通滤波器(LPF)114和频谱VAD块115。VAD块104的特征可以通过可编程参数来实现。由于VAD块104优选地以硬件来实现,所以在此将其称为硬件VAD。即便如此,在实施例中,VAD块104可以以软件或固件来实现。

ADC 101可以是立体声ADC,其从可以包括语音信号的模拟音频输入来生成例如2Msps(兆样本/每秒)的数字音频信号123。ADC 101可以使用例如脉冲密度调制(PDM)、脉冲编码调制(PCM)或其他技术来从模拟音频输入122产生数字音频信号123。

ADC 101可以包括唤醒电路118,以检测音频活动并为ADC 101的其余部分提供激活功能,并且因此也为VAD块104提供激活功能。相应地,唤醒电路118可以比较模拟音频输入122与阈值以确定是否存在音频活动的起始水平。当模拟音频输入122低于音频活动的起始水平时,ADC 101的其余部分是不活跃的。但是,当模拟音频输入122高于音频活动的起始水平时,ADC 101的其余部分是活跃的。此阈值有时在此被称为唤醒起始阈值。

因此,ADC 101可以具有两种模式。在一种模式下,ADC 101使用唤醒电路118来比较水平但不生成数字样本。因此,ADC 101的转换器部分可以在该水平比较模式或休眠模式下完全断电,从而为ADC 101提供低功率状态。优选地,在休眠模式下,唤醒电路118处于低功率模式,意味着唤醒电路118每通道(channel)消耗的功率小于唤醒电路118和ADC 101两者都活跃时由两者所消耗的功率的约15%。更优选地,唤醒电路118每通道消耗的功率小于唤醒电路118和ADC 101两者都活跃时由两者所消耗的功率的约12%。甚至更优选地,唤醒电路118每通道消耗的功率小于唤醒电路118和ADC 101两者都活跃时所消耗的功率的约8%。在第二模式或活跃模式下,ADC 101从模拟音频输入122生成数字信号。

图2是示出唤醒电路的部分的电路图。如图2所示,唤醒电路118可以包括具有附加增益级120和比较器级121的音频前置放大器119。比较器级121可以例如是施密特触发器。相应地,唤醒电路可以提取模拟音频输入122,利用音频前置放大器119和附加增益级120来增强该模拟音频输入122,并利用比较器级121将经调节的模拟音频输入与语音水平阈值进行比较。如果经调节的模拟音频输入超过语音水平阈值,则唤醒电路激活ADC 101的其余部分以生成样本。语音水平阈值可以是上面讨论的唤醒起始阈值。

除了增强信号之外,音频前置放大器119和附加增益级120可以例如通过共模抑制或电源抑制或通过这两者调节模拟音频输入122。优选地,音频前置放大器119的增益和附加增益级120的增益均为可编程的。作为说明,音频前置放大器119可以被编程或预设为具有例如+6dB、+10dB、+16dB和+26dB的增益,并且附加增益级120可以被编程或预设为具有例如+20dB的增益。也可以编程或预设其他值。

返回图1,如本领域所理解的,从模拟信号导出的数字信号包括多个样本,其中样本的数量取决于ADC的采样率。抽取滤波器102将数字音频信号123的采样率降低到例如16ksps(千样本/每秒)。

所得到的减少的数字音频样本124被存储在语音RAM 103中,以便将来由DSP 106的语音识别模块105进行语音识别。优选地,语音RAM 103被配置为循环缓冲器用来以先进先出(FIFO)格式连续地捕获减少的数字音频样本124。在语音RAM 103是DSP 106的一部分或紧密耦合到DSP 106的配置中,当数字信号处理器需要处理语音RAM 103时,该配置减少了系统开销。

附加地,可以在语音RAM 103中捕获任意数量的通道;因此,所捕获的通道不限于路由到VAD块104的一个或多个通道。多通道捕获允许VAD块104在其怀疑存在语音时中断DSP 106,并且其允许DSP 106对多通道音频进行后处理,以用于诸如在ASIC或主机上的其他地方的言语识别。

在样本组合块108处将减少的数字音频样本124(这里有时将其称为VAD接收的数字音频信号)组合成例如单声道8ksps流。例如,样本组合块108可以选择减少的数字音频信号124的一个通道,并从所选择的通道中提取每隔一个的样本。为了组合这些样本,样本组合块108可以反之或者还具有利用延迟元件和线性组合电路的波束成形能力。不管样本组合块108使用何种方法,其结果是组合的数字音频信号125,该数字音频信号125具有比由抽取滤波器102产生的减少的数字音频样本124更低的采样率。

幅度VAD块109通过分析来自样本组合块108的结果来确定组合的数字音频信号125的幅度。

控制块111判定是否触发频谱分析块110、是否将VAD中断信号116发送到DSP 106的语音识别模块105来开始语音识别,或者两者均否。也就是说,控制块111基于幅度VAD块109的输出来判定该控制块111是否具有足够的信息来确定是否提出(raise)VAD中断信号116。如果其没有足够的信息,则控制块111触发频谱分析块110以提供附加信息。例如,控制块111可以包括信号幅度的低通滤波器和两个比较器。相比于两个比较器中具有相对高的阈值的第二个比较器,两个比较器中的第一个比较器可以具有相对低的阈值。如果由幅度VAD块109确定的信号幅度超过较低阈值但不超过较高阈值,则控制块111判定要激活频谱分析块110。如果信号幅度超过较高阈值,则不管来自频谱分析块110的频谱VAD判定如何,控制块111可以判定生成VAD中断信号116。替代地,如果信号幅度超过较高阈值,则控制块111可以判定生成VAD中断信号116并且不激活频谱分析块110。然而,如果由幅度VAD块109确定的信号幅度不超过较低阈值,则控制块111判定将不生成VAD中断信号116并且不激活频谱分析块110。

例如,当到ADC 101的模拟音频输入122具有足够低的音量时,其信号幅度(由幅度VAD块109从组合的数字音频信号125确定)将不会超过控制块111的较低阈值。相应地,控制块111既不触发频谱分析块110也不生成VAD中断信号116。然而,如果模拟音频输入122足够大声,则从组合的数字音频信号125确定的其信号幅度将超过控制块111的较高阈值。相应地,控制块111将生成VAD中断信号116,以发信号通知DSP 106的语音识别模块105进入下面针对图4描述的语音识别状态407。否则,如果模拟音频输入122的信号幅度超过较低阈值但不超过较高阈值,则控制块111激活频谱分析块110并在确定是否生成VAD中断信号116之前等待那些结果。

来自样本组合块108的组合的数字音频信号125被存储在VAD RAM 112中。这可以与也在幅度VAD块109处接收组合的数字音频信号125基本上同时发生。VAD RAM 112可以是例如1024字的20位RAM。在该示例配置中,VAD RAM 112的512个字可以用作用于就地(in-place)256点FFT的FFT工作存储器。因此,VAD RAM 112的256个字可以用于存储输入样本,并且VAD RAM 112的256个字可以用于存储256个频率区间的频谱幅度。然而,这仅是一个示例配置,并且可以使用其他配置。

FFT块113对存储在VAD RAM 112中的组合的数字音频信号125执行快速傅立叶变换。作为示例实现方式,FFT可以是256点FFT并且由8个基数-2FFT(radix-2FFT)级组成。FFT块113可以将每个频率区间的所得功率写入VAD RAM 112。保持8ksps样本和256点FFT的示例,将每32ms(毫秒)执行一次FFT。换句话说,在该示例中,FFT窗口大小是32ms。

频谱LPF 114计算其中x是最后一级FFT结果的幅度;y是存储的对应频率区间的频谱幅度;N是平滑因子,其可以减少随机噪声的影响;以及y'是y的最新更新值。频谱LPF 114还可以包括累加器,其对频谱幅度求和以计算平均幅度。

频谱分析块110在由控制块111激活时,通过使用频谱LPF 114的结果来判定控制块111是否应该生成VAD中断信号116。该判定利用包括作为模拟音频输入122的一部分的语音命令的语音信号具有多次谐波的状况。具体地,在来自VAD RAM 112的组合的数字音频信号125经过FFT块113和频谱LPF 114之后,将所得的每个频率的频谱幅度除以从FFT得到的所有频率区间的平均幅度。如在本公开中所使用的,给定频率的频谱幅度与所有频率区间的平均幅度的比率被称为相对幅度。

作为一个示例方法,频谱VAD块115对具有高于某个阈值的相对幅度的频率区间的数量进行计数。优选地,该高幅度阈值在平均幅度的约1.5倍至约5倍之间。更优选地,高幅度阈值在平均幅度的约2倍至约4倍之间。甚至更优选地,高幅度阈值约为平均幅度的三倍。如果高幅度区间计数超过某个量(这里称为区间计数阈值),则频谱VAD块115判定控制块111应该生成VAD中断信号116。优选地,区间计数阈值在约2个至约15个区间之间。更优选地,区间计数阈值在约3个至约12个区间之间。甚至更优选地,区间计数阈值在约5个至约10个区间之间。

作为另一示例方法,为了判定控制块111是否应该生成VAD中断信号116,频谱VAD块115评估峰值距离。在此上下文中,峰值区间是具有高于其相邻区间的幅度的频率区间,并且该频率区间的相对幅度高于阈值。优选地,该相对幅度阈值在平均幅度的约1.5倍至约5倍之间。更优选地,相对幅度阈值在平均幅度的约2倍至约4倍之间。甚至更优选地,相对幅度阈值约为平均幅度的三倍。如果第一峰值区间(即具有最低频率的峰值区间)与最后峰值区间(即具有最高频率的峰值区间)之间的距离超过某个值,则频谱VAD块115判定控制块111应该生成VAD中断信号116。优选地,峰值距离阈值在约0.5kHz至约5kHz之间。更优选地,该峰值距离阈值在约1kHz至约3kHz之间。甚至更优选地,峰值距离阈值约为2kHz。

频谱VAD块115可以使用所描述的示例方法中的任一个或两者。也可以使用其他类似的方法。优选地,高幅度阈值、区间计数阈值、相对幅度阈值和峰值距离阈值各自均为诸如例如通过用户接口用户可编程的。

频谱VAD块115还可以确定频率区间中的最高峰值幅度和最高峰值的位置(即,哪个频率区间具有最高峰值)。如果最高峰值幅度及其位置在诸如2秒或更长的某个时间间隔内没有变化,则模拟音频输入122可能包括固定音调噪声,诸如飞机机舱内的背景噪声。因此,确定最高峰值幅度及其位置使得频谱VAD能够筛选出固定音调噪声。当筛选出固定音调噪声时,频谱VAD块115在其判定控制块111是否应该生成VAD中断信号116时不包括该固定音调噪声。

图3是来自人类言语的音频信号的示例图,其中纵轴表示信号幅度,并且横轴表示时间。如图3所示,例如,由ADC 101接收的引入语音命令300可以包括触发短语301或关键短语、和命令短语302以及触发短语301和命令短语302之间的被称为触发短语的端点303的区域。命令短语302也可以具有命令短语的端点304。例如,触发短语301可以是用户说出的旨在激活智能个人助理或以其他方式警告主机即将由用户给出命令的短语。使用当前的智能个人助理作为示例,触发短语301可以是例如“OK Google”、“Hey Siri”、“Hello Jarvis”或“Hey Cortana”。命令短语302的示例是“今天天气怎么样?”。即便如此,语音命令300不需要包括触发短语301和命令短语302两者。

返回图1,VAD中断信号116触发DSP 106的语音识别模块105以运行语音识别算法。作为示例,DSP 106可以有三个语音识别阶段:带有静音检测的VAD滞后;带有静音检测的语音识别关键短语解析1x;和带有关键短语解析>1x、主机传输和静音检测的软件活动检测。

在带有静音检测的VAD滞后中,语音识别模块105通过VAD块104建立硬件VAD判定的较长期滞后。例如,滞后可以建立在超过FFT窗口大小的期间上。作为一种可能的实现方式的示例,在上面的8ksps样本和256点FFT的示例中,FFT窗口大小是32ms。因此,硬件VAD判定的滞后可以建立在比32ms窗口长几倍的期间上。例如,可以为比FFT窗口大小长至少两倍的期间建立滞后。优选地,该期间是FFT窗口大小的五至十倍。利用静音检测,语音识别模块105确定所分析的帧是否包含语音信号。如果其并未包含,则认为该帧是静音帧。

在带有静音检测的语音识别关键短语解析1x中,语音识别模块105对所分析的帧进行解析以寻找触发短语301,同时语音识别模块105还执行如上所述的静音检测。

在带有关键短语解析>1x、主机传输和静音检测的软件活动检测中,语音识别模块105对所分析的帧进行解析以寻找触发短语301,同时语音识别模块105还执行如上所述的静音检测。另外,当检测到或识别出触发短语301时,语音识别模块105可以将语音命令信息发送到主机。语音命令信息可以是例如触发短语301或与触发短语301对应的信号、命令短语302或与命令短语302对应的信号、或者发送给主机以响应于所检测的触发短语301而动作的一些其它命令或这些的任何组合。

通常以比关键短语解析1x更快的处理速度来执行关键短语解析>1x。例如,关键短语解析1x可以由以12MHz操作的DSP 106执行,而关键短语解析>1x可以由以高于12MHz的诸如高达98MHz的速度操作的DSP 106执行。这在下面关于时钟系统107进行描述。更快的处理速度可以例如允许解析过程及时赶上语音RAM 103的循环缓冲器的指针。

图4是示出诸如图1中所示的DSP 106的语音识别模块105的语音识别模块的示例过程400的流程图。语音识别模块以软件VAD状态401开始。接下来,语音识别模块确定402所分析的帧是否是静音帧,这意味着该帧不包含语音信号。如果该帧不是静音帧,则该过程转到语音识别状态,其将在下面进一步描述。如果该帧是静音帧,则该过程确定403是否存在静音超时。例如,如果循环缓冲器充满静音帧或者如果满足静音滞后阈值,则可以发生静音超时。优选地,静音滞后阈值是用户可编程的。如果没有静音超时,则该过程返回到软件VAD状态401。如果存在静音超时,则该过程进入到暂停状态404,其中DSP保持空闲直到它从VAD块104接收到VAD中断信号116。当语音识别模块从VAD块104接收到405VAD中断信号116时,DSP离开空闲状态并进入更活跃的模式406,诸如12MHz模式。然后,该过程移动到完整的语音识别状态407。

在语音识别状态407中,DSP 106的语音识别模块105解析408所分析的帧以寻找触发短语301。因此,框408表示软件VAD判定。如果识别出触发短语,则该过程打开409到主机的语音连接链路,以将语音命令信息发送到主机以进行进一步处理或响应于触发短语301而动作。如上面提到的,语音命令信息可以是发送给主机的命令短语302。如果未识别出触发短语,则该过程返回到软件VAD状态401并且如上面所讨论地继续。也就是说,语音识别模块确定402所分析的帧是否是如上面提到的静音帧。如果该过程确定403发生了静音超时,则在语音识别状态407期间开始的语音识别将停止运行,因为该过程进入到暂停状态404以等待来自VAD块104的VAD中断信号116,如上所述。

因此,软件VAD状态401通过VAD块104建立硬件VAD判定的较长期滞后。所描述的实现方式可以是多数表决判定系统,并且可以仅利用硬件VAD判定工作,如以上针对图1的VAD块104所描述的,或者该实现方式可以在软件中并入其他基于帧的检测。

当系统正在监听时,语音样本被存储到循环缓冲器或FIFO中,诸如上面针对图1所讨论的语音RAM 103。在软件中基于每帧读取FIFO或历史缓冲器。取决于模式,FIFO的深度可以变化。该软件被构造成消耗尽可能多的数据,并且有时会基于状态动态地对DSP 106进行节流。例如,在等待软件VAD事件时,DSP速度可以相当低,因为使用的算法不需要大量的周期。但是当检测到足够的语音活动以证明运行完整的语音识别状态407是合理的时,可以增加DSP速度。

在软件中进行的基于帧的判定可能引入相对于来自ADC 101的实时样本的少量延迟。软件必须读入FIFO并从首次检测到语音命令300的该点追溯地运行语音识别算法。也可以增加DSP速度以“赶上”实时,并且一旦未完成帧的数量低于定义的阈值,就降低DSP速度。例如,当未完成帧的数量恢复为1时,可以认为DSP“赶上”实时。

当语音识别状态407和解析状态408识别出触发短语时,系统可以运行端点算法来检测触发短语的端点,诸如图3中所示的端点303,然后丢弃触发短语的结尾之前的所有数据或直到和包括触发短语的结尾的所有数据。这允许系统刷新某个量的FIFO,然后对FIFO存储器进行转用以用于单次(one-shot)检测,如下所述。系统继续使用软件VAD判定来确定用户在第一次语音识别之后是否继续说话,同时在FIFO中缓冲样本。

在被称为单次检测的特征中,连续言语解析用于确定用户在说出触发短语301之后是否继续说话。因此,对于单次检测,系统缓冲数据,以解决在检测到触发短语301之后打开与主机的语音连接的延迟。软件VAD判定允许系统确定用户是否在单次超时(在检测到触发短语之后的指定时间段)内说话,并且还可以用于在检测到触发短语301之后丢弃某个量的居前的静音。以这种方式,可以吸收延迟。此外,一旦检测到单次短语的端点,语音RAM103中的任何无关样本将被丢弃或被假定为静音。在上下文中,单次短语表示检测到的触发短语301,外加单次超时内的任何附加言语,例如命令短语302。相应地,用于与诸如智能个人助理的主机交互的任何后续语音分组基本上是赶上实时的,使交互更具对话性。

如上面提到的,时钟系统107包括多个时钟生成机制。时钟生成机制优选地消耗不同量的电流来生成时钟并且是异步的。举例来说,第一时钟生成机制或休眠模式时钟机制可以利用锁相环(PLL)电路,在晶体振荡器不运行的情况下,生成例如12.288MHz的时钟。作为另一个示例,第二时钟生成机制或低功率时钟机制可以利用PLL电路,在晶体振荡器运行的情况下,生成例如12.288MHz的时钟。第三时钟生成机制或高功率时钟机制可以利用第二时钟生成机制来导出例如高达98MHz的时钟。如这里所述,第一时钟生成机制具有比第二时钟生成机制低的电流消耗,并且第二时钟生成机制具有比第三时钟生成机制低的电流消耗。同样,第三时钟生成机制比第二时钟生成机制快,并且第二时钟生成机制比第一时钟生成机制更稳健。

时钟系统107被配置为在可用的时钟生成机制之间切换。因此,为了降低电流消耗,可以使用第一时钟生成机制来代替第二时钟生成机制或第三时钟生成机制。同样,可以使用第二时钟生成机制来代替第三时钟生成机制以降低电流消耗。相应地,例如,当VAD块104活跃时,可以使用第一时钟生成机制,但DSP 106不运行语音识别算法。例如,当DSP 106在从VAD块104接收到VAD中断信号116之后运行语音识别算法时,可以使用第二时钟生成机制。并且例如当需要或期望更高的处理速度时可以使用第三时钟生成机制。例如,这可能存在于当过程打开到主机的语音连接链路,以在>1x关键短语解析模式下运行时,或者当语音识别算法需要更多周期来以1x关键短语解析模式运行时。也可以使用其他配置。由于数字音频逻辑通常以12MHz运行,因此它可以使用任何这些示例时钟。

当时钟系统107在时钟生成机制之间切换时,优选地,它对包括DSP 106、语音RAM103、VAD块104、抽取滤波器102以及ADC 101的整个语音命令检测和捕获系统100同时切换。由于ADC 101数据速率是12.288MHz源的分数,因此12.288MHz源在分数时钟的特定相位处切换。

图5中示出了时钟切换事件的示例,其中示例切换事件由箭头517标记。如图5所示,当在当前异步时钟源和新异步时钟源之间切换时,诸如时钟系统107的时钟系统可以在特定相位有效地停止当前时钟源并等待新时钟源的边沿。这允许时钟系统在时钟生成机制的特定相位处在时钟源之间切换。相应地,时钟系统提供不同时钟速率之间的时钟边沿对准。

异步时钟源之间的切换允许相对较低功率的时钟用于某些特征或在系统的某些情况下使用,并且允许较高质量的时钟用于其他特征或在其他情况下使用。而且,在仅由时钟切换时的错过采样时间引入不连续性的情况下,对于系统的所有方面同时切换时钟源允许了连续样本捕获。

如上面提到的,低功率、始终监听的语音命令检测和捕获系统100包括多个离散操作状态。再次参考图1,作为一个示例实现方式,六个示例操作状态可以按照电流消耗增加的顺序,如下所述。

示例操作状态

示例操作状态1:等待硬件幅度触发的休眠模式

在这种状态下,ADC 101比较水平但不为VAD块104或语音RAM 103生成样本。当音频活动的水平超过指定的最小水平时,唤醒电路118触发ADC 101的其余部分以生成样本。如上所述,在ADC 101处于该水平比较模式时,ADC 101的转换器部分可以不吸取任何功率。相应地,VAD块104和语音RAM 103是不活跃的。时钟处于休眠模式,并且DSP 106空闲。

示例操作状态2:等待硬件幅度语音触发的始终监听状态

在这种状态下,ADC 101从模拟音频输入122为VAD块104和语音RAM 103生成样本。语音RAM 103将样本写入其循环缓冲器。时钟处于低功率模式,并且DSP 106空闲。VAD块104处于幅度检测模式,这意味着幅度VAD块109是活跃的。因此,返回到上面对控制块111的操作描述的示例,到ADC 101的模拟音频输入122的信号幅度不超过控制块111的较低阈值。相应地,控制块111既不会触发频谱分析块110,也不生成VAD中断信号116。

示例操作状态3:等待硬件频谱语音触发的始终监听状态

在这种状态下,ADC 101从模拟音频输入122为VAD块104和语音RAM 103生成样本。语音RAM 103将样本写入其循环缓冲器。时钟处于低功率模式,并且DSP 106空闲。VAD块104处于频谱检测模式,这意味着频谱分析块110是活跃的。因此,返回到上面对控制块111的操作描述的示例,到ADC 101的模拟音频输入122的信号幅度超过控制块111的较低阈值但不超过较高阈值。相应地,控制块111激活频谱分析块110并等待那些结果。

示例操作状态4:低电流语音检测

在这种状态下,ADC 101从模拟音频输入122为VAD块104和语音RAM 103生成样本。语音RAM 103将样本写入其循环缓冲器,并且时钟处于低功率模式。VAD块104处于频谱检测模式或幅度检测模式。因此,返回到上述用于控制块111的操作的示例,到ADC 101的模拟音频输入122的信号幅度超过控制块111的较低阈值和较高阈值。相应地,无论来自频谱分析块110的频谱VAD判定如何,控制块111都生成VAD中断信号116。DSP 106处于带有静音检测的VAD滞后模式,这意味着例如DSP 106继续进行由图4所示的元素401-405表示的过程。

示例操作状态5:低电流语音识别

在这种状态下,ADC 101从模拟音频输入122为VAD块104和语音RAM 103生成样本。语音RAM 103将样本写入其循环缓冲器,并且DSP 106读取该缓冲器。时钟处于低功率模式。VAD块104处于频谱检测模式或幅度检测模式,如上所述,VAD块104已生成VAD中断信号116。DSP 106处于语音识别状态407,其中DSP 106的语音识别算法对所分析的帧进行解析以寻找触发短语301。因此,例如,DSP 106继续进行由图4所示的元素401-408表示的包括静音检测的过程,其中在元素408处导致“否”判定。

示例操作状态6:低电流语音命令处理

在这种状态下,ADC 101从模拟音频输入122为VAD块104和语音RAM 103生成样本。语音RAM 103将样本写入其循环缓冲器,并且DSP 106读取该缓冲器。时钟处于高功率模式。VAD块104处于频谱检测模式或幅度检测模式,如上所述。DSP 106的语音识别算法对所分析的帧进行解析以寻找触发短语301,其中在图4的元素408处导致“是”判定。因此,例如,DSP106继续进行由图4所示的元素401-409表示的包括静音检测的过程。

在实施例中,可以独立地启用或禁用这些操作状态。因此,在这样的实施例中,系统可以选择使用全部可用操作状态或仅仅某些可用操作状态。例如,为了减少在嘈杂环境中的错误幅度触发,系统可以选择相对较高的状态,诸如上述操作状态3、4、5或6,并且避免相对较低的操作状态,诸如上述操作状态1或2。此外,为了避免休眠并确保捕获并且不删截触发短语301的开端,系统可以避免相对较低的操作状态,诸如上述操作状态1。另一方面,为了减少电流消耗,相比于相对较高的操作状态,系统可以选择相对较低的状态,诸如上述操作状态1、2、3、4或5。

说明性示例

下面提供所公开技术的说明性示例。这些技术的实施例可以包括下面描述的示例中的一个或多个以及任何组合。

示例1包括一种用于检测和捕获语音命令的系统,该系统包括语音活动检测器(VAD),其被配置为:接收VAD接收的数字音频信号;确定VAD接收的数字音频信号的幅度;将VAD接收的数字音频信号的幅度与第一阈值和第二阈值进行比较;当VAD接收的数字音频信号的幅度不超过第一阈值或第二阈值时,不给出VAD中断信号;当VAD接收的数字音频信号的幅度超过第一阈值和第二阈值时,生成VAD中断信号;并且当VAD接收的数字音频信号的幅度在第一阈值和第二阈值之间时,对VAD接收的数字音频信号进行频谱分析。

示例2包括示例1的系统,还包括模数转换器(ADC),其被配置为接收模拟音频输入,ADC具有转换器部分,转换器部分被配置为以ADC采样率从模拟音频输入生成数字音频信号。

示例3包括示例2的系统,其中ADC包括唤醒电路,唤醒电路被配置为:确定模拟音频输入是否具有音频活动的起始水平;并且当模拟音频输入不具有音频活动的起始水平时,将ADC置于ADC的转换器部分不生成数字音频信号的休眠模式;以及当模拟音频输入具有音频活动的起始水平时,将ADC置于ADC的转换器部分生成数字音频信号的活跃模式。

示例4包括示例3的系统,其中,为了确定模拟音频输入是否具有音频活动的起始水平,唤醒电路被配置为将模拟音频输入与唤醒起始阈值进行比较。

示例5包括示例3-4中任一示例的系统,其中唤醒电路包括:音频前置放大器、增益级,被配置为增强模拟音频输入;以及比较器级,被配置为将增强的模拟音频输入与指示音频活动的起始水平的唤醒起始阈值进行比较。

示例6包括示例3-5中任一示例的系统,其中当ADC处于休眠模式时ADC的转换器部分未被供电,并且其中当ADC处于活跃模式时,ADC的转换器部分被供电。

示例7包括示例2-6中任一示例的系统,还包括ADC和VAD之间的抽取滤波器,抽取滤波器被配置为接收数字音频信号并处理数字音频信号以生成具有降低的采样率的减少的数字音频样本,降低的采样率比ADC采样率低。

示例8包括示例1-7中任一示例的系统,其中VAD包括:样本组合块,被配置为接收具有采样率的VAD接收的数字音频信号作为输入,并且处理VAD接收的数字音频信号以生成具有幅度的组合的数字音频信号,组合的数字音频信号的采样率比VAD接收的数字音频信号的采样率低;幅度VAD块,被配置为确定组合的数字音频信号的幅度;频谱分析块,被配置为对VAD接收的数字音频信号进行频谱分析;以及控制块,包括两个比较器,控制块被配置为:将VAD接收的数字音频信号的幅度与第一阈值和第二阈值进行比较,当VAD接收的数字音频信号的幅度不超过第一阈值或第二阈值时,不发出VAD中断信号并激活频谱分析块,并且当VAD接收的数字音频信号的幅度超过第一阈值和第二阈值时,生成VAD中断信号。

示例9包括示例8的系统,其中频谱分析块包括:VAD随机存取存储器(RAM),被配置为从样本组合块接收并存储组合的数字音频信号;快速傅立叶变换(FFT)块,被配置为对存储在VAD RAM中的组合的数字音频信号进行FFT并输出FFT结果;频谱低通滤波器(LPF),被配置为确定FFT结果的平均幅度;以及频谱VAD块,被配置为评估频谱LPF的结果,并且基于对频谱LPF的结果的评估,发信号通知控制块生成VAD中断信号或继续不发出VAD中断信号。

示例10包括示例1-9中任一示例的系统,还包括数字信号处理器(DSP),其被配置为从VAD接收VAD中断信号并分析VAD接收的数字音频信号以寻找触发短语。

示例11包括示例10的系统,还包括语音随机存取存储器(RAM),其被配置为接收并以先进先出(FIFO)格式存储VAD接收的数字音频信号,语音RAM被配置为由DSP访问。

示例12包括示例10-11中任一示例的系统,还包括时钟系统,时钟系统包括多个异步时钟生成机制,异步时钟生成机制中的每一个具有不同的电流消耗,时钟系统被配置为在异步时钟生成机制之间切换。

示例13包括一种检测和捕获语音命令的方法,包括:由语音活动检测器(VAD)接收VAD接收的数字音频信号;由VAD确定VAD接收的数字音频信号的幅度;由VAD将VAD接收的数字音频信号的幅度与第一阈值和第二阈值进行比较;当VAD接收的数字音频信号的幅度不超过第一阈值或第二阈值时,VAD不给出VAD中断信号;当VAD接收的数字音频信号的幅度超过第一阈值和第二阈值时,由VAD生成VAD中断信号;并且当VAD接收的数字音频信号的幅度在第一阈值和第二阈值之间时,由VAD对VAD接收的数字音频信号进行频谱分析。

示例14包括示例13的方法,还包括:由模数转换器(ADC)接收模拟音频输入;由唤醒电路确定模拟音频输入是否具有音频活动的起始水平;并且当模拟音频输入不具有音频活动的起始水平时,将ADC置于ADC的转换器部分不生成数字音频信号的休眠模式;并且当模拟音频输入具有音频活动的起始水平时,将ADC置于ADC的转换器部分以ADC采样率从模拟音频输入生成数字音频信号的活跃模式。

示例15包括示例14的方法,其中由唤醒电路确定模拟音频输入是否具有音频活动的起始水平包括将模拟音频输入与唤醒起始阈值进行比较。

示例16包括示例14-15中任一示例的方法,还包括:当ADC处于休眠模式时,不对ADC的转换器部分供电;当ADC处于活跃模式时,对ADC的转换器部分供电。

示例17包括示例14-16中任一示例的方法,还包括:由数字信号处理器(DSP)从VAD接收VAD中断信号;并且由DSP分析VAD接收的数字音频信号以检测触发短语。

示例18包括示例13-17中任一示例的方法,还包括由语音随机存取存储器(RAM)接收并以先进先出(FIFO)格式存储VAD接收的数字音频信号。

示例19包括示例18的方法,还包括:当DSP检测到触发短语时,丢弃在触发短语的端点之前的语音RAM上的所有数据。

示例20包括示例17-19中任一示例的方法,还包括:当DSP检测到触发短语时,确定用户是否在触发短语之后的预定超时时间段期间说话。

先前描述的所公开主题的版本具有许多优点,这些优点或者已描述,或者对于普通技术人员来说是显而易见的。即便如此,不是在所公开的装置、系统或方法的所有版本中都需要所有这些优点或特征。另外,该书面描述参考了特定的特征。应理解,本说明书中的公开包括那些特定特征的所有可能组合。例如,在特定方面或实施例的上下文中公开了特定特征的情况下,该特征也可以在可能的范围内在其他方面和实施例的上下文中使用。

而且,本发明的实施例可以在特别创建的硬件上、在固件、数字信号处理器上、或者在包括根据编程指令操作的处理器的专门编程的通用计算机上操作。这里使用的术语“处理器”旨在包括微处理器、微计算机、ASIC和专用硬件控制器。本发明的一个或多个方面可以体现在诸如在一个或多个程序模块中的由一个或多个计算机(包括监视模块)或其他设备执行的计算机可用数据和计算机可执行指令中。通常,程序模块包括当由计算机或其他设备中的处理器执行时进行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令可以存储在非暂时性计算机可读介质上,诸如硬盘、光盘、可移动存储介质、固态存储器、RAM等。如本领域技术人员将理解的,在各种实施例中,可以根据需要组合或分布程序模块的功能。另外,功能可以整体或部分地体现在固件或硬件等同物中,诸如集成电路、现场可编程门阵列(FPGA)等。特定数据结构可以用于更有效地实现本发明的一个或多个方面,并且这些数据结构在这里描述的计算机可执行指令和计算机可用数据的范围内。

此外,术语“包括”及其语法等同物在本申请中用于表示可选地存在其他组件、特征、步骤、过程、操作等。例如,“包括”或“包含”组件A、B和C的制品可仅含有组件A、B和C,或者其可能含有组件A、B和C以及一个或多个其他组件。而且,当在本申请中提及具有两个或更多个定义的步骤或操作的方法时,所定义的步骤或操作可以以任何顺序实行或同时实行,除非上下文排除那些可能性。

另外,尽管为了说明的目的已经说明和描述了本发明的特定实施例,但是应该理解,在不脱离本发明的精神和范围的情况下,可以进行各种修改。相应地,除了所附权利要求之外,本发明应不受限制。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:存储设备的初始化

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!