摘要:波士顿动力的机器狗,想要么?快来跟我一起动手制作吧。

波士顿动力的机器狗了解吗?

一个会后空翻、会开门、会爬楼梯的AI。

最近,我们实验室就来了一批mini版的机器狗,虽然不会各种高难度杂技动作,但在我们各种捣鼓下,现在特别“能说会道”。

目标:一只具备语音交互的机器狗

当前,采用API访问云端实现诸如语音识别、语音合成模块功能,逐渐可以简化或者取代一些复杂的本地资源部署,快速实现相应的功能。

但对于一些语音交互科研机器人,语音服务经常面临本地部署设备数目少、部署成本高、维护麻烦等问题。寻求低成本、部署方便、语音合成迅速的语音交互服务模块,成为设计语音交互机器人的关键瓶颈。

这次,我们对机器狗科研Demo样机搭载语音识别ASR、自然语言处理NLP、语音合成TTS服务,从而实现准确快速的语音识别、多音色富有情感的语音合成、语音运动控制、智能提醒等功能。

针对上述要求,我们选用了华为云的语音识别ASR、语音合成TTS以及自然语言处理NLP产品。具体实验改造过程其实很简单,分为三步:

  1. 在本地设备部署语音唤醒服务,设备语音唤醒后,将录音片段通过华为云的语音识别接口传至华为云进行语音识别处理。
  2. 将华为云返回的语音识别文字信息在本地进行自然语言处理,或运用华为云的自然语言处理模块进行自然语言处理得到相应的语义、控制指令信息。
  3. 将需要语音合成的文字通过华为云的语音合成接口传至华为云,得到相应的音频信息。

图:业务架构图/方案截图:

诞生!一只可对话的机器狗

最终,通过华为云的语音识别相关产品,这只机器狗既能听懂人话,还能和大家交流,具体可以实现以下几个场景的语音交互。

控制指令识别:通过语音识别服务,在本地通过正则匹配,数据库对比等操作,得到语音信息中的控制指令信息,用于机器人的语音控制。

对话语音的语音转写:运用语音识别服务,获取语音信息中相应的文字信息,用于自然语言处理模块的文本输入,或者对话机器人API的输入。

自然语言处理:通过华为云的自然语言处理服务,得到相应的回复语言,用于智能对话、智能提醒等功能。

语音合成功能:运用华为云的语音合成服务实现对答文本的语音合成服务。

虽然身形没有波士顿动力的机器狗灵巧,但是在语音对话方面,这只机器狗或许要略胜一筹。

体验下来,华为云的语音识别类产品还是相当不错的。

首先它简化了语音交互模块的配置,学生可以轻松通过API调用的方式实现语音识别、语音合成等服务,简单便捷。

其次,提升了语音交互的质量。得益于华为云低延时高速的特性,在线服务可以与本地服务媲美,语音识别准确率很高,同时语音合成提供了多种语音交互音色供开发者使用。遗憾的是,当前对长语音的识别速度需要进一步优化,而且语音合成可以考虑中英语音的合成,提升中英语音合成的情感度,衔接的自然度。

现在,华为云的语音识别产品正在优惠中,1元就能体验语音语义服务,一分钱不花也可以享受一天的智能对话机器人,算下来,至少能省几大百,喜欢DIY机器人的赶紧上车。

点击关注,第一时间了解华为云新鲜技术~

史上最强DIY,手工制作一只会说话的机器狗的更多相关文章

  1. 史上最强Java NIO入门:担心从入门到放弃的,请读这篇!

    本文原题“<NIO 入门>,作者为“Gregory M. Travis”,他是<JDK 1.4 Tutorial>等书籍的作者. 1.引言 Java NIO是Java 1.4版 ...

  2. 史上最强maven配置详情

    史上最强maven配置详情 优点 对第三方依赖库进行了统一的版本管理 统一了构建过程 统一了项目的目录结构 构建 清理 : mvn clear 编译 : mvn compile 测试 : mvn te ...

  3. 一文深入了解史上最强的Java堆内缓存框架Caffeine

    它提供了一个近乎最佳的命中率.从性能上秒杀其他一堆进程内缓存框架,Spring5更是为了它放弃了使用多年的GuavaCache 缓存,在我们的日常开发中用的非常多,是我们应对各种性能问题支持高并发的一 ...

  4. JVM面试题(史上最强、持续更新、吐血推荐)

    文章很长而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三部 ...

  5. Java算法面试题(史上最强、持续更新、吐血推荐)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  6. Webbrowser控件史上最强技巧全集

    原文:Webbrowser控件史上最强技巧全集 Webbrowser控件史上最强技巧全集 VB调用webbrowser技巧集 1.获得浏览器信息: Private Sub Command1_Click ...

  7. 史上最强php生成pdf文件,html转pdf文件方法

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  8. Android, IOS 史上最强多语言国际化,不仅第一次会尾随系统,并且会保存用户的语言设置

    劲爆消息,我提供源代码了.你能够先看完再下载.也能够先下载再看完, android源代码地址: https://github.com/hebiao6446/------Bluetooth-Androi ...

  9. 金九银十,史上最强 Java 面试题整理。

    以下会重新整理所有 Java 系列面试题答案.及各大互联网公司的面试经验,会从以下几个方面汇总,本文会长期更新. Java 面试篇 史上最全 Java 面试题,带全部答案 史上最全 69 道 Spri ...

  10. julia,集Python、C++、R为一体!Julia 1.0重磅发布, MIT发布史上最强科学计算编程语言?创始人独家解答11个问题

    这个编程语言的新版本之所以受到整个人工智能界的关注,最主要的原因正是其将 C 语言的速度.Ruby 的灵活.Python 的通用性前所未有地结合在一起,支持并行处理,易于学习和使用,尤其适合科学和工程 ...

随机推荐

  1. 【最佳实践】高可用mongodb集群(1分片+3副本):规划及部署

    结合我们的生产需求,本次详细整理了最新版本 MonogoDB 7.0 集群的规划及部署过程,具有较大的参考价值,基本可照搬使用. 适应数据规模为T级的场景,由于设计了分片支撑,后续如有大数据量需求,可 ...

  2. Cloud Bursting解决方案,Serverless容器降本增效极致体验

    本文分享自华为云社区<DTSE Tech Talk | 第42期:Cloud Bursting解决方案,Serverless容器降本增效极致体验>,作者:华为云社区精选. 线下IDC自建K ...

  3. mysql学习之数据备份和恢复

    一.使用mysqldump进行备份 如:将test数据库备份到/tmp/mysql_back/目录下 [root@localhost tmp]# mysqldump -uroot -p111 -l - ...

  4. 二。docker安装mysql 并配置

    1.docker安装mysql 1.1使用docker拉取mysql的镜像 docker pull mysql:5.7 1.2通过镜像启动 docker run -p 3306:3306 --name ...

  5. 关于区间DP的一点点心得(虽然还是很菜)

    自己今天对于区间 DP 的一个总结 区间 DP 的数组一般是二维,其状态一般表示区间 \((l,r)\). 区间 DP 在思考的时候是有一定套路的,思考时可以按照如下方式进行思考: 这段区间要维护的信 ...

  6. python之if语句处理列表

    目录 检查特殊元素 确定列表不是空的 使用多个列表 检查特殊元素 在我们上期讲的python之史上最详细if教程就提到过有关于列表的关系运算符 那我们现在来创建并且打印一个列表先 list_1 = [ ...

  7. C语言求100以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。

    /* 开发者:慢蜗牛 开发时间:2020.5.28 程序功能:求100以内的素数 */ #include<stdio.h> int prime(int m); int prime(int ...

  8. 超详细的Mysql锁 实战分析,你想知道的都在这里~

    1.mysql回表查询 在这里提起主要是用于说明mysql数据和索引的结构,有助于理解后续加锁过程中的一些问题. mysql索引结构和表数据结构是相互独立的,根据索引查询,只能找到索引列和主键聚簇索引 ...

  9. Spring Boot 关闭 Actuator ,满足安全工具扫描

    应用被安全工具,扫描出漏洞信息 [MSS]SpringBoot Actuator敏感接口未授权访问漏洞(Actuator)事件发现通告: 发现时间:2023-11-25 19:47:17 攻击时间:2 ...

  10. 【Javaweb】Servlet六 | HttpServletRequest类的含义及其使用方法【详解】

    HttpServletRequest类的作用 每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的Http协议信息解析好封装到Request对象中.然后传递到Service方法(d ...