超低功耗解决方案如何赋能Always-on语音交互系统,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

消费者越来越需要可以随时通过语音控制的产品,可以与数字世界更加安全的和自然的交互。

特别是随着COVID-19在全球的肆虐,也在深刻改变着人们的生活习惯 – 更加倾向于避免物理的接触,而倾向于不用手的语音交互方式。

人们对公众场合各种接触界面病毒传播的担忧,正在驱动语音交互更加快速的进入到包括智慧城市,智能家居,以及各种工业应用中去。

直到先进的能量效率(power-efficient)更高的硬件和软件技术的发展,各种编写的和需要电池驱动(battery powered products)产品实现随时的语音监听和交互才成为了可能。

以下内容来自于Ambiq+Vesper+DSPC联合发布的白皮书,共同探讨了技术,应用的突破,如何使超低功耗的Always-on语音交互产品成为了可能。

以前的一些语音交互产品,需要以案件的方式(Push-to-talk)唤醒设备,而不是通过唤醒词。而在Always-on语音交互系统中,比如Amazon Echo, Apple HomePod, Google Home等已经采用唤醒词环形的方式,如Alexa和OK Google。

包括Sensory, Ambiq, Vesper, DSPG正在协力(in tandem)力求在提升语音交互体验的同时,降低系统功耗,如Ambiq的微控制器其功耗仅为其他传统处理器的十分之一,而Vesper的麦克风也将总体系统功耗进一步降低为传统系统的十分之一。

SPOT by Amibiq

得益于其SPOT(Sub-threshold Power Optimized Technology),Ambiq的MCU和SoCs仅需传统音频处理器的十分之一的安培,非常适合于超低功耗的听力设备,穿戴设备和其他移动设备(hearables, wearables, and other mobile applications)。

Adaptive ZPL by Vesper

Vesper麦克风提供前所未有的ZPL引擎,可以实时监听音频信号水平并随后激活音频处理器处理特定的音频(activate hibernating audio processor in response to a specific audio event),从而将系统总体功耗进一步减低90%。

Audio Weaver by DSP Concept

TalkTo音频前端处理算法及Audio Weaver平台可以通过简单的拖拽的方式(drag-and-drop)界面开发先进的基于嵌入式处理器的语音相关设计。

Sensory可提供其中的语音唤醒词识别引擎和唤醒词模型。

需要Always-on语音交互的典型应用 – 

Always-on语音控制便携设备所面临的技术挑战 – 

高功耗

电池驱动的便携设备由于尺寸的限制,不能采用较大容量的电池,同时处理器有需要对语音唤醒词做出即时反应(ultra-responsive),因此需要至少一个麦克风处于时刻监听状态。
 

同时由于电池驱动的便携设备由于产品形态和产品尺寸限制,需要依靠高度集成的SOC处理器,因此很难通过关闭一部分功能来降低功耗。
 


待机时间

厂商在不断提升产品单次充电使用时长上面临着持续的竞争和挑战,如一般的TWS耳机均已经实现单次充电可使用5个小时以上,结合电池仓则可以方便的延长产品的使用寿命。

不可靠的互联网链接

穿戴产品通常作为手机的附件,通过低功耗蓝牙与手机通信,而网络在很多地方是不可靠的。因此设备本身,需要具备一定的小单词量语音识别的处理能力。(process a small vocabulary of voice commands )
 


产品形态和结构设计限制

环境因素限制

语音驱动产品的麦克风需要满足在复杂环境情况下的正常使用,如IPX5和IPX7。
 

便携语音控制设备的硬件选型 – 

麦克风阵列

环形阵列,比如应用于智能音箱的产品。常用于家庭电器和TV的麦克风阵列,但是受限于不同产品的空间布局,如间距10到20毫米的要求,如TWS耳机仅仅可能支持两个麦克风的布局。

关于麦克风选型 – 

比如Vesper的VM3011在"wake on sound“模式下,仅需消耗10微安的电流,通过超低功耗的模拟电路,可以监听和给你总环境声水平,仅仅在监听识别到高于背景噪音的声音后才会激活后端系统,可以使系统在81%到92%时间内处于睡眠状态,从而可以极大的降低系统功耗。

音频处理器的选型 – 

Ambiq的SPOT技术加持的Apollo处理器仅消耗传统音频处理器十分之一的电池能量。

比如Apollo 2和Apollo 3 Blue – 

Apollo 3更是将功耗进一步降低(6微安每MHz),将主频进一步提升,支持多麦克风信号的处理。

语音驱动编写产品的软件和算法 – 

基本的算法结构包括 – 

Sound Detector

如Vesper的ZPL自适应麦克风当声音超过一定阈值之后,如用户呼叫唤醒词,麦克风就会识别并发出信号激活系统,且整个的反应时间不超过200微秒。
 


Noise reduction and filtering

如Vesper ZPL可以过滤掉环境噪声

Beamforming

通过处理多个麦克风信号来获取声音的指向性信息,只接受特定方向的声音型号,而拒绝来自其他方向的声音信号。对于诸如耳机或者是车载环境下的麦克风阵列,其用户声源的方向性是确定的(the direction of the user's voice relative to the microphone array is known),而对于其他设备如智能音箱,遥控器,安装在墙上的家庭设备自动语音控制器等等,声源信息是不确定性的。

Acoustic Echo Canceling

回音消除会拒绝掉来自设备自身的声音,这样可以更清楚地提取用户的声音,尽可能地降低用户声音的回路畸变(distortion),对于获得更好的AEC性能是非常重要的。DSPC的立体声AEC算法,可以消除高达35dB的回声。
 

Wake-word detecion

当设备检测到声音激活处理单元,会将音频录音与预先存储的唤醒词数字文件进行比对,如果其波形与存储模型非常接近,那么设备将开始接收语音命令信号。
 

不同于其他的便携设备,对于智能音箱只需要检测唤醒就可以了,而将接下来的语音命令识别上传至云端完成(offload other voice recognition tasks to an external cloud)。通常唤醒词识别由设备端完成,但如AMAZON也可在云端执行进一步的更准确的唤醒词识别(enable additional wake word checks in cloud)。

Adaptive Interference Canceler

Local Command Set Recognition

由于很多的便携设备实际上并没有连接到互联网云端,因此需要在设备端自己完成包括唤醒词和语音命令在内的语音识别和交互,而这些本地语音命令所执行的功能通常会非常有限,如PLAY, PAUSE, SKIP TRACK, REPEAT, ANSWER CALL等等。
 

其他通过蓝牙或WIFI连接到手机的穿戴类产品如耳机,则可以在手机端完成语音命令的识别。
 


Real-word Products

在真实的产品环境中,如运行于Ambiq Apollo 3和DSP Concept TalkTo算法的遥控器,在一米的测试距离,同时两米开外有TV以62-78dB播放音频,而语音的播放声强为65dB,其获得的SNR如下 –
 

单麦克风需要之上3dB的SNR才可以达到唤醒词识别率超过80%,2-Mic波束成形加上单信道噪音消除(SCNR, Single Channel Noise Reduction)算法与AIC一样仅需要0dB SNR。

随着SNR逐步恶化,AIC可获得更加的性能,如-6dB SNR下约10%的性能替提升。

Algorithm Tuning算法调教

以上的算法相当的复杂,需要针对具体产品,如便携穿戴产品与家居产品,其使用环境和使用场景相当不同,需要做出相应的调整(be adjusted to suit the application, where the environment and use patterns are quite different)。以下为需要调教的算法功能以便获取最优的语音识别精度(optimum voice recognition accuracy)。

Detection/Wake Threshold

如何正确的平衡唤醒率和误唤醒率需要在不同的use case综合考虑。比如遥控器通常在1米左右的操作距离,一般需要把唤醒灵敏度阈值设置的较低些,而穿戴产品一般则需要设定的较高些以避免误唤醒。

对于其他的便携设备来说,理想状态是可以依据不同的噪音环境动态调节家已补偿(adjusted dynamically to compensate for varing level of ambient sounds)。

Noise Reduction/Canceling

设备需要针对不同应用的不同噪音类型进行调校而实现降噪的功能。(be tuned to reject different types of noises depending on their application)。比如车载环境下的不同速度的路噪和引擎噪音相对来说是确定性的,因此相对容易的可以调校语音识别系统去除此类噪声。

同时消噪算法也可以根据变化的环境而动态的调整(funtions dynamically by adapting to the chaning environment)。

Beamformer Beamwidth

Beamwidth相对来说越紧的话,其对环境噪音的屏蔽就越好,但同时也会造成在用户轻微移动的时候容易发生无法提取用户声音的情况(beamwidth too tight causes the unit to reject the user's voice if the user moves slightly)。

对于耳机产品来说,用户与产品麦克风之间的相对位置是固定的,因此可以将Beamwidth设置的较为紧(tight)些,而对诸如遥控器产品或者是家用的控制面板(home automation panel),Beamwidth应设置的宽些(wider)以便在用户移动的时候,也可以拾取用户的声音。

Wake/Sleep Strategies

确保产品省点的方法之一是尽可能的使产品处于休眠状态,当然更需要的是平衡,如果过于快速的让设备进入休眠状态,可能会无法捕捉用户在唤醒词激活后的语音命令。用户不得已要再次说出唤醒词,这样会让人相当的抓狂。但是如果让设备进入休眠状态过慢,又会造成不必要的电量的消耗。

其中语音识别引擎部分,可选用Sensory TrulyHandsFree –