0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

启用语音的设备测试分步指南

星星科技指导员 来源:嵌入式计算设计 作者:Keyur Shah 2022-10-26 09:57 次阅读

有人说,设备不能做人类能做的一切。然而,我们日常生活中使用的设备在过去几十年中一直在发展。我们已经看到它们在功能,连接性和大小方面的重大变化。然而,最大的挑战之一是设备的尺寸,因为人们投入了更多的精力来实现更小的外形尺寸。

几年前,一个新的挑战出现了:设备不能像人类一样进行通信。这导致独立设备被转换为具有附加语音操作的连接设备。

支持语音的设备如何帮助人类?

最初,需要人工触摸才能在设备上执行任何操作。现在,借助支持语音的设备和物联网技术,人类可以通过语音发出命令来操作设备。这些新发明的设备将人声转换为设备动作,通过互联网向另一台设备发送命令,并执行所需的动作。这些设备不仅可以与人类交互,还可以通过互联网与其他设备进行交互。

语音设备测试的主要挑战

世界各地支持语音的设备的日常使用正在迅速增加。500 多个国家/地区支持 1000 多种语言,这些语言具有不同的口音、性别和基于年龄组的语音调制,这使得验证支持语音的设备变得具有挑战性。在短时间内用这么多不同的组合和排列来测试这些设备几乎是不可能的。因此,让我们看看如何自动测试支持语音的设备。

自动化支持语音的设备测试

为了避免手动测试工作,我们需要设计一个自动化解决方案,该解决方案可用于使用不同的语言测试这些设备。最简单的选择是使用框架,这些框架可以帮助开发具有此类语音集成设备的自动化脚本。

截至目前,市场上没有开源框架可以提供测试与语音设备集成所需的所有功能。此处的挑战是如何以不同的语言向设备发出命令,如何从设备读取响应并测试预期的输出。

要在没有手动操作的情况下向设备发出命令,需要以文本格式标识命令。将文本转换为音频格式。

播放音频,以便启用语音的设备可以收听和处理。

等待来自设备的响应,将其录制在音频文件中,最后一步您需要将此音频转换为文本以匹配预期的格式。

每个设备测试程序都有定制要求;因此,框架必须是模块化的。为了获得解决方案,我们需要设计一个模块化和可扩展的框架,其中该解决方案的每个步骤都可以由市场上可用的开源或付费库实现。

我们在以下框架中设计了4个模块:

多语言文本:将文本从一种语言转换为另一种语言

文本音频模块:将文本转换为mp3

音频文本模块:将 wav 转换为文本

音频模块:

使用音频输出设备播放 mp3 文件

使用麦克风读取音频数据

将音频数据保存到wav文件

详细解决方案

1.准备英文设备命令

a.使用多语言文本模块将设备命令转换为设备可以理解的语言。它使用Google提供的服务进行翻译,您可以在其中将文本从任何源语言翻译成任何所需的语言。

2.为翻译文本创建音频文件

a.使用文本音频模块将文本转换为音频。生成的音频可以在音频输出设备上播放。此模块在后端使用谷歌文本到语音转换服务。

3.播放音频

a.使用音频模块将mp3文件播放到音频输出设备。

b.此步骤要求音频输出设备和启用语音的设备靠近,以便在播放音频时,设备可以捕获音频并处理命令。

4.录制音频

a.此步骤是捕获来自启用语音的设备响应所必需的。

b.使用音频模块从麦克风捕获录音数据。您需要传递持续时间参数以提及您希望录制多长时间,并且模块返回音频样本数据

c.一旦示例数据可用,就需要将其另存为wav(音频)文件。为了实现这一点,可以使用save_audio_to_file方法。此方法获取示例音频数据并将其写入 wav 文件,该文件以后可以使用音频设备播放,也可以用于将其转换为文本。

5.将捕获的音频转换为文本

a.使用文本音频模块将 wav 文件转换为文本内容。这是使用语音识别器实现的。您应该指定输入 wav 文件和音频内容语言。

b.To 将音频转换为文本,则可以使用各种供应商提供的第三方库。

6.将上述文本翻译成英语,并根据英语的预期结果进行验证

使用上述4个模块,一次就可以实现基于语音的集成设备的语音自动化。

家庭自动化产品端到端测试的真实场景

家庭自动化系统由各种设备组成,这些设备可以使用REST服务通过网络进行操作。安全摄像头,灯,恒温器,传感器和门铃是家庭自动化设备的几个例子。例如,作为房主的最终用户可以使用互联网门户远程打开或关闭灯。一些系统提供与Alexa,谷歌等第三方合作伙伴的集成。

公司提供的设备可以收听人声并执行用户请求的操作。因此,将Light视为家庭自动化产品,将Alexa视为家庭自动化系统提供商的第三方合作伙伴,我们希望测试是否可以通过Alexa打开/关闭灯光。

要自动执行 E2E 方案,我们需要使用上面讨论的自动化框架执行以下步骤。

1.准备Alexa命令以打开英语的灯。

a.“Alexa,开灯”

2.将上述命令转换为mp3文件

3.使用连接到自动化机器的扬声器在Alexa设备附近播放mp3文件。

4.在 wav 文件中记录来自 Alexa 的响应。

5.将音频文件转换为文本,可以是“确定,打开灯”或“灯已打开”。

6.使用预期的结果集验证转换后的文本。

7.In 验证,只需提前一步,我们还可以使用以下方法验证实际的物联网灯状态:

a.REST API可用于从家庭安全系统获取光状态

b.可以完成网络安全门户的Web自动化以验证光照状态

c.如果光照状态存储在云数据库中,我们可以从数据库获取数据以验证状态

结论

使用上述步骤,不仅可以仅使用一个支持语音的设备来测试系统集成或端到端测试,还可以通过组合多个客户端或设备来测试系统。用户可以使用Alexa对其中一个设备/产品执行操作,并使用谷歌或门户验证其状态,反之亦然。例如,用户要求 Google 打开指示灯,然后使用 Alexa/客户门户获取指示灯状态。

对于需要从设备到应用程序的全面测试覆盖的产品公司来说,eInfochips是首选合作伙伴。eInfochips 通过测试自动化、SDET(测试软件开发工程师)、左移测试和 DevOps,节省了大量成本和工作量。

审核编辑:郭婷

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

    关注

    5

    文章

    1757

    浏览量

    57393
  • 物联网
    +关注

    关注

    2902

    文章

    44179

    浏览量

    370739
收藏 人收藏

    评论

    相关推荐

    扫地机语音方案WT588F02B-8S,OTA升级支持在线更换语音,快速开发

    ,随着语音交互技术的日益成熟,越来越多的智能设备开始采用语音芯片来实现语音导航、提示和警报等功能。在这种背景下,扫地机加入语音芯片成为了一个
    的头像 发表于 10-25 10:37 155次阅读

    KeyStone ll设备的硬件设计指南

    电子发烧友网站提供《KeyStone ll设备的硬件设计指南.pdf》资料免费下载
    发表于 10-12 14:27 0次下载
    KeyStone ll<b class='flag-5'>设备</b>的硬件设计<b class='flag-5'>指南</b>

    启用多个TPS4019x设备

    电子发烧友网站提供《启用多个TPS4019x设备.pdf》资料免费下载
    发表于 10-10 10:58 0次下载
    <b class='flag-5'>启用</b>多个TPS4019x<b class='flag-5'>设备</b>

    物联网系统中音频方案的“大脑”_语音芯片

    01 物联网系统中为什么要使用语音芯片 物联网系统中使用语音芯片的原因可以归结为以下几个方面: 1、提升用户体验 语音交互:语音芯片使得物联网设备
    的头像 发表于 09-26 14:26 277次阅读
    物联网系统中音频方案的“大脑”_<b class='flag-5'>语音</b>芯片

    CC256x测试指南

    电子发烧友网站提供《CC256x测试指南.pdf》资料免费下载
    发表于 09-11 09:40 0次下载
    CC256x<b class='flag-5'>测试</b><b class='flag-5'>指南</b>

    电池负载测试:综合指南

    在当今的现代世界中,电池为各种设备供电,从智能手机和笔记本电脑到汽车和工业机械。但是,随着时间的推移,电池可能会失去容量和性能,从而导致潜在的问题和不便。这就是电池负载测试发挥作用的地方。本综合指南将探讨电池负载
    的头像 发表于 07-15 07:26 549次阅读
    电池负载<b class='flag-5'>测试</b>:综合<b class='flag-5'>指南</b>

    智能设备中的语音是如何写入语音芯片的

    语音写入语音芯片需经语音文件准备、格式转换、烧录过程、烧录方式选择和调试测试。虽非直接通过电脑写入,但电脑在其中扮演重要角色。
    的头像 发表于 07-10 11:45 569次阅读

    TC333LP使用MEMTEST寄存器启用测试模式会导致总线错误的原因?

    ,没有出现任何问题。 当我们要初始化 CPU0 的 DSPR SRAMS(DMEM 和 DMEM1)时,情况就发生了变化。 使用 MEMTEST 寄存器启用测试模式会导致总线错误。 DMEM
    发表于 05-23 07:11

    stm32f0怎么不使用语音IC做合成语音

    我这边板子就一个功放电路,要求不使用语音IC做语音,我听别人说去了解MP3这一方面,但我只找到MCU软解码,但我怎么不了解,不清楚怎么做成自己的语音,要的是语音,不是歌曲
    发表于 04-25 06:00

    fpga通用语言是什么

    FPGA(现场可编程门阵列)的通用语言主要是指用于描述FPGA内部逻辑结构和行为的硬件描述语言。目前,Verilog HDL和VHDL是两种最为广泛使用的FPGA编程语言。
    的头像 发表于 03-15 14:36 476次阅读

    智能声控灯具应用语音识别芯片AT6811

    AT6811是一款超低功耗的离线智能语音识别芯片,集成了先进的语音活动监测(VAD)、声纹识别、自动消噪神经网络,拥有高效的电源管理模块、数字和模拟语音信号输入接口以及ARMCortex-M0内核,并且搭配了GPIO、UART、
    的头像 发表于 02-28 16:41 576次阅读
    智能声控灯具应<b class='flag-5'>用语音</b>识别芯片AT6811

    XMC1300在启用定时器中断时会进入硬故障处理程序的原因?

    EVAL_IM_FLEX_ADAPTER_V1 DAVE™ 中为 XMC 1300 编写程序,其中包括 SPI 和 EEPROM。 我的程序在启用定时器中断时会进入硬故障处理程序,所以我想知道为什么。 有人能给我一个分步教程如何找出原因吗? 我知道我应该看看 CFSR 登
    发表于 01-18 07:34

    科大讯飞语音控制模块怎么用

    科大讯飞语音控制模块是一种人机交互技术,它利用语音识别和语音合成技术,使用户可以通过语音指令来控制设备或应用程序。本文将详细介绍科大讯飞
    的头像 发表于 12-25 13:58 1665次阅读

    32高效细分步进驱动器介绍

    32高效细分步进驱动器 TB67S581FNG,用于替代传统的DRV8825,为您的机械设备带来卓越的性能提升。
    的头像 发表于 12-20 10:59 607次阅读
    32高效细<b class='flag-5'>分步</b>进驱动器介绍

    使用LTC2937排序和监督的分步指南

    电子发烧友网站提供《使用LTC2937排序和监督的分步指南.pdf》资料免费下载
    发表于 11-24 14:39 0次下载
    使用LTC2937排序和监督的<b class='flag-5'>分步</b><b class='flag-5'>指南</b>