xiaozhiAI/README.md

2.5 KiB
Raw Blame History

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

一个基于 百度智能云语音识别 + 合成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