当前位置:中华语录网 > 正文

高端玩家!树莓派 + Node.js 实现语音机器人

视频推荐

步骤/方法

volute 是什么?

volute(蜗壳)是一个使用 Raspberry Pi+Node.js 制作的语音机器人.

什么是树莓派?

高端玩家!树莓派 + Node.js 实现语音机器人

高端玩家!树莓派 + Node.js 实现语音机器人

树莓派(英语:Raspberry Pi)是基于 Linux 的单片机电脑,由英国树莓派基金会开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。

树莓派每一代均使用博通(Broadcom)出产的 ARM 架构处理器,如今生产的机型内存在 2GB 和 8GB 之间,主要使用 SD 卡或者 TF 卡作为存储媒体,配备 USB 接口、HDMI 的视频输出(支持声音输出)和 RCA 端子输出,内置 Ethernet/WLAN/Bluetooth 网络链接的方式(依据型号决定),并且可使用多种操作系统。产品线型号分为 A 型、B 型、Zero 型和 ComputeModule 计算卡。

简单的说,这是一台可以放到口袋里的电脑!!

什么是 Node.js?

高端玩家!树莓派 + Node.js 实现语音机器人

原先 Javascript 只能依赖浏览器环境执行.Node.js 的诞生,让我们可以在服务器端使用 Javascript.Node.js 是一个能执行 Javascript 的环境,一个事件驱动 I/O 的服务端 Javascript 环境,基于 Google 的 V8 引擎.

什么是人机对话系统 ?

高端玩家!树莓派 + Node.js 实现语音机器人

人机对话(Human-Machine Conversation)是指让机器理解和运用自然语言实现人机通信的技术。

对话系统大致可分为 5 个基本模块:语音识别(ASR)、自然语音理解(NLU)、对话管理(DM)、自然语言生成(NLG)、语音合成(TTS)。

  • 语音识别(ASR):完成语音到文本的转换,将用户说话的声音转化为语音。
  • 自然语言理解(NLU):完成对文本的语义解析,提取关键信息,进行意图识别与实体识别。
  • 对话管理(DM):负责对话状态维护、数据库查询、上下文管理等。
  • 自然语言生成(NLG):生成相应的自然语言文本。
  • 语音合成(TTS):将生成的文本转换为语音。

材料准备

  • 树莓派 4B 主板
  • 树莓派 5V3A TYPE C 接口
  • 微型 USB 麦克风
  • 迷你音箱
  • 16G TF 卡
  • 川宇读卡器
  • 杜邦线,外壳,散热片...

高端玩家!树莓派 + Node.js 实现语音机器人

树莓派系统安装及基础配置

新的树莓派不像你买的 Macbook 一样开机就能用,想要顺利体验树莓派,还得一步一步来~

烧录操作系统

树莓派没有硬盘结构,仅有一个 micro SD 卡插槽用于存储,因此要把操作系统装到 micro SD 卡中。

树莓派支持许多操作系统,这里选择的是官方推荐的 Raspbian,这是一款基于 Debian Linux 的树莓派专用系统,适用于树莓派所有的型号。

安装系统我用的是 Raspberry Pi Imager 工具为树莓派烧录系统镜像。

高端玩家!树莓派 + Node.js 实现语音机器人

基础配置

要对树莓派进行配置,首先要启动系统,可以将树莓派连接显示器和键盘鼠标即可看到系统桌面,我使用的是另一种方法:

  • 使用 IP Scanner 工具 扫描出 Raspberry Pi 的 IP

高端玩家!树莓派 + Node.js 实现语音机器人

  • 扫描出 IP 后使用 VNC Viewer 工具 连接进系统

高端玩家!树莓派 + Node.js 实现语音机器人

  • 也可以直接 ssh 连接,然后通过 raspi-config 命令进行配置

高端玩家!树莓派 + Node.js 实现语音机器人

  • 配置网络/分辨率/语言/输入输出音频等参数

高端玩家!树莓派 + Node.js 实现语音机器人

volute 实现思路

高端玩家!树莓派 + Node.js 实现语音机器人

任务调度服务

const fs = require(&34;); } onError(error) { console.log(error); }}module.exports = XunFeiTTS;

效果演示

对话.m4a来自前端试炼00:0000:11

深圳天气.m4a来自前端试炼00:0000:16

顺口溜.m4a来自前端试炼00:0000:20

链接

https://mp.weixin.qq.com/s/x96yNp-RylWvTe1zcE2-IA