xiaozhi-esp32:ESP32 语音助手固件,171 个板型即编即用

发布时间:2026/9/4 9:58:05
xiaozhi-esp32:ESP32 语音助手固件,171 个板型即编即用 xiaozhi-esp32ESP32 语音助手固件171 个板型即编即用【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32麦克风凑近耳边喊一声唤醒词三秒后客厅灯应声亮起。这套东西来自 xiaozhi-esp32一个 ESP32 语音助手固件离线唤醒、语音识别、大模型对话到设备控制的链路已经打通你要做的只是挑一个板型、编译、烧录。能力链路拆解xiaozhi-esp32 语音助手的数据流四段整条链路在设备上只做四件事每件事都对应一个明确的模块目录。听麦克风到唤醒事件I2S 麦克风读出的 PCM 先进 main/audio/由音频引擎统一接管ESP32-S3/P4 走 AfeAudioEngine自带 AEC 回声消除和 VAD 端点检测C3/C6 这类小芯片走 LiteAudioEngine。引擎一边在本地跑 WakeNet 唤醒词模型一边输出 16 kHz 单声道 PCM送进 Opus 编码队列。输出物只有一个唤醒事件 可上传的 Opus 流。想云端完成识别与推理编码后的语音走 WebSocket 或 MQTTUDP 两种传输之一实现在 main/protocols/到达服务端后依次经过 ASR、大模型Qwen、DeepSeek 等、TTS。设备端不做任何语言模型推理只负责把包发出去、把状态机切到监听。说流式合成边收边播下行 Opus 流被同一编码任务解码回 PCM进播放队列由音频输出任务喂给功放或 DAC边收边播不用等整句合成完。对话文本和情绪表情则交给 main/display/OLED、LVGL 触屏、LED 灯带各有实现。做MCP 协议把指令落到 GPIO大模型能调用工具靠的是 MCP 协议。云端侧 MCP 扩展模型能力智能家居、知识检索设备侧的main/mcp_server.*注册了扬声器、LED、舵机、GPIO 等本地工具。模型决定关灯工具调用下发到设备对应的 GPIO 翻转——控制闭环在这里完成。链路讲完下面解决第一次把它跑起来的问题。ESP32 语音助手的最小固件编译路径部署就一条线装环境 → 选板型 → 一条命令出固件。环境要求 ESP-IDF v6.0.25.5 只为少数老板保留VSCode 装 ESP-IDF 插件即可Linux 下编译更快。仓库支持 138 个板型目录、171 个发布变体。如果你手上已有现成开发板先用python3 scripts/build.py --list-boards查名字如果你想从零用面包板焊一个最小闭环选 bread-compact-esp32OLED I2S 麦克风 扬声器README 有接线文档如果你要带触摸屏的整机体验选 waveshare 触屏系列。git clone https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32选好后在仓库根目录执行编译参数就是板型目录和变体名python3 scripts/build.py bread-compact-esp32 --name bread-compact-esp32生成的merged-binary.bin全分区烧录进板子。Wi-Fi 不用改代码首次启动设备会开 Xiaozhi-xxxx 热点或 BluFi配置一次就写进 NVS之后开机自动连接。引脚号、采样率这些参数都在各板目录的config.h里除非你改硬件接线否则只读不改。语音助手烧录与联调踩坑清单第一次联调你大概率会撞上下面几个问题。烧录后唤醒无反应现象设备正常启动、联网成功但喊唤醒词没反应最可能原因v1 分区表的设备刷了 v2 固件——v2 换成了带 8MB assets 分区的布局唤醒词模型改从 assets 分区加载两版不兼容一句话修复按 partitions/v2/ 里对应 Flash 大小的分区表整包手动烧录不走 OTA唤醒词识别率低现象安静环境偶尔能唤醒稍有噪音就失败最可能原因config.h里麦克风 GPIOWS/SCK/DIN与实物接线对不上或首次启动 assets 资源没下载完一句话修复对照板型目录的 config.h 核对三线接线等日志显示资源下载完成再测回复声音卡顿或断续现象TTS 播放中途掉帧、有杂音最可能原因网络丢包导致下行 Opus 流不连续或有人改动了采样率宏输入 16 kHz / 输出 24 kHz 是与云端约定的参数一句话修复换稳定 Wi-Fi 重试别动config.h里的采样率定义MCP 控制指令不执行现象模型回复已关灯灯没动最可能原因云端配置的工具名、参数与该变体在main/mcp_server.*里注册的不一致一句话修复按实际注册的函数名和参数改云端 MCP 配置能力边界与扩展方向先说清这套固件当前不做什么免得预期错位设备端零大模型推理断网即只剩离线唤醒对话必须回到服务端分区表 v1/v2 不互通OTA 不能跨版本升级只能手动烧录小芯片目标C3/C6 等的 LiteAudioEngine 没有 AEC全双工插话只在 S3/P4 这类硬件上可用需求超出边界时改的地方不超过两处新增或调整板型引脚、外设、构建变体进 main/boards/按docs/custom-board.md的流程走要改传输协议或消息语义比如接私有服务端动main/protocols/注意 WebSocket 和 MQTT/UDP 两条链路要保持同一套约定。性能上记住一条就够音频路径里别做无界队列和重复的大内存分配。只想跑起来看第 2 节想二次开发看第 1 节想接自己的服务端看第 4 节。【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考