打印
[ARM入门]

[经验] 语音控制系统中的功耗降低

[复制链接]
646|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
潜力变实力|  楼主 | 2021-4-6 22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
仅使用语音来控制机器的能力已成为许多商业和消费者系统中的流行功能。但是语音控制的问题在于设备必须始终处于监听状态,这意味着必须始终为其供电。不过,新的选择正在不断涌现,它们可以帮助设计人员减少语音激活设计的功耗。
使机器对口头命令做出适当响应是一个巨大的处理挑战。它要求系统首先有一个麦克风来拾取声音,一个数字转换器将声音转换成处理器可以使用的东西,然后进行大量的数字信号处理以从声音中提取语音信息。涉及的处理量将取决于需要识别的命令字的数量。词汇量有限的系统可以使用图1所示的结构进行本地处理,以进行单词发现,而需要自然语音理解的系统可以使用云计算资源进行进一步处理。
图1典型的语音控制系统必须不断处理声音以寻找命令字。资料来源:Aspinity
不幸的是,大多数时候没有语音发生,并且浪费了处理和消耗的功率。通过要求用户首先按下按钮等来启动语音处理,可以避免浪费。但是,如果仅通过语音激活系统,则必须始终捕获并处理声音,以免丢失命令。这对于电池供电的应用特别引起关注,因为语音处理的“始终在线”性质可能会消耗大量电池。
为了减少浪费的精力并节省功率,语音处理系统通常会使用“唤醒”字进行激活。这种方法所需的功率较小,因为在大多数情况下,语音处理只需要能够识别单个特定单词,而不是其全部功能词汇。因此,该系统可以在侦听唤醒字的同时运行更简单,耗电更少的处理算法,从而暂停整个语音处理工作,直到检测到唤醒字为止。
为了追求这种方法,业界已经投入大量精力来开发需要最小功率的唤醒单词引擎。通常,这些引擎只能识别几个单词,从而为用户提供可能的唤醒选项的选择。但是,某些引擎可以识别足够多的单词,以提供有限形式的语音控制,从而提供多个命令。但是,对于更复杂的语音控制,唤醒词引擎的目的只是为了及时激活功能更强大,更耗电的处理,以接收和解释将跟随唤醒词的语音命令。
这些唤醒词引擎在不断发展。最近的一项介绍是将Retune的VoiceSpot单词斑点算法与CEVA的低功耗DSP系列配对。该组合可以执行波束成形和声学回声消除,以提高在存在噪声的情况下单词识别以及唤醒单词识别的可靠性。该算法的总内存占用量不到80 KB,主要针对较小的,由电池供电的应用,例如耳塞,智能手表和运动相机。
另一个最新的介绍将Cyber​​on的CSpotter算法与瑞萨的RA6系列微控制器结合使用。该算法使用基于音素的建模,支持30多种语言。它可以用作唤醒引擎或使用多个不同的命令集提供本地语音控制。该处理器为数字麦克风提供I 2 S(IC间声音)接口,从而无需ADC。
两种方法尽管已将语音识别任务减至最少,但仍依靠数字信号处理来进行唤醒词识别。这为始终接通的电源需求设置了下限,这在电池供电的应用中可能仍然很麻烦。但是,还有另一种技术可以为始终在线的唤醒字识别节省更多功率。
模拟机器学习技术是关键。Aspinity开发了RAMP(可重配置模拟模块化处理器)芯片,首先将声音识别为语音,然后再尝试确定语音是否在说唤醒词。RAMP芯片允许系统执行的操作是,在执行任何语音处理之前,先确定所检测到的声音实际上是语音。如图2所示,这种预先确定甚至可以使唤醒单词引擎在没有人讲话时也保持休眠状态。
图2通过首先确定声音是否是语音,RAMP芯片允许语音处理安全地忽略其他类型的声音。资料来源:Aspinity
该芯片使用模拟神经网络来实现这一目标,该模拟神经网络经过训练可以将人的声音与其他声音区分开,然后向声音处理系统发送激活信号,以确定声音是否在说唤醒词。为了确保语音处理具有完整的语音模式,芯片将在预卷式缓存中缓存500毫秒的捕获声音。当芯片将声音识别为语音时,它会将传入的声音(从前滚动数据开始)定向到语音处理系统以进行解释。
这种方法允许语音控制系统仅使RAMP芯片持续供电。每当没有人讲话时,语音处理硬件(包括唤醒词引擎)就可以保持休眠状态。在大多数情况下,没有语音的时间段表示系统运行的大部分时间。与唤醒字检测所需的典型数十毫安电流相比,RAMP芯片和主机微控制器仅需要约25μA的电流。因此,与始终在线的唤醒字检测相比,忽略静音和非语音声音的能力可以节省大量功率。
语音控制中的这种降低功率的创新很可能会继续发生,从而将语音激活操作的潜力扩展到从线路供电到电池供电设计的应用中。无论通过语音控制给定的设备是一个好主意,无论其电源如何,它都已成为一种实用的选择。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

1124

帖子

9

粉丝