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

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

3天内不再提示

语音AI机器人的低代码构建块

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-10-12 09:23 次阅读

在研究复杂的语音人工智能机器人系统时,开发人员很容易被其复杂性吓倒。亚瑟· C ·克拉克声称:“任何足够先进的技术都无法与魔法区分开来。”

从接受自然语言命令到安全地与环境和周围的人实时交互,当今的语音人工智能机器人系统可以执行以前机器无法完成的任务。加入谷歌、 Meta 、 NVIDIA 等公司的专家,参加第一届年度 NVIDIA -Speech AI 峰会。 立即注册

以 Spot 为例,它是一个支持语音 AI 的机器人,可以自己取饮料。为了方便地添加语音 AI 技能,例如 自动语音识别 ( ASR )或文本到语音( TTS ),许多开发人员在构建复杂的机器人系统时使用更简单的低代码构建块。

图 1.Spot ,一只机器狗,在使用 NVIDIA Riva 提供的 ASR 和 TTS 技能处理订单后,实时获取饮料。

对于开发具有语音 AI 技能的机器人应用程序的开发人员,本文将分解 NVIDIA Riva SDK 提供的低代码构建块。

通过跟随所提供的代码示例,您将了解 speech AI 技术 如何使智能机器人能够接受食物订单,将这些订单转发给餐厅员工,并最终在提示时导航回家。

使用构建块设计 AI 机器人系统

复杂系统由几个构建块组成。每个构建块都很容易理解。

当您了解每个组件的功能时,最终产品就不那么令人畏惧了。如果您使用的是低代码构建块,那么现在可以专注于需要更多努力的特定于域的定制。

我们的最新项目使用了“ Spot ”,一个四足机器人和一个 NVIDIA Jetson Orin ,通过以太网电缆连接到 Spot 。该项目是使用 AI 构建块形成复杂语音 AI 机器人系统的主要示例。

poYBAGNGFwiAWOYAAAFdWqgqCkg383.png

Figure 2. 带有 Riva 低代码语音 AI 块的语音 AI 机器人系统,可添加 ASR 和 TTS 技能

我们的目标是建造一个机器人,它可以在我们尽可能少的干预下,自己从当地的餐厅为我们取零食。我们还着手使用开源库和工具编写尽可能少的代码。这个项目中使用的几乎所有软件都是免费的。

为了实现这一目标,人工智能系统必须能够与人类进行语音交互,感知其环境(在我们的例子中,使用嵌入式摄像头),并安全地在环境中导航。图 2 显示了交互、平台和导航如何表示 Spot 机器人的三个基本操作组件,以及这些组件如何进一步细分为低代码构建块。

本文只关注 Riva SDK 中的人机交互块。

使用 Riva 添加语音识别和语音合成技能

我们每天都与人们进行如此多的互动,以至于我们很容易忽视这些互动到底有多复杂。说话对人类来说很自然,但对于智能机器来说,理解和说话并不是那么简单。

Riva 是一个完全可定制的 GPU 加速语音 AI SDK ,可处理 ASR 和 TTS 技能,可部署在本地、所有云端、边缘和嵌入式设备上。它有助于人机语音交互。

Riva 完全在 Spot 机器人上本地运行。因此,处理是安全的,不需要互联网访问。它也可以用一个简单的参数文件完全配置,因此不需要额外的编码。

Riva 每个语音 AI 任务的代码示例

Riva 提供了 现成的 Python 代码 和命令行工具,用于将麦克风捕获的音频数据实时转换为文本( ASR 、语音识别或语音到文本),并将文本转换为音频输出( TTS 或语音合成)。

修改这些脚本以与开放式机器人技术( ROS )兼容,只需稍作改动。这有助于简化机器人系统开发过程。

ASR 自定义

Riva OOTB Python 客户端 ASR 脚本名为 transcribe_mic.py 。默认情况下,它将 ASR 输出打印到终端。通过修改它, ASR 输出被路由到一个 ROS topic 和可以被 ROS 网络中的任何内容读取。以下代码示例显示了对脚本 main ()函数的关键添加:

   inter_pub = rospy.Publisher('intermediate', String, queue_size=10)
   final_pub = rospy.Publisher('final', String, queue_size=10)
   rospy.init_node('riva_asr', anonymous=True)

以下代码示例包括对 main 的更关键的添加:

       for response in responses:
           if not response.results:
               continue
           partial_transcript = ""
           for result in response.results:
               if not result.alternatives:
                   continue
               transcript = result.alternatives[0].transcript
               if result.is_final:
                   for i, alternative in enumerate(result.alternatives):
                       final_pub.publish(alternative.transcript)
              else:
                  partial_transcript += transcript
           if partial_transcript:
               inter_pub.publish(partial_transcript)

TTS 自定义

Riva 还为 TTS 提供了 talk.py 脚本。默认情况下,您在终端或 Python 解释器中输入文本, Riva 从中生成音频输出。对于 Spot 来说, input text talk.py script 已被修改 使文本来自 ROS 回调,而不是人类的击键。 OOTB 脚本的关键更改包括用于提取文本的功能:

def callback(msg):
   global TTS
   TTS = msg.data

它们还包括对 main ()函数的以下添加:

   rospy.init_node('riva_tts', anonymous=True)
   rospy.Subscriber("speak", String, callback)

main ()函数中这些经过修改的条件语句也是关键:

       while not rospy.is_shutdown():
           if TTS != None:
               text = TTS

语音交互脚本

像 voice_control.py 这样的简单脚本主要由回调和通话功能组成。他们告诉 Spot 要听什么单词以及如何回应。

def callback(msg):
   global pub, order
   rospy.loginfo(msg.data)
   if "hey spot" in msg.data.lower() and "fetch me" in msg.data.lower():
       order_start = msg.data.index("fetch me")
       order = msg.data[order_start + 9:]
       pub.publish("Fetching " + order)

def talker():
   global pub
   rospy.init_node("spot_voice_control", anonymous=True)
   pub = rospy.Publisher("speak", String, queue_size=10)
   rospy.Subscriber("final", String, callback)
   rospy.spin()

换言之,如果文本包含“嘿, Spot ,…给我拿…”, Spot 会将句子的其余部分保存为命令。在 ASR 记录表明句子结束后, Spot 激活 TTS 客户端并背诵单词“ Fetching ”加上订单内容。然后,其他脚本会让 ROS 动作服务器指示 Spot 导航到餐厅,同时注意避开汽车和其他障碍物。

当 Spot 到达餐厅时,它会等待一个人说“你好, Spot ”来接受订单。如果 ASR 分析脚本检测到这一序列, Spot 会背诵订单并以“请”结尾。餐厅员工将订购的食物和任何零钱放在 Spot 背后的适当容器中。在 Riva ASR 意识到餐厅员工说“回家吧, Spot ”后, Spot 回家了

类似 Riva 的语音 AI SDK 背后的技术用于构建和部署完全可定制的实时语音 AI 应用程序,这些应用程序可部署在本地、所有云端、边缘和嵌入式环境中,将 AI 机器人带入现实世界。

当机器人与人无缝交互时,它开辟了一个新的领域,机器人可以在这个领域提供帮助,而无需技术人员在计算机上进行翻译。

使用低代码解决方案部署您自己的语音 AI 机器人

通常, NVIDIA 、 Open Robotics 和机器人社区等团队在解决语音 AI 和机器人问题以及为日常机器人用户提供和访问该技术方面做了出色的工作。

任何渴望进入该行业或改进现有技术的人都可以向这些群体寻求灵感和尖端技术的范例。这些技术可通过免费 SDK ( Riva 、 ROS 、 NVIDIA DeepStream 、 NVIDIA CUDA )和功能强大的硬件(机器人、 NVIDIA Jetson Orin 、传感器)使用。

关于作者

Dave Niewinski 是一名加拿大机器人工程师,他利用多年的行业经验帮助公司采用或开发自己的机器人系统。他还通过自己的 YouTube 频道,通过开发有趣且吸引人的项目,分享他对先进机器人技术的热爱。他拥有圭尔夫大学工程学士学位,是安大略省的专业工程师。

Sven Chilton 是 NVIDIA 的一名深度学习技术营销工程师。他开发、使用、教育和传播基本的 NVIDIA 深度学习工具,尤其是 Riva 语音 AI 框架。斯文长期以来热爱数学和语言,认为语音人工智能和 NLP 是两者的完美结合。他获得了麻省理工学院物理学学士学位,加州大学伯克利分校核工程硕士和博士学位。

审核编辑:郭婷

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

    关注

    211

    文章

    28389

    浏览量

    206940
  • AI
    AI
    +关注

    关注

    87

    文章

    30758

    浏览量

    268903
收藏 人收藏

    评论

    相关推荐

    《具身智能机器人系统》第1-6章阅读心得之具身智能机器人系统背景知识与基础模块

    要给AI这个聪明的“头脑”装上一副“身体”。这个“身体”可以是一部手机,可以是一台自动驾驶汽车。而人形机器人则是集各类核心尖端技术于一体的载体,是具身智能的代表产品。与传统的软件智能体不同,具身智能
    发表于 12-19 22:26

    汤姆猫发布AI语音情感陪伴机器人研发进展

    汤姆猫公司近日透露了其AI产品的研发进展,其中AI语音情感陪伴机器人备受瞩目。据官方介绍,这款机器人预计将于2024年12月底前正式发售,为
    的头像 发表于 12-17 11:27 500次阅读

    机器人语音功能

    AI时代,“会说话”的机器人已经十分常见,在许多酒店、餐厅、医院、图书馆,我们都能碰到这些小个头大智慧的服务机器人,它们开口的瞬间,你可能会听到熟悉的声音:樱桃小丸子、蜡笔小新、哆啦A梦...这些
    的头像 发表于 12-02 10:50 331次阅读

    【书籍评测活动NO.51】具身智能机器人系统 | 了解AI的下一个浪潮!

    早就听大佬们说,具身智能是人工智能的下一波浪潮,也是AI未来的趋势! 最近,具身智能的概念更是炙手可热,备受瞩目! 不论是这几天稚晖君开源人形机器人全套图纸+代码,引发圈内热议。 还是各类具身智能
    发表于 11-11 10:20

    利用NVIDIA Isaac平台构建、设计并部署机器人应用

    机器人在智能制造设施、商业厨房、医院、仓库物流和农业领域等不同环境中的应用正在迅速扩展。该行业正在向智能自动化转变,这需要增强的机器人功能来执行感知、地图构建、导航、负载处理、物体抓取和复杂的装配
    的头像 发表于 11-09 11:41 703次阅读
    利用NVIDIA Isaac平台<b class='flag-5'>构建</b>、设计并部署<b class='flag-5'>机器人</b>应用

    “0元购”智元灵犀X1机器人,软硬件全套图纸和代码全公开!资料免费下载!

    10月24日,智元机器人重磅宣布,其自主研发的全栈开源机器人智元灵犀X1面向全球开发者正式开源,智元机器人再次履行了其在8月18日新品发布会上的开源承诺,这是他们第二次向公众开放源代码
    发表于 10-25 15:20

    语音识别机器人的工作原理

    语音识别机器人的工作原理主要基于一系列复杂的技术流程,包括信号采集、预处理、特征提取、声学模型匹配、语言模型预测以及最终的解码输出。 一、信号采集 语音识别机器人首先通过麦克风等音频输
    的头像 发表于 10-25 09:25 443次阅读

    构建语音控制机器人 - 深入研究电路

    2024-07-29 |Annabel Ng S1XT33N项目 正如[之前的博客文章]中提到的,加州大学伯克利分校的 EECS 16B 课程重点关注构建名为 S1XT33N 的语音控制机器人的为期
    的头像 发表于 10-02 16:40 234次阅读
    <b class='flag-5'>构建</b><b class='flag-5'>语音</b>控制<b class='flag-5'>机器人</b> - 深入研究电路

    构建语音控制机器人 - 线性模型和机器学习

    2024-07-31 |Annabel Ng 在该项目的[上一篇博客文章]中,我介绍了运行机器人电机、处理音频信号和调节电压所需的电路的基础知识。然而,机器人还没有完全完成!尽管机器人可以正确移动
    的头像 发表于 10-02 16:31 208次阅读
    <b class='flag-5'>构建</b><b class='flag-5'>语音</b>控制<b class='flag-5'>机器人</b> - 线性模型和<b class='flag-5'>机器</b>学习

    英伟达打造人形机器人训练平台,引领AI新纪元

    英伟达近日宣布了一项重大举措,为全球机器人制造业与AI领域注入强劲动力。公司推出了专为人形机器人设计的训练平台,旨在为行业领先的制造商、AI模型开发者及软件制造商提供一站式服务、先进模
    的头像 发表于 08-05 11:45 729次阅读

    Al大模型机器人

    金航标kinghelm萨科微slkor总经理宋仕强介绍说,萨科微Al大模型机器人有哪些的优势?萨科微AI大模型机器人由清华大学毕业的天才少年N博士和王博士团队开发,与同行相比具有许多优势:语言
    发表于 07-05 08:52

    自动停车机器人,如何快速构建

    停车机器人是用于在停车场或车库等场所中进行车辆的自动停放和取车操作。随着智能交通和智能城市的发展,停车机器人在解决停车难、提高停车效率和减少停车空间浪费等方面具有广阔的应用前景。 ▲停车移动机器人
    的头像 发表于 06-20 11:25 244次阅读
    自动停车<b class='flag-5'>机器人</b>,如何快速<b class='flag-5'>构建</b>?

    使用Ryzen ™ AI处理器构建聊天机器人

    探索Ryzen ™ AI技术的构建模块,并展示利用它来构建一个仅在Ryzen AI笔记本电脑上以最佳性能运行的AI聊天
    的头像 发表于 05-11 14:22 8179次阅读
    使用Ryzen ™ <b class='flag-5'>AI</b>处理器<b class='flag-5'>构建</b>聊天<b class='flag-5'>机器人</b>

    NVIDIA Isaac机器人平台升级,加速AI机器人技术革新

    NVIDIA Isaac机器人平台近期实现重大升级,通过引入最新的生成式AI技术和先进的仿真技术,显著加速了AI机器人技术的发展步伐。该平台正不断扩展其基础模型、
    的头像 发表于 03-27 10:36 672次阅读

    英伟达推出全新AI聊天机器人

    近日,英伟达(Nvidia)宣布推出其全新的AI聊天机器人——“Chat With RTX”。这款聊天机器人被视为英伟达版的ChatGPT,为用户提供了一个全新的、本地化的AI交互体验
    的头像 发表于 02-19 11:09 915次阅读