如何在资源有限的 MCU 上实现语音用户界面

描述

投稿人:DigiKey 北美编辑

智能扬声器和其他连接的集线器构成了智能家居的核心,允许用户控制设备和访问互联网。随着这些设备的激增,有两个明显的趋势:用户更喜欢语音控制而不是按钮按下或复杂的菜单系统,并且出于隐私问题,人们对持续的云连接越来越不舒服。

然而,强大且安全的语音用户界面 (VUI) 通常需要强大的硬件和复杂的软件来进行语音识别。任何不足都可能导致性能不佳和用户体验不佳。此外,许多智能扬声器和集线器都是电池供电的,因此 VUI 必须在紧张的功耗预算内实现。对于缺乏语音界面经验的开发人员来说,这样一个雄心勃勃的项目可能会令人望而生畏。

芯片制造商对此做出了回应,推出了一种基于音素的技术,可显着降低处理要求。结果是高度准确和高效的 VUI 软件,可以在熟悉的 32 位微控制器 (MCU) 上运行,并得到易于使用的设计工具的支持。

本文介绍了 VUI 挑战和用例。然后,它介绍了易于使用的商业 MCU 应用软件和用于互联家庭应用的基于本地音素的 VUI 软件。本文最后向开发人员展示了如何使用瑞萨MCU、VUI 软件和评估套件开始 VUI 项目。

构建 VUI 的挑战

VUI 是语音识别技术,可使用语音命令与计算机、智能手机、家庭自动化系统或其他设备进行交互。经过早期的工程挑战,该技术已成熟为可靠的控制接口,现已广泛应用于智能扬声器和其他智能家居设备。 VUI 的主要优势在于其便利性:可以从语音范围内的任何位置进行即时控制,无需使用键盘、鼠标、按钮、菜单或其他界面来输入命令(图 1)。

mcu图1:VUI技术因其方便灵活而在家庭和智能建筑中得到广泛采用。 (图片来源:瑞萨)

VUI 的缺点是其复杂性。传统技术基于使用特定单词或短语对模型进行长时间训练。但自然语言处理与词序无关,这需要大量的开发工作和强大的计算能力才能实时运行。这减缓了 VUI 的更广泛采用。

现在,一项新技术简化了 VUI 软件,使其可以在小型高效微控制器 (MCU)(例如[Arm®] Cortex®-M 设备)上运行。该技术依赖于这样一个事实:每种口语中的所有单词都是由称为音素的语言声音组成的。音素比单词少得多;英语有 44 个,意大利语有 32 个,而传统的夏威夷语只有 14 个。如果 VUI 使用包含 200 个单词的英语命令集,则每个单词都可以从 44 个单词集中分解为其相关的音素。

在 VUI 软件中,每个音素都可以通过数字代码(或“标记”)来识别,各种标记形成语言。将单词存储为声音需要大量的计算资源,并且比存储为标记的音素占用更多的内存空间。按预期顺序处理音素标记(以及命令字)可进一步简化计算,并使在适度的 MCU 上本地运行 VUI 软件成为可能(图 2)。

mcu图 2:使用音素表示单词需要更少的微控制器资源。 (图片来源:瑞萨)

这意味着通过使用音素实现的软件效率允许处理在本地运行。消除对云处理的需求意味着不需要持续的互联网连接,这会带来用户隐私和数据安全问题。

瑞萨电子展示了基于音素原理的商业 VUI 软件包,作为其生态系统的一部分。该软件名为[Cyber​​on DSpotter],创建了一种 VUI 算法,该算法足够精简,可以在采用 Arm Cortex-M4 和 M33 内核的瑞萨[RA]系列 MCU 上运行。

使用 Cyber​​on DSpotter 进行开发

Cyber​​on DSpotter 建立在音素和音素组合库的基础上。这是识别特定单词的传统且计算量大的算法训练的替代方法。要将单词分解为音素,然后将它们表示为标记,开发人员可以使用 DSpotter 建模工具。

DSpotter 是嵌入式(非云)软件,可用作本地语音触发和命令识别解决方案,具有强大的降噪功能。它消耗最少的资源并且高度准确。根据所选的 MCU,还可以实现安全数据传输。

DSpotter 会询问每个命令词或短语,该工具会将其分解为音素。然后,VUI 的命令集和支持数据被构建到一个二进制文件中,开发人员将其与 Cyber​​on 库一起包含在项目中。该库和二进制文件在 MCU 上一起使用,以支持所需语音命令的识别。

DSpotter工具创建“CommandSets”,可以通过开发人员的程序进行逻辑连接,以创建不同级别的VUI。这允许多级命令,例如“我想将灯泡设置为高”:命令词为“lightbulb”,后跟“set”和“high”。组中的每个命令都有自己的索引,级别中的每个命令也有自己的索引(图 3)。

mcu图 3:DSpotter 工具允许创建“CommandSet”,这些“CommandSet”可以通过开发人员的程序进行逻辑连接,以创建不同级别的 VUI。 (图片来源:瑞萨)

DSpotter 库处理传入的声音并搜索与数据库中的命令匹配的音素。当它找到匹配项时,它会返回索引和组号。这种安排允许主应用程序代码创建分层 switch 语句来处理命令词/短语。生成的库足够小,可以安装在仅具有 256 KB 闪存和 32 KB SRAM 的 MCU 上。如果有更多可用内存,命令集就会增长。

对于开发人员来说,重要的是要认识到 VUI 的音素方法存在限制。 MCU 的资源相对有限,决定了 Cyber​​on DSpotter 是语音识别而不是语音识别。这意味着该软件无法执行自然语言处理。因此,如果命令词不遵循逻辑顺序(例如,“high”、“lightbulb”、“set”而不是“lightbulb”、“set”、“high”),系统将无法识别命令并将重置回顶层。

一项设计建议是在 VUI 中添加一个视觉指示器(例如 LED),以指示处理器何时假定它位于 CommandSet 的顶层,从而提示用户按逻辑顺序重新发出命令(图 4) 。

mcu图 4:Cyber​​on DSpotter 的简化特性要求命令遵循逻辑顺序,否则将无法识别。 (图片来源:瑞萨)

运行资源受限的非云 VUI

Cyber​​on DSpotter 的效率使其能够在瑞萨电子的 RA2、RA4 和 RA6 系列 Arm Cortex-M MCU 上运行。这些在广泛的消费、工业和物联网应用中很受欢迎。它们由易于使用的设计工具支持,使得构建简单的 VUI 相对简单,无需丰富的编码经验或内部专业知识。

特定 RA 系列 MCU 的选择主要取决于命令的复杂性和 Cyber​​on 库的大小。智能灯开关需要适度的命令集和有限的计算能力才能有效运行,可以基于RA4 系列的R7FA4W1AD2CNG 。该 MCU 具有电池友好型 48 兆赫 (MHz) Arm Cortex-M4 内核,并由 512 KB 闪存和 96 KB SRAM 支持。它具有段式 LCD 控制器、电容式触摸感应单元、蓝牙低功耗 (Bluetooth LE) 无线连接、USB 2.0 全速、14 位模数转换器 (ADC)、12 位数字转换器- 模拟转换器 (DAC),以及安全和安全功能(图 5)。

mcu图 5:R7FA4W1AD2CNG MCU 提供充足的资源来为智能灯开关等应用构建非云 VUI。 (图片来源:瑞萨)

智能音箱等应用需要更广泛的 Cyber​​on DSpotter 库和更强大的内核。R7FA6M4AF3CFM是一个合适的候选者。 RA6 系列的这款 MCU 具有更强大的 200 MHz Arm Cortex-M33 内核,并由 1 兆字节 (Mbyte) 闪存和 256 KB SRAM 支持。它具有 CAN 总线、以太网、I²C、LIN 总线、电容式触摸感应单元以及许多其他接口和外设。

RA4 和 RA6 系列分别由评估板RTK7EKA4W1S00000BJ和RTK7EKA6M4S00001BE支持,以允许开发人员运用 MCU 的功能。每个评估板都有目标 MCU 和板载调试器。

瑞萨电子还提供 VUI 解决方案套件来加速开发。该套件与评估板类似,都包含目标器件和调试器。该板还具有多个 I/O 接口和四个麦克风:两个模拟麦克风和两个数字麦克风。

您可以在 Cyber​​on 的网站上访问使用 VUI 解决方案套件进行开发所需的软件。其中包括免费的 Cyber​​on DSpotter 建模工具访问,并具有带有工作语音命令集的e ^2 studio 项目(e ^^2^ studio 是适用于瑞萨 MCU 的基于 Eclipse 的集成开发环境 (IDE))。示例 CommandSet 可用作开发自定义语音命令序列的模板。然后可以使用终端窗口监视系统的反应。创建如图 4 所示的 VUI 结构通常需要大约 15 分钟。

该公司的 Renesas灵活软件包(FSP)支持 Cyber​​on 软件包的更复杂的应用软件设计,用于使用 RA 系列进行嵌入式系统设计。 FSP 基于开放软件生态系统,包括 Azure RTOS 或 FreeRTOS、遗留代码和第三方生态系统。它可以在多种 IDE 中运行,包括 e ^2^ studio。

VUI 的表现如何?

VUI 在安静的实验室中表现良好是一回事,但在背景噪音较大的情况下准确工作则完全是另一回事。智能扬声器的典型操作环境可能包括电视或收音机、对话、其他音乐源以及家庭或社交聚会的喧嚣。此外,VUI 还必须应对方言和不太完美的用语。尽管存在这些挑战,用户仍期望几乎完美的性能。

为了提高困难聆听环境中的性能,在瑞萨 RA 系列 MCU 上运行的 Cyber​​on DSpotter 软件包含需要最少处理器资源的抗噪功能。为了证明其功效,我们使用 Cyber​​on DSpotter VUI 进行了测试,在 1.5 米和 3 米 (m) 距离处听命令,同时受到各种背景噪声源的影响,信噪比 (SNR) 为 0、5 和 5。 10 分贝 (dB)。在所有情况下,VUI 的性能均优于 Amazon Alexa 基准(表 1)。

| | 信噪比 | 背景噪音 | 距离 | 命中率 | ALEXA 要求 |
| ---------------------- | ---------- | ------- | --------- | ------------ |
| (干净的) | 没有任何 | 1.5米 | 100.00% | 90% |
| (干净的) | 没有任何 | 3米 | 100.00% | 90% |
| 10分贝 | 潺潺 | 1.5米 | 98.55% | 80% |
| 10分贝 | 潺潺 | 3米 | 98.84% | 80% |
| 10分贝 | 音乐 | 1.5米 | 98.26% | 80% |
| 10分贝 | 音乐 | 3米 | 98.55% | 80% |
| 10分贝 | 电视 | 1.5米 | 98.84% | 80% |
| 10分贝 | 电视 | 3米 | 98.55% | 80% |
| 5分贝 | 潺潺 | 1.5米 | 98.84% | 80% |
| 5分贝 | 潺潺 | 3米 | 96.24% | 80% |
| 5分贝 | 音乐 | 1.5米 | 98.84% | 80% |
| 5分贝 | 音乐 | 3米 | 97.08% | 80% |
| 5分贝 | 电视 | 1.5米 | 93.37% | 80% |
| 5分贝 | 电视 | 3米 | 90.72% | 80% |

表 1:Cyber​​on 驱动的 VUI 在各种背景噪声源下的命令成功测试结果。在所有情况下,VUI 的性能均优于 Amazon Alexa 基准。 (图片来源:瑞萨)

结论

VUI 正在迅速成为智能产品的首选消费者控制界面。使用音素作为命令基础的语音控制方法和严格的命令结构可以显着降低内存和计算要求,从而允许该技术在小型、资源受限的 MCU 上本地运行。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分