5d79f88918
2. 进一步修改了语音识别,关闭了关键词唤醒功能,只保留了指令识别功能 3. 构建了业务层的基本框架(增加了底层驱动对于的C++兼容),业务代码采用C++编写,启用了RTTI(运行时类型识别)
3.4 KiB
3.4 KiB
如你所见,这是一份帮助文档。遍布于项目的子目录当中
下面把这段 afe_config_t 里的 每一个成员 按“它是干什么的 → 典型取值 → 建议” 三步法讲清。
看完你就知道哪些可以大胆改、哪些最好别动。
1 开关类(true/false)
| 成员 | 作用 | 典型取值 | 建议 |
|---|---|---|---|
| aec_init | 是否启用 回声消除(AEC)。 用于“喇叭→麦克风”回声场景。 |
true:有扬声器 false:无扬声器 |
无喇叭就关 |
| se_init | 是否启用 稳态噪声抑制(降噪)。 抑制风扇/空调/胎噪等。 |
true:嘈杂环境 false:安静环境 |
按场景开关 |
| vad_init | 是否启用 语音活动检测。 只把“有人说话”的区段送给 MultiNet,降低误识别。 |
true:怕误触发 false:想最省电 |
见上一贴 |
| wakenet_init | 是否启用 唤醒词(WakeNet)。 | true:需要“Hi, Lexin”唤醒 false:仅指令识别 |
本帖关 |
| voice_communication_init | 是否把 AFE 调成“通话模式” (打开 WebRTC 级 AEC/NS/AGC)。 |
true:VoIP/会议 false:离线语音识别 |
99% 场景关 |
| voice_communication_agc_init | 通话模式下才生效的 AGC 开关。 | 同上 | 同上 |
| debug_init | 打开 AFE 内部调试日志。 | true:调试 false:量产 |
量产关 |
2 数值/枚举类
| 成员 | 作用 | 取值范围 & 含义 | 建议 |
|---|---|---|---|
| vad_mode | VAD 的灵敏度等级。VAD_MODE_0 最松,VAD_MODE_3 最严。 |
0~3 | 0=关,1=轻,2=中,3=严 |
| wakenet_mode | WakeNet 工作模式(决定通道数/检测阈值)。 | DET_MODE_0=关DET_MODE_2CH_90=2 麦 90% 阈值 |
关唤醒就设 0 |
| afe_mode | AFE 整体运行档。SR_MODE_HIGH_PERF 最准但吃资源,SR_MODE_LOW_COST 最省。 |
LOW_COST / HIGH_PERF | ESP32-S3 建议 LOW_COST |
| afe_perferred_core | feed/fetch 任务优先跑在哪个核。 | 0 / 1 | 与业务任务错峰即可 |
| afe_perferred_priority | AFE 内部线程优先级(5~15)。 | 5=低,15=高 | 一般 5 就够 |
| afe_ringbuf_size | AFE 内部环形缓冲帧数。 越大越抗抖动,越大吃 RAM。 |
10~100 | 不开唤醒 10~20 即可 |
| memory_alloc_mode | 模型/缓冲放在 PSRAM 还是内部 SRAM。 | AFE_MEMORY_ALLOC_MORE_PSRAM → 优先 PSRAM,省内部 RAM |
有 PSRAM 就开 |
| afe_linear_gain | 线性数字增益(1.0=不变)。 | 0.1~4.0 | 麦克风灵敏度低可调到 1.5 |
| agc_mode | 自动增益控制策略。 | AFE_MN_PEAK_AGC_MODE_0/1/2 |
默认 2 即可 |
| voice_communication_agc_gain | 通话模式下 AGC 目标增益 dB。 | 0~31 | 仅通话模式生效 |
3 子结构体 pcm_config
| 成员 | 作用 | 典型取值 | 说明 |
|---|---|---|---|
| total_ch_num | 前端接收的 总通道数(mic + ref 之和)。 | 2 | I²S 数据里一共几路 |
| mic_num | 其中 麦克风通道 数量。 | 1 | 单麦就写 1 |
| ref_num | 参考通道(回声参考、噪声参考)数量。 | 1 | 无回声可 0,有回声就 1 |
| sample_rate | 采样率。 | 16000 | MultiNet 固定 16 kHz |
4 一句话总结
- 想最省电/省 RAM:
aec/se/vad/wakenet全关,ringbuf 10,LOW_COST,优先 PSRAM。 - 想最稳最抗噪:
vad_init=true, vad_mode=2, se_init=true,ringbuf 50。