【树莓派 Zero 2W】本地部署 Xiaozhi 语音助手
本文介绍了树莓派 Zero 2W 本地部署 Xiaozhi 小智实现智能语音对话的项目设计。
项目介绍
准备工作:硬件连接、系统安装、所需软件包部署等;
程序运行:使用命令行交互模式运行;
设备激活:登录 xiaozhi.me 服务器账户,读取验证码并实现设备激活;
语音对话:下载模型、配置参数、实现语音对话聊天。
准备工作
包括硬件连接、系统安装、软件包部署等。
硬件连接
连接WiFi,实现无线网络通信;
使用 USB 转 Audio 模块实现语音输入输出;


使用 Type-C 数据线实现设备供电;


系统安装
Micro-SD 卡需烧录 RaspberryPi 官方操作系统;
软件包部署
拉取项目
git clone https://github.com/huangjunsen0406/py-xiaozhi.git cd py-xiaozhi
安装依赖
sudo apt install -y python3-pip sudo pip3 install -r requirements.txt --break-system-packages
注释部分软件包,以获得轻量化体验
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 相关软件包
sudo apt install -y python3-pyqt5 python3-pyqt5.qtwebengine sudo apt install -y python3-pyqt5.qtquick qml-module-qtquick2 qml-module-qtquick-controls2
代码格式化
./format_code.sh
程序运行
运行程序 - CLI模式
python main.py --mode cli
初始化设备


输入验证码,激活设备


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


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


自动进入对话界面


效果演示
终端 GUI 界面


动态演示
通过终端窗口可实现与小智的对话


执行快捷键 Ctrl + C 即可退出应用。
语音唤醒
py-xiaozhi 集成了高精度语音唤醒功能,支持自定义唤醒词和实时检测。
模型下载
项目不包含模型文件,需要提前下载配置。
官方模型列表: https://csukuangfj.github.io/sherpa/onnx/kws/pretrained_models/index.html
这里使用模型: sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01
下载模型包
使用 wget 工具获取模型文件并解压
cd ~/py-xiaozhi wget https://github.com/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
配置方案
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
启用语音唤醒
通过修改配置文件,实现 Xiaozhi 的语音唤醒。
打开 ~/py-xiaozhi/config/config.json 检查并确认配置。
重启客户端
终端执行如下指令,重启客户端
python main.py --mode cli
日志出现:
KWS模型加载成功: encoder.onnx
即可语音唤醒 Xiaozhi 并对话。


详见:语音唤醒功能|PY-XIAOZHI .
总结
本文介绍了树莓派 Zero 2W 本地部署 Xiaozhi 实现智能语音对话的项目设计,为相关产品在 AI 大语言模型部署领域的快速开发设计和应用提供了参考。
我要赚赏金
