【工业树莓派 CM0 NANO 单板计算机】小智语音聊天

【工业树莓派 CM0 NANO 单板计算机】小智语音聊天

本文介绍了树莓派 CM0 NANO 单板计算机通过本地部署 py-xiaozhi 小智实现 AI 智能体语音对话的项目设计。

项目介绍

该项目包括

  • 环境搭建:拉取项目源码、安装所需软件包等;
  • 程序运行:使用 CLI 模式运行程序;
  • 设备激活:将验证码输入 xiaozhi.me 服务器账户,实现设备激活;
  • 语音唤醒:下载模型、配置参数、使能语音唤醒,实现唤醒对话;
  • 效果演示:动态演示对话效果。

详见:https://github.com/huangjunsen0406/py-xiaozhi

硬件连接

  • 使用 WiFi 协议实现网络通信;
  • 使用 USB 转 Audio 模块实现语音输入输出,即 AI 对话;
  • 使用 Type-C 数据线实现设备供电;

环境搭建

开发板需安装树莓派官方最新操作系统,详见:https://www.raspberrypi.com/software/

拉取项目

bash 复制代码
git clone https://bgithub.xyz/huangjunsen0406/py-xiaozhi.git
cd py-xiaozhi

安装依赖

bash 复制代码
sudo apt install -y python3-pip
sudo pip3 install -r requirements.txt --break-system-packages

为了避免内存溢出,这里注释部分软件包

bash 复制代码
sed -i 's/^numpy==/#numpy==/' requirements.txt
sed -i 's/^cryptography==/#cryptography==/' requirements.txt
sed -i '/^PyQt5/d' requirements.txt
sed -i '/^pygame/d' requirements.txt
sed -i 's/sherpa-onnx==1.12.8/sherpa-onnx>=1.12.19/' requirements.txt
sed -i '/^rich==/d' requirements.txt
sed -i '/^python-dateutil==/d' requirements.txt

安装 Qt 相关软件包

bash 复制代码
sudo apt install -y python3-pyqt5 python3-pyqt5.qtwebengine
sudo apt install -y python3-pyqt5.qtquick qml-module-qtquick2 qml-module-qtquick-controls2

代码格式化

bash 复制代码
./format_code.sh

程序运行

运行程序 - CLI模式

bash 复制代码
python main.py --mode cli

初始化

输入验证码

  • 进入 xiaozhi.me 官网,登录账户,点击添加设备,输入验证码;

设备激活

验证码输入后,自动激活设备,终端打印激活日志

自动进入对话界面

效果演示

终端 GUI 界面

动态演示

通过终端窗口可实现与小智的对话

执行快捷键 Ctrl + C 即可退出应用。

语音唤醒

py-xiaozhi 集成了基于 Sherpa-ONNX 的高精度语音唤醒功能,支持自定义唤醒词和实时检测。使用轻量级关键词检测模型,提供毫秒级响应速度。

模型下载

项目不包含模型文件,需要提前下载配置。

下载模型包

使用 wget 工具获取模型文件并解压

bash 复制代码
cd ~/py-xiaozhi
wget https://bgithub.xyz/k2-fsa/sherpa-onnx/releases/download/kws-models/sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz2

tar xvf sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz2
配置方案
bash 复制代码
cd sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01

# 复制速度优先的 epoch-99 int8 三件套
cp encoder-epoch-99-avg-1-chunk-16-left-64.int8.onnx ../models/encoder.onnx
cp decoder-epoch-99-avg-1-chunk-16-left-64.onnx ../models/decoder.onnx
cp joiner-epoch-99-avg-1-chunk-16-left-64.int8.onnx ../models/joiner.onnx

# 复制配套文件  
cp tokens.txt ../models/tokens.txt

配置完成后,~/py-xiaozhi/models 目录应包含

复制代码
models/
├── encoder.onnx      # 编码器模型(重命名后)
├── decoder.onnx      # 解码器模型(重命名后) 
├── joiner.onnx       # 连接器模型(重命名后)
├── tokens.txt        # 拼音Token映射表(228行版本)
├── keywords.txt      # 关键词配置文件(需创建)
└── keywords_raw.txt  # 原始关键词文件(可选)

启用语音唤醒

通过修改配置文件,实现 Xiaozhi 的语音唤醒。

打开 ~/py-xiaozhi/config/config.json 检查并确认存在如下字段

json 复制代码
{
  "WAKE_WORD_OPTIONS": {
    "USE_WAKE_WORD": true,
    "MODEL_PATH": "models",
    "NUM_THREADS": 4,
    "PROVIDER": "cpu",
    "MAX_ACTIVE_PATHS": 2,
    "KEYWORDS_SCORE": 1.8,
    "KEYWORDS_THRESHOLD": 0.2,
    "NUM_TRAILING_BLANKS": 1
  }
}

重启客户端

终端执行如下指令,重启客户端

bash 复制代码
python main.py --mode cli

日志出现:

复制代码
KWS模型加载成功: encoder.onnx

即可语音唤醒 Xiaozhi 并对话。

详见:语音唤醒功能|PY-XIAOZHI .

总结

本文介绍了树莓派 CM0 NANO 单板计算机通过本地部署 py-xiaozhi 小智实现 AI 智能体语音对话的项目设计,为相关产品在工业 AI 领域的快速开发设计和应用提供了参考。

相关推荐
回眸&啤酒鸭2 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智2 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙2 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
AI的探索之旅2 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein2 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu2 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
qq_426003962 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk