1 如何在资源有限的 MCU 上实现语音用户界面-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

海阔天空的专栏 来源:DigiKey 作者:DigiKey 2024-01-01 14:11 次阅读

投稿人:DigiKey 北美编辑

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

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

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

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

构建 VUI 的挑战

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

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

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

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

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

使用音素表示单词的图像图 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)。

DSpotter 工具的图像允许创建“CommandSets”图 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) 。

Cyber​​on DSpotter 的流线型图像图 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 位数字转换器- vwin 转换器 (DAC),以及安全和安全功能(图 5)。

瑞萨R7FA4W1AD2CNG 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 RTOSFreeRTOS、遗留代码和第三方生态系统。它可以在多种 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 上本地运行。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17123

    浏览量

    350975
  • 扬声器
    +关注

    关注

    29

    文章

    1300

    浏览量

    62979
  • 语音识别
    +关注

    关注

    38

    文章

    1739

    浏览量

    112632
  • RA
    RA
    +关注

    关注

    0

    文章

    19

    浏览量

    24675
收藏 人收藏

    评论

    相关推荐

    请问如何在收到的语音数据里面判断语音停顿

    何在收到的语音数据里面判断语音停顿,如果是根据能量的话,如何实现呢?我们收到的语音数据压缩后,有说话跟没有说话几乎没有区别,,,,
    发表于 02-19 22:31

    MSP432用MCU实现语音识别

    语音内容,不过对于小型低功耗的嵌入式应用而言,也许只需识别几个定义明确的短语就大功告成了,例如“给我的咖啡加热”或“关灯”等。最近,德州仪器(TI)在CES所展示的低功耗MSP432? MCU上演示了这个功能。
    发表于 07-12 06:06

    基于MSP432 MCU语音识别设计概述

    语音内容,不过对于小型低功耗的嵌入式应用而言,也许只需识别几个定义明确的短语就大功告成了,例如“给我的咖啡加热”或“关灯”等。最近,德州仪器(TI)在CES所展示的低功耗MSP432™ MCU上演
    发表于 07-30 04:45

    如何利用MCU实现语音识别?

    人们对于微控制器(MCU)因过小而无法识别语音常常有误解,如何利用MCU实现语音识别呢?
    发表于 04-02 07:20

    何在RK3399平台实现4G语音通话和短信功能呢

    何在RK3399平台实现4G语音通话和短信功能呢?有哪些步骤?
    发表于 03-07 07:48

    AT32实现关键词语音识别(KWS)

    AT32实现关键词语音识别(KWS)本文基于此开源模型和代码,在AT32 MCU 对KWS 效果进行展示。
    发表于 10-26 07:45

    MCU简化触觉和段液晶为基础的用户界面设计

    许多基于MCU的产品使用触摸和一个简单的LCD输出来实现用户界面设计的消费,工业和家电应用。这些设备的例子都在我们身边:恒温器,闹钟/时钟,心率监视器,葡萄糖监视器,计算器,电子玩具,安全系统,多米,微波炉,洗衣机/干衣机,等等
    发表于 06-06 14:10 5次下载
    <b class='flag-5'>MCU</b>简化触觉和段液晶为基础的<b class='flag-5'>用户</b><b class='flag-5'>界面</b>设计

    何在MATLAB图形用户界面设计中使用ActiveX控件

    何在MATLAB图形用户界面设计中使用ActiveX控件(电源技术期刊官网网址)-MATLAB的图形用户界面开发环境 ( GUIDE)支持
    发表于 09-27 12:29 6次下载
    如<b class='flag-5'>何在</b>MATLAB图形<b class='flag-5'>用户</b><b class='flag-5'>界面</b>设计中使用ActiveX控件

    MCU资源分类

    、SPI等外设资源整合在单一芯片,形成芯片级的计算机,用于各种低成本、低要求的控制应用场合。根据实际应用场景的不同,MCU资源可根据需
    发表于 10-28 09:40 13次下载
    <b class='flag-5'>MCU</b>片<b class='flag-5'>上</b><b class='flag-5'>资源</b>分类

    CEVA为TI SimpleLink™ Wi-Fi®无线MCU提供语音用户界面解决方案

    CEVA的WhisPro语音识别和控制软件现可用于TI的CC3235x系列MCU,为物联网终端带来强大功能的超低功率语音用户界面 全球领先的
    的头像 发表于 11-23 15:35 725次阅读

    DB4619 适用于STM32Cube的本地语音用户界面软件扩展

    DB4619 适用于STM32Cube的本地语音用户界面软件扩展
    发表于 11-23 20:29 0次下载
    DB4619 适用于STM32Cube的本地<b class='flag-5'>语音</b><b class='flag-5'>用户</b><b class='flag-5'>界面</b>软件扩展

    有关设计对语音用户界面的一些挑战和最佳做法

      语音交互是21世纪最具颠覆性的技术之一。每天都有越来越多的设备通过语音用户界面(VUI)组件进入市场。虽然语音支持设备的许多技术挑战已经
    的头像 发表于 12-02 11:47 731次阅读

    何在AT32 MCU使用FPU功能

    何在AT32 MCU使用FPU功能
    的头像 发表于 11-01 17:18 4054次阅读
    如<b class='flag-5'>何在</b>AT32 <b class='flag-5'>MCU</b><b class='flag-5'>上</b>使用FPU功能

    何在雅特力AT32 MCU实现关键词语音识别(KWS)

    和家用电器语音激活功能,已经是语音交互设计产品的广泛需求。对于KWS,实时响应和高精度才能获得良好的用户体验。最近,神经网络已成为KWS架构的一个有吸引力的选择
    的头像 发表于 01-06 08:14 916次阅读
    如<b class='flag-5'>何在</b>雅特力AT32 <b class='flag-5'>MCU</b><b class='flag-5'>上</b><b class='flag-5'>实现</b>关键词<b class='flag-5'>语音</b>识别(KWS)

    MCU如何实现AI功能

    在讨论如何在微控制器单元(MCU实现AI功能时,我们需要认识到MCU通常具有较为有限的计算
    的头像 发表于 07-19 11:51 890次阅读