xiaozhiAI/README.md

99 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🎙️ 智能语音助手 “小智”
一个基于 **百度智能云语音识别 + 合成****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