这是一个基于阿里云百炼多模态SDK的语音助手应用,支持语音交互和视觉问答功能。
- 🎤 实时语音交互:支持语音识别和语音合成
- 📸 视觉问答:通过摄像头拍照并分析图像内容
- 🔄 双工通信:支持打断和连续对话
- 😴 空闲模式:长时间无交互自动进入待机
- Python 3.9 或更高版本
- Windows/Linux/macOS 操作系统
- 摄像头设备
- 麦克风和扬声器
-
安装依赖
pip install -r requirements.txt
-
配置API密钥
编辑
config.py文件,填入您的阿里云百炼API信息:APP_ID = "您的APP_ID" WORKSPACE_ID = "您的WORKSPACE_ID" API_KEY = "您的API_KEY"
-
调整摄像头设置
如果默认摄像头不正确,修改
config.py中的:CAMERA_INDEX = 0 # 改为您的摄像头索引
-
启动程序
python main.py
-
基本操作
- 按住空格键:开始说话
- 松开空格键:结束说话
- 再次按空格键:打断AI回复
- ESC键:退出程序
-
视觉问答
说出包含以下关键词的语句会触发拍照分析:
- "看看这是什么"
- "拍照分析一下"
- "看一下画面"
简化版/
├── main.py # 主程序入口
├── config.py # 配置文件
├── voice_assistant.py # 语音助手核心模块
├── camera_controller.py # 摄像头控制模块
├── requirements.txt # 依赖列表
└── README.md # 本文档
SimplifiedVoiceAssistant:主控制类,管理对话流程SimplifiedCallback:处理SDK回调事件AudioPlayer:管理音频播放
- 摄像头初始化和管理
- 实时预览窗口
- 图像捕获和Base64编码
-
摄像头无法打开
- 检查摄像头是否被其他程序占用
- 尝试修改
CAMERA_INDEX值 - 确保摄像头驱动正常
-
音频问题
- Windows: 可能需要安装 Visual C++ Redistributable
- Linux: 需要安装
portaudio19-dev - macOS: 需要通过 Homebrew 安装
portaudio
-
网络连接问题
- 检查网络连接
- 确认API密钥正确
- 查看防火墙设置
- 程序需要管理员权限来监听键盘事件(Windows)
- 首次运行可能需要允许摄像头和麦克风权限
- API调用会产生费用,请注意使用量
如需扩展功能,可以:
- 在
SimplifiedCallback中添加新的回调处理 - 修改
config.py添加新的配置项 - 扩展视觉问答的触发关键词
本项目仅供学习和参考使用。