xiaozhi-esp32 自定义唤醒词完整指南:3 个参数给你的 AI 助手起个新名字 xiaozhi-esp32 自定义唤醒词完整指南3 个参数给你的 AI 助手起个新名字【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32家里如果同时摆着两台语音助手喊一声你好小智两台可能一起回应——这不是段子是不少玩家的真实困扰。xiaozhi-esp32 基于 MCP 构建除了接入大模型对话之外还支持离线唤醒词检测并且允许你把默认的唤醒词换成自己取的昵称比如小土豆或同学你好。整个功能只涉及三个配置项唤醒词拼音、显示名称、识别阈值。改完重新编译烧录就能用新名字唤醒设备。开始之前硬件和软件前置条件自定义唤醒词不是所有芯片都支持的MultiNet 命令词模型对算力有要求芯片ESP32-S3、ESP32-P4 或 ESP32-S31 三选一其他型号C3/C5/C6 等无法启用该选项PSRAM必须启用 PSRAM没有外部 PSRAM 的板子同样不可用音频链路已接好麦克风、喇叭并能正常烧录固件基础对话功能可正常工作工具链安装 ESP-IDF 开发环境能运行idf.py没有本地仓库的话先拉一份代码git clone https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 cd xiaozhi-esp32三步配置完成自定义唤醒词所有配置都收敛在 main/Kconfig.projbuild 里通过 menuconfig 修改即可。第 1 步切换到自定义唤醒词实现idf.py menuconfig进入Xiaozhi Assistant→Wake Word Implementation Type在四个选项中选中Multinet model (Custom Wake Word)空格键切换X表示选中。验证点选中后下方会出现Custom Wake Word等三个专属配置项如果菜单里根本没有这个选项说明你的目标芯片不是 S3/P4/S31或没开 PSRAM。第 2 步填写三个参数Custom Wake Word唤醒词的拼音字与字之间用空格分隔例如xiao tu dou默认值就是它Custom Wake Word Display唤醒后展示和上报的昵称例如小土豆。这个字符串会作为唤醒事件的文本发给服务器Custom Wake Word Threshold (%)识别阈值取值 1–99默认 20。数值越小越容易触发也越容易误唤醒验证点保存退出前确认拼音拼写和显示名称都正确。拼音是模型实际匹配的内容写错一个字就唤不醒。第 3 步编译并烧录idf.py build flash验证点上电后对着麦克风说唤醒词听到设备正常进入对话状态即配置成功。日志中出现Custom wake word detected字样说明 MultiNet 已经命中。原理速览唤醒词是怎么被听见的不需要改代码先了解数据在设备里走了一遍什么路。核心逻辑在 main/audio/wake_words/custom_wake_word.cc用白话拆开讲离线检测识别由乐鑫 ESP-SR 框架里的 MultiNet多命令词识别模型完成全程在芯片本地跑不依赖网络所以唤醒延迟低、断网也能用。分块喂数据音频不是一整句送去匹配而是切成模型要求的固定长度小块循环送入detect接口每一块的输出是未命中 / 命中 / 超时三种状态之一。双声道处理如果编解码器输出两个声道只取左声道参与识别保证模型吃到的始终是单声道数据。命中之后回调把配置里写的昵称Custom Wake Word Display交给上层应用设备随即退出待机、开始联网对话。参数与调优手册三个参数各自的作用参数默认值作用调整方向CUSTOM_WAKE_WORDxiao tu dou模型实际匹配的拼音串按字拆拼音空格分隔CUSTOM_WAKE_WORD_DISPLAY小土豆唤醒后显示的昵称并作为问候文本上报服务器可含中文、表情文字CUSTOM_WAKE_WORD_THRESHOLD20判定阈值1–99越小越敏感误唤醒→调大唤不醒→调小按使用环境选阈值比逐个数试错快安静的卧室 / 书房15–20。人声清晰低阈值即可稳定唤醒还省得凑近设备。客厅、办公室等日常环境20–25。默认值 20 就落在这个区间先不动它。厨房、马路边等背景音较大的场景25–30。宁可偶尔喊两遍也不要设备自己开口说话。选唤醒词本身也有讲究3–4 个音节最合适太长容易超时太短容易和日常用语撞车避免你好这类高频开场白也避免连续同音字发音口齿清晰、声母韵母分明的组合如 x-i、d、t 开头识别率更好常见问题排查症状喊了唤醒词设备完全没反应可能原因 → 解决方案菜单里没选中Multinet model (Custom Wake Word)→ 重新进menuconfig确认选中后专属配置项才会生效目标芯片或 PSRAM 不满足要求 → 检查IDF_TARGET是否为 S3/P4/S31并确认 PSRAM 已开启拼音写错多字、漏字、大小写混用→ 对照CUSTOM_WAKE_WORD逐项核对阈值设得太高 → 先降回 15 验证再逐步上调症状设备频繁自己唤醒误触发可能原因 → 解决方案阈值过低 → 每次加 3–5 上调观察一天唤醒词太常见如你好 XX→ 换一个更独特的组合喇叭声音回灌进麦克风 → 降低播放音量或拉开麦喇叭距离若需要播放中也能唤醒可在menuconfig中开启Enable Wake Word Detection in Listening Mode该选项默认关闭症状编译或启动时报模型相关错误可能原因 → 解决方案ESP-SR 组件没拉取到 → 清理构建目录后重新编译让组件管理器重新下载设备找不到对应语言的 MultiNet 模型 → 日志会打印multinet not found确认 PSRAM 容量足够容纳语音模型必要时增大 Flash 分区进阶玩法一个设备响应多个唤醒词main/audio/wake_words/custom_wake_word.cc 中通过esp_mn_commands_add把命令词逐条注册进模型Custom Wake Word只是其中一条。改成在menuconfig之外直接维护命令列表即可让小智和小土豆两个名字都能唤醒同一台设备——适合多口之家各叫各的昵称。播放中打断当前对话Kconfig 里的WAKE_WORD_DETECTION_IN_LISTENING默认关闭打开后设备在聆听状态下仍持续检测唤醒词可以喊名字打断正在进行的对话。想要随时叫停体验的用户建议开启。写在最后到这里唤醒词、显示名、阈值三项配完一台属于你自己的 xiaozhi-esp32 就完成了。下一步建议先在安静环境把阈值调到 15 确认识别正常再按实际使用场景上调如果后续想连字体、提示音一起定制可以再看看项目的自定义 Assets 相关文档。【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考