xiaozhiAI/README.md

99 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

# 🎙️ 智能语音助手 “小智”
一个基于 **百度智能云语音识别 + 合成****DeepSeek-R1 对话模型** 的智能语音助手,支持以下功能:
* 🎤 **语音唤醒与自动录音**
* 🧠 **自然语言理解LLM问答**
* 🔊 **语音合成回应**
* 🕹️ **Python 本地运行,无需前端或网页**
---
## ✅ 功能概览
| 功能模块 | 描述 |
| ----------- | ---------------------------------- |
| 语音唤醒 | 检测是否说出“小智”关键词,触发问答流程 |
| 自动录音 | 使用 WebRTC VAD 进行语音活动检测,自动判断语音开始和结束 |
| 百度语音识别 | 调用百度智能云 API将语音识别成文本 |
| DeepSeek 问答 | 将用户问题发送到 DeepSeek-R1 模型,获取智能回复 |
| 百度语音合成 | 将 AI 回复转换为音频并使用 `pygame` 播放 |
---
## 📦 环境依赖requirements.txt
```txt
requests
pyaudio
pygame
webrtcvad
openai
```
安装依赖:
```bash
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
```
如遇 `pyaudio` 安装失败,推荐使用:
```bash
pip install pipwin
pipwin install pyaudio
```
---
## 🔐 API 配置
打开 `main.py` 或脚本文件,将以下参数替换为你自己的:
```python
# 百度智能云 API
BAIDU_API_KEY = "你的API Key"
BAIDU_SECRET_KEY = "你的Secret Key"
# DeepSeek-R1 API
DEEPSEEK_API_KEY = "你的DeepSeek API Key"
```
---
## 🚀 启动方式
```bash
python main.py
```
启动后助手进入循环监听状态,等待用户说出 **唤醒词“小智”**,进入问答流程。
---
## 🎧 示例流程
1. **你说:“小智”**(唤醒)
2. 程序回应:“好的,小智在。请说出你的问题。”
3. **你说:“今天北京天气怎么样?”**
4. 小智回答“今天北京的天气是晴转多云最高气温27度。”
---
## 🔊 技术细节
* 📍 **自动录音**:基于 `webrtcvad` 自动结束语音(检测静音)
* 📍 **语音识别**:百度 `vop.baidu.com/server_api`
* 📍 **语音合成**:百度 `tsn.baidu.com/text2audio`
* 📍 **AI对话**:调用 DeepSeek-R1 `chat.completions` 接口(通过 OpenAI SDK
---
## 🛠️ 注意事项
* 程序使用 `pyaudio` 进行录音,需麦克风硬件支持
* 百度语音识别需中文 `16kHz 单声道 PCM`
* 请保持联网状态,所有服务需调用在线 API