海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

AI-Chatbox 是一个基于 ESP32S3 开发板的语音交互项目。用户通过语音与大模型(LLM)对话,设备将语音转为文字,发送给大模型,获取回答后可进一步转为语音播报。项目使用 Rust 语言开发,集成了 Vosk 语音识别工具,适合不方便使用手机应用的人群,例如儿童、老年人或视障人士。硬件以 XIAO ESP32S3 Sense 为主,结合语音编码硬件,软件通过开源代码托管在 GitHub。项目目标是提供便捷的语音交互体验,适合嵌入式开发爱好者和智能硬件开发者。

功能列表

  • 语音唤醒与命令识别 :支持唤醒词“hi, 乐鑫”和命令词“我有个问题”触发录音。
  • 语音转文字 :使用 Vosk 工具将录制的 WAV 音频转换为文字,支持中文识别。
  • 大模型交互 :通过 DeepSeek API 发送文字问题,获取智能回答。
  • 日志记录 :支持实时日志查看,方便调试和监控设备状态。
  • 跨设备访问 :通过 Flask 搭建 REST 服务,允许局域网内其他设备调用语音转文字功能。
  • 嵌入式优化 :Rust 代码针对嵌入式设备优化,配置 512 最大生成 token,平衡性能与资源。

使用帮助

安装与配置

  1. 准备硬件
    需要一块 XIAO ESP32S3 Sense 开发板,带麦克风和语音编码功能。外接语音编码硬件可增强音频处理能力。确保开发板连接 SD 卡,用于存储语音模型。
  2. 配置开发环境
    • 安装 Rust on ESP 环境,参考官方指南(Rust on ESP)。
    • 安装 Python 环境,用于运行 Vosk 语音转文字服务。
    • 下载 Vosk 中文模型(vosk-model-cn-0.22.zip)从 Vosk 官网,解压到本地目录。
    • 将语音模型文件(mn7_cnnsnet2vadnet1_mediumwn9_hilexin)拷贝到 SD 卡根目录。
  3. 安装依赖
    运行以下命令安装 Python 依赖:

    pip install vosk flask flask-cors
    

    确保 Rust 环境已配置,进入 ESPUP 环境:

    source $HOME/export-esp.sh
    
  4. 编译与上传固件
    • 克隆项目仓库:git clone https://github.com/paul356/ai-chatbox.git
    • 进入项目目录,运行编译命令:
      cargo build
      
    • 编译成功后,使用以下命令将固件上传到 ESP32S3 开发板:
      cargo espflash flash -p /dev/ttyACM0 --flash-size 8mb
      
    • 设置环境变量(Wi-Fi 和 DeepSeek API 密钥):
      export WIFI_SSID=<your-ssid>
      export WIFI_PASS=<your-password>
      export LLM_AUTH_TOKEN=<your-deepseek-token>
      
  5. 运行语音转文字服务
    • 在 vosk-model-cn-0.22 目录的上一级运行:
      python vosk_server.py
      
    • 服务启动后,监听 http://0.0.0.0:5000/transcribe,可接受 WAV 文件并返回文字。
  6. 测试服务
    使用以下命令测试语音转文字服务:

    curl -X POST -F "file=@record.wav" http://127.0.0.1:5000/transcribe
    

操作流程

  1. 启动设备
    连接开发板,运行固件后通过以下命令查看日志:

    cargo espflash monitor
    
  2. 语音交互
    • 说出唤醒词“hi, 乐鑫”激活设备。
    • 说出命令词“我有个问题”进入录音模式。
    • 说出问题,设备检测到 2 秒静音后自动停止录音。
    • 语音通过 Vosk 服务转为文字,发送至 DeepSeek API,获取回答并记录在日志中。
  3. 查看日志
    日志显示设备状态、语音识别结果和 LLM 回答。例如,提问“大模型是什么东西”可能返回详细的模型定义和功能说明。

注意事项

  • 语音清晰 :Vosk 模型较小,需清晰发音以提高识别准确率。
  • 网络连接 :设备需连接 Wi-Fi 以访问 DeepSeek API。
  • 模型存储 :确保 SD 卡有足够空间存储语音模型(约数百 MB)。
  • 调试 :通过日志检查语音转文字和 LLM 交互是否正常,错误信息会记录为 Error: 开头。

应用场景

  1. 智能助手
    用户通过语音与设备交互,获取知识解答或任务协助,适合儿童或老年人使用。例如,儿童可询问“太阳为什么会发光”,设备返回通俗易懂的回答。
  2. 无屏设备交互
    视障人士或不方便使用手机的用户可通过语音操作,完成信息查询或日常对话。
  3. 嵌入式开发实验
    开发者可基于此项目学习 Rust 在嵌入式设备上的应用,探索语音识别与大模型的集成。
  4. 教育与学习
    学生可通过语音提问学术问题,设备连接大模型提供专业解答,适合课堂或自学场景。

QA

  1. Vosk 模型支持哪些语言?
    当前项目使用 vosk-model-cn-0.22,主要支持中文识别。Vosk 官网提供其他语言模型,可根据需要替换。
  2. 如何提高语音识别准确率?
    确保发音清晰,避免背景噪音。使用更高性能的麦克风或升级到更大模型(如 vosk-model-cn-0.22-large)可提升效果。
  3. DeepSeek API 密钥如何获取?
    访问 DeepSeek 官网 注册并申请 API 密钥,将密钥配置为环境变量 LLM_AUTH_TOKEN
  4. 设备是否支持离线运行?
    语音转文字服务(Vosk)可离线运行,但 LLM 交互需联网访问 DeepSeek API。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文