简体中文 | English
py-xiaozhi 是一个使用 Python 实现的小智语音客户端,旨在通过代码学习和在没有硬件条件下体验 AI 小智的语音功能。 本仓库是基于xiaozhi-esp32移植
- AI语音交互:支持语音输入与识别,实现智能人机交互,提供自然流畅的对话体验。
- 视觉多模态:支持图像识别和处理,提供多模态交互能力,理解图像内容。
- IoT 设备集成:支持智能家居设备控制,实现更多物联网功能,打造智能家居生态。
- 联网音乐播放:基于pygame实现的高性能音乐播放器,支持歌词显示和本地缓存,支持播放/暂停/停止、进度控制、歌词显示和本地缓存,提供更稳定的音乐播放体验。
- 语音唤醒:支持唤醒词激活交互,免去手动操作的烦恼(默认关闭需要手动开启)。
- 自动对话模式:实现连续对话体验,提升用户交互流畅度。
- 图形化界面:提供直观易用的 GUI,支持小智表情与文本显示,增强视觉体验。
- 命令行模式:支持 CLI 运行,适用于嵌入式设备或无 GUI 环境。
- 跨平台支持:兼容 Windows 10+、macOS 10.15+ 和 Linux 系统,随时随地使用。
- 音量控制:支持音量调节,适应不同环境需求,统一声音控制接口。
- 会话管理:有效管理多轮对话,保持交互的连续性。
- 加密音频传输:支持 WSS 协议,保障音频数据的安全性,防止信息泄露。
- 自动验证码处理:首次使用时,程序自动复制验证码并打开浏览器,简化用户操作。
- 自动获取 MAC 地址:避免 MAC 地址冲突,提高连接稳定性。
- 代码模块化:拆分代码并封装为类,职责分明,便于二次开发。
- 稳定性优化:修复多项问题,包括断线重连、跨平台兼容等。
- 3.9 >= Python版本 <= 3.12
- 支持的操作系统:Windows 10+、macOS 10.15+、Linux
- 麦克风和扬声器设备
- 仔细阅读 项目文档 启动教程和文件说明都在里面了
- main是最新代码,每次更新都需要手动重新安装一次pip依赖防止我新增依赖后你们本地没有
+----------------+
| |
v |
+------+ 唤醒词/按钮 +------------+ | +------------+
| IDLE | -----------> | CONNECTING | --+-> | LISTENING |
+------+ +------------+ +------------+
^ |
| | 语音识别完成
| +------------+ v
+--------- | SPEAKING | <-----------------+
完成播放 +------------+
- 新 GUI(Electron):提供更现代、美观的用户界面,优化交互体验。
- 找不到音频设备:请检查麦克风和扬声器是否正常连接和启用。
- 唤醒词不响应:请检查
config.json
中的USE_WAKE_WORD
设置是否为true
,以及模型路径是否正确。 - 网络连接失败:请检查网络设置和防火墙配置,确保WebSocket或MQTT通信未被阻止。
- 打包失败:确保已安装PyInstaller (
pip install pyinstaller
),并且所有依赖项都已安装。然后重新执行python scripts/build.py
XiaoZhiAI_server32_Unity(Unity开发)
- main 主分支
- feature/v1 第一个版本
- feature/visual 视觉分支
- feature/raspberry_pi 嵌入式设备分支
├── .github # GitHub 相关配置
├── assets # 资源文件(表情动画等)
├── cache # 缓存目录(音乐等临时文件)
├── config # 配置文件目录
├── documents # 文档目录
├── hooks # PyInstaller钩子目录
├── libs # 依赖库目录
├── scripts # 实用脚本目录
├── src # 源代码目录
│ ├── audio_codecs # 音频编解码模块
│ ├── audio_processing # 音频处理模块
│ ├── constants # 常量定义
│ ├── display # 显示界面模块
│ ├── iot # IoT设备相关模块
│ │ └── things # 具体设备实现目录
│ ├── network # 网络通信模块
│ ├── protocols # 通信协议模块
│ └── utils # 工具类模块
欢迎提交问题报告和代码贡献。请确保遵循以下规范:
- 代码风格符合PEP8规范
- 提交的PR包含适当的测试
- 更新相关文档
排名不分前后
Xiaoxia zhh827 四博智联-李洪刚 HonestQiao vonweller 孙卫公 isamu2025 Rain120 kejily 电波bilibili君