5.2 KiB
5.2 KiB
AI小智自定义唤醒词配置使用手册
🚀 快速开始
1. 配置项目
在项目根目录执行配置命令:
idf.py menuconfig
2. 导航到配置选项
在menuconfig界面中:
顶级菜单 → Xiaozhi Assistant → 唤醒词配置
3. 选择唤醒词模式
方案A:使用自定义唤醒词(推荐)
[ ] 启用唤醒词检测 # 关闭传统模式
[*] 启用自定义唤醒词检测 # 开启自定义模式
自定义唤醒词 (ni hao xiao zhi) # 拼音配置
自定义唤醒词显示文本 (你好小智) # 显示文本
方案B:使用传统固定唤醒词
[*] 启用唤醒词检测 # 开启传统模式
[ ] 启用自定义唤醒词检测 # 关闭自定义模式
🎨 自定义唤醒词配置示例
配置"小爱同学"
[*] 启用自定义唤醒词检测
自定义唤醒词 (xiao ai tong xue)
自定义唤醒词显示文本 (小爱同学)
配置"天猫精灵"
[*] 启用自定义唤醒词检测
自定义唤醒词 (tian mao jing ling)
自定义唤醒词显示文本 (天猫精灵)
配置"小度小度"
[*] 启用自定义唤醒词检测
自定义唤醒词 (xiao du xiao du)
自定义唤醒词显示文本 (小度小度)
配置"嘿Siri"
[*] 启用自定义唤醒词检测
自定义唤醒词 (hei siri)
自定义唤醒词显示文本 (嘿Siri)
📋 拼音输入规则
基本规则
- 格式:汉语拼音,单词间用空格分隔
- 声调:不需要标注声调
- 大小写:建议使用小写
- 长度:建议2-5个字,效果最佳
拼音对照表
| 汉字 | 拼音 | 汉字 | 拼音 |
|---|---|---|---|
| 小 | xiao | 智 | zhi |
| 爱 | ai | 助 | zhu |
| 你 | ni | 手 | shou |
| 好 | hao | 机 | ji |
| 天 | tian | 器 | qi |
| 猫 | mao | 人 | ren |
常见错误
❌ xiaozhi(连写)
✅ xiao zhi(分开)
❌ ni-hao(用连字符)
✅ ni hao(用空格)
🔧 编译和部署
1. 编译项目
idf.py build
预期输出:
...
[100%] Built target ai-xiaozhi.elf
Project build complete.
2. 烧录固件
idf.py flash
3. 查看运行日志
idf.py monitor
成功日志示例:
I (12345) CustomWakeWord: multinet:mn5_cn
I (12346) CustomWakeWord: Custom wake word: ni hao xiao zhi
I (12347) CustomWakeWord: Audio detection task started
...
I (15000) CustomWakeWord: Custom wake word 'ni hao xiao zhi' detected successfully!
🧪 功能测试
1. 基础测试
- 开机自检:查看日志确认唤醒词模式
- 唤醒测试:说出配置的唤醒词
- 响应测试:确认设备正确响应
2. 对比测试
- 灵敏度:与传统模式对比响应速度
- 准确率:测试误唤醒和漏检情况
- 稳定性:长时间运行测试
3. 环境测试
- 安静环境:测试最低音量阈值
- 噪音环境:测试抗干扰能力
- 距离测试:测试有效识别距离
⚙️ 高级配置
调整检测阈值
如果唤醒词过于敏感或不够敏感,可以修改代码:
文件:main/audio_processing/custom_wake_word.cc
位置:第67行
multinet_->set_det_threshold(multinet_model_data_, 0.5); // 默认0.5,范围0.1-0.9
- 降低值(如0.3):更容易唤醒,但可能误触发
- 提高值(如0.7):减少误触发,但需要更清晰发音
调整超时时间
位置:第66行
multinet_model_data_ = multinet_->create(mn_name_, 2000); // 2秒超时
调试模式启用
在menuconfig中启用:
Component config → Log output → Default log verbosity → Debug
🐛 故障排除
编译错误
错误1:undefined reference to CONFIG_CUSTOM_WAKE_WORD
解决:确保在menuconfig中启用了自定义唤醒词
错误2:esp_mn_commands_* not found
解决:确认ESP-SR组件版本 >= 2.0.3
运行错误
错误1:初始化失败
日志:Failed to initialize multinet
解决:检查PSRAM配置,确保ESP32-S3芯片
错误2:唤醒词不响应
检查:1. 麦克风硬件 2. 拼音配置 3. 音量大小
错误3:频繁误触发
解决:提高检测阈值或更换唤醒词
📈 性能优化
内存优化
- 确保PSRAM启用
- 监控堆内存使用
- 定期检查内存泄漏
CPU优化
- 合理设置任务优先级
- 避免在音频任务中执行重操作
- 使用合适的CPU核心分配
🔄 版本兼容性
| ESP-IDF版本 | 支持状态 | 备注 |
|---|---|---|
| 5.3+ | ✅ 完全支持 | 推荐版本 |
| 5.2 | ⚠️ 部分支持 | 需要更新ESP-SR |
| 5.1 | ❌ 不支持 | 缺少必要组件 |
📞 技术支持
如遇到问题,请检查:
- 硬件是否符合要求(ESP32-S3 + PSRAM)
- ESP-SR组件版本是否正确
- 拼音配置是否准确
- 系统日志中的错误信息
祝您使用愉快! 🎉