广泛的信号处理链如何让语音助理“正常工作”
How extensive signal processing chains make voice assistants ‘just work’
智能音箱和声控设备越来越受欢迎,亚马逊的Alexa和谷歌的助手等语音助手越来越能理解请求。
这种界面最吸引人的地方之一就是“管用”——没有用户界面可学,可以越来越多地像人一样用自然语言与小工具交谈,并得到有用的回应。但要实现这种功能,需要进行大量复杂的处理。
在本文中,将研究语音控制解决方案的体系结构,并讨论幕后发生的事情,以及所需的硬件和软件。
Signal flow and architecture
信号流与结构
虽然声控设备种类繁多,但其基本原理和信号流程是相似的。让考虑一个智能扬声器,例如Amazon的Echo,并查看涉及的主要信号处理子系统和模块。
图1显示了智能扬声器中的整个信号链。
图1:语音助手的信号链,基于CEVA的ClearVox和WhisPro。
从图的左侧开始,可以看到,一旦使用语音活动检测(VAD)检测到一个语音,就会被数字化,并经过多个信号处理阶段,以提高所需主扬声器语音到达方向的清晰度。数字化的、经过处理的语音数据随后被传递到后端语音处理,这可能部分发生在边缘(设备上),部分发生在云端。最后,如果需要,会产生一个响应,并由扬声器输出,这需要解码和数模转换。 对于其应用程序,可能存在一些差异,优先级也会有所不同——例如,需要优化车内语音接口,以处理车内典型的背景噪音。此外,受入耳式耳机和低成本家用电器等小型设备需求的推动,总体趋势是降低功耗和降低成本。
Front-end signal processing
前端信号处理
一旦语音被检测并数字化,就需要执行多个信号处理任务。除了外部噪声,还需要考虑由收听设备产生的声音,例如,智能扬声器输出音乐或与电话另一端的人交谈。为了抑制这些声音,该设备使用声学回声消除(AEC),因此用户可以闯进来打断智能扬声器,即使已经在播放音乐或讲话。一旦这些回波被去除,噪声抑制算法就被用来清除外部噪声。
虽然有许多不同的应用,可以把归纳为两类声控设备:近场和远场拾音。近场设备,如耳机、耳塞、听筒和可穿戴设备,都是放在或戴在用户嘴边的,而远场设备(如智能扬声器和电视)的设计是为了从房间的另一端聆听用户的声音。
近场设备通常使用一个或两个麦克风,但远场设备通常使用三到八个麦克风。究其原因,远场设备比近场设备面临更多挑战:随着用户移动的更远,到达麦克风的声音逐渐变得更安静,而背景噪音则保持不变。同时,该设备还必须将直接的语音信号与墙壁和其表面的反射(即混响)分开。
为了解决这些问题,远场设备采用了一种称为波束形成的技术。使用多个麦克风,并根据到达每个麦克风的声音信号之间的时间差来计算声源的方向。这使得设备可以忽略反射和其声音,只听用户的声音,并跟踪移动,在有多人交谈的地方放大正确的声音。
对于聪明的演讲者来说,另一个关键任务是识别“触发器”单词,例如“Alexa”。由于演讲者总是在听,这种触发识别会引发隐私问题——如果用户的音频总是被上传到云端,即使不说触发词,对亚马逊或谷歌听到所有的对话感到舒服吗?相反,可以更好地处理触发器识别,以及许多流行的命令,例如在智能扬声器本身的本地“提高音量”,只有在用户启动了更复杂的命令之后,音频才会被发送到云端。
最后,在最终发送到云后端进行进一步处理之前,必须对清澈的语音样本进行编码。
Specialized solutions
专业解决方案
从上面的描述可以清楚地看出,前端语音处理必须能够处理很多任务。必须快速准确地完成这项工作,而且对于电池供电的设备,功耗必须保持在最低限度——即使设备总是在监听触发字。
为了满足这些需求,通用数字信号处理器(dsp)或微处理器在成本、处理性能、尺寸和功耗方面不太可能胜任这项工作。相反,一个更好的解决方案可能是一个特定于应用的DSP,具有专用的音频处理功能和优化的软件。选择已经针对语音输入任务进行了优化的硬件/软件解决方案也将降低开发成本,大幅缩短上市时间,同时降低总体成本。
例如,CEVA的ClearVox是一套语音输入处理算法的软件套件,可以处理不同的声学场景和麦克风配置,包括扬声器的声音到达方向、多麦克风波束形成、噪声抑制和声学回声消除。ClearVox经过优化,可在CEVA sound DSP上高效运行,从而提供一个经济高效、低功耗的解决方案。
除了语音处理,edge设备还需要处理触发字检测的能力。一个专门的解决方案,如CEVA的WhisPro,是实现所需精度和低功耗的极好方法(见图2)。WhisPro是一个基于神经网络的语音识别软件包,专门为CEVA的dsp提供,使原始设备制造商能够在其支持语音的产品中添加语音激活功能。可以处理所需的始终在线监听,而主处理器则在需要时保持休眠,从而显著降低了整个系统的功耗。
图2:使用语音处理和语音识别进行语音激活。
WhisPro可以实现95%以上的触发识别率和多个自定义词组的支持。任何一个使用过智能扬声器的人都可以证明,让可靠地响应叫醒词——即使是在嘈杂的环境中——有时也是一种令人沮丧的经历。正确地使用这一功能可以极大地改变消费者对语音控制产品质量的看法。
语音识别:本地还是云
一旦语音被数字化和处理,就需要某种自动语音识别(ASR)能力。ASR技术有很多种,从简单的关键字检测到需要用户说出特定的关键字,到复杂的自然语言处理(NLP),用户可以像称呼另一个人一样正常说话。
关键词检测有很多用途,即使词汇非常有限。例如,一个简单的智能家居设备,比如电灯开关或恒温器,可能只对一些命令做出响应,比如“开”、“关”、“亮”、“调光”等等。这种级别的ASR可以轻松地在本地、边缘进行处理,而无需互联网连接,从而降低成本,确保快速响应,并避免安全和隐私问题。
另一个例子是,许多Android智能手机可以通过说“cheese”或“smile”来拍照,而将命令发送到云端只需花费太长时间。这是假设互联网连接是可用的,而智能手表或听筒等设备并不总是如此。
另一方面,许多应用程序需要NLP。如果想问回声扬声器天气,或为找到一个酒店今晚,那么可以用许多不同的方式表达问题。该设备需要能够理解命令中可能存在的细微差别和俗语,并且能够可靠地计算出所询问的内容。简言之,需要能够将言语转化为意义,而不仅仅是将言语转化为文本。
以酒店询价为例,可能需要询问大量可能的因素:价格、位置、评论以及其许多因素。NLP系统必须解释所有这些复杂性,以及一个问题可能用的许多不同的措辞方式,以及请求中缺乏清晰性——说“给找一个有价值的中央酒店”对不同的人来说意味着不同的事情。要获得准确的结果,还需要设备考虑问题的上下文,并识别用户何时提出相关的后续问题,或在一个查询中请求多个信息。
这可能需要大量的处理,通常使用人工智能(AI)和神经网络,这对于仅在边缘进行处理来说通常是不实际的。带有嵌入式处理器的低成本设备将没有足够的功率来处理所需的任务。在这种情况下,正确的选择是将数字化语音发送到云端进行处理。在那里,可以对其进行解释,并将适当的响应发送回语音控制设备。
可以看到在设备上的边缘处理和云中的远程处理之间存在权衡。在本地处理所有事情可以更快,而且不依赖于有互联网连接,但将难以处理更广泛的问题和信息获取。这意味着对于一个通用设备,比如家庭中的智能扬声器,至少需要将一些处理推送到云端。
为了解决云处理的缺点,在本地处理器的功能上有了一些发展,在不久的将来,可以看到边缘设备中NLP和AI的巨大改进。新技术正在减少所需的内存量,处理器继续变得更快,更少的耗电量。
例如,CEVA的NeuPro系列低功耗AI处理器为边缘提供了复杂的功能。基于CEVA在计算机视觉神经网络方面的经验,该系列产品为设备语音处理提供了一个灵活、可扩展的解决方案。
结论
语音控制接口正迅速成为日常生活的重要组成部分,并将在不久的将来添加到越来越多的产品中。改进的动力来自更好的信号处理和语音识别能力,以及更强大的本地和云端计算资源。
为了满足原始设备制造商的要求,用于音频处理和语音识别的组件需要在性能、成本和功率方面满足一些严峻的挑战。对于许多设计师来说,针对手头的任务进行了专门优化的解决方案很可能是最好的方法——满足最终客户的需求,并缩短上市时间。
无论基于什么样的技术,语音接口将变得更准确,更容易用日常语言交谈,而其不断下降的成本将使对制造商更具吸引力。这将是一个有趣的旅程,看看下一个被用来做什么。