小智智能助手,语音对话
Go to file
sairate f53ae3fc16 docs(README): 添加项目介绍和使用说明
- 新增 README.md 文件,详细介绍项目功能和使用方法
- 覆盖功能概览、环境依赖、API 配置、启动方式等内容
- 提供示例流程和技术细节说明,帮助用户快速上手
2025-05-15 17:37:41 +08:00
.idea Signed-off-by: sairate <sairate@sina.cn> 2025-05-15 17:34:34 +08:00
README.md docs(README): 添加项目介绍和使用说明 2025-05-15 17:37:41 +08:00
app.py Signed-off-by: sairate <sairate@sina.cn> 2025-05-15 17:34:34 +08:00
requirements.txt Signed-off-by: sairate <sairate@sina.cn> 2025-05-15 17:34:34 +08:00
test.py Signed-off-by: sairate <sairate@sina.cn> 2025-05-15 17:34:34 +08:00
流程图.md Signed-off-by: sairate <sairate@sina.cn> 2025-05-15 17:34:34 +08:00
流程图.png Signed-off-by: sairate <sairate@sina.cn> 2025-05-15 17:34:34 +08:00
附件2:作品说明文档.doc Signed-off-by: sairate <sairate@sina.cn> 2025-05-15 17:34:34 +08:00
附件4:参赛选手承诺书.docx Signed-off-by: sairate <sairate@sina.cn> 2025-05-15 17:34:34 +08:00

README.md

🎙️ 智能语音助手 “小智”

一个基于 百度智能云语音识别 + 合成DeepSeek-R1 对话模型 的智能语音助手,支持以下功能:

  • 🎤 语音唤醒与自动录音
  • 🧠 自然语言理解LLM问答
  • 🔊 语音合成回应
  • 🕹️ Python 本地运行,无需前端或网页

功能概览

功能模块 描述
语音唤醒 检测是否说出“小智”关键词,触发问答流程
自动录音 使用 WebRTC VAD 进行语音活动检测,自动判断语音开始和结束
百度语音识别 调用百度智能云 API将语音识别成文本
DeepSeek 问答 将用户问题发送到 DeepSeek-R1 模型,获取智能回复
百度语音合成 将 AI 回复转换为音频并使用 pygame 播放

📦 环境依赖requirements.txt

requests
pyaudio
pygame
webrtcvad
openai

安装依赖:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

如遇 pyaudio 安装失败,推荐使用:

pip install pipwin
pipwin install pyaudio

🔐 API 配置

打开 main.py 或脚本文件,将以下参数替换为你自己的:

# 百度智能云 API
BAIDU_API_KEY = "你的API Key"
BAIDU_SECRET_KEY = "你的Secret Key"

# DeepSeek-R1 API
DEEPSEEK_API_KEY = "你的DeepSeek API Key"

🚀 启动方式

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