Files
Bionic_sphere/Lib/MIC_Driver/Help.md
T
Misaki 5d79f88918 1. 进一步拓展了语音识别,目前可以从sd卡导入模型,避免了model文件占用flash分区大小
2. 进一步修改了语音识别,关闭了关键词唤醒功能,只保留了指令识别功能
3. 构建了业务层的基本框架(增加了底层驱动对于的C++兼容),业务代码采用C++编写,启用了RTTI(运行时类型识别)
2025-09-03 00:19:14 +08:00

55 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 如你所见,这是一份帮助文档。遍布于项目的子目录当中
下面把这段 `afe_config_t` 里的 **每一个成员** 按“它是干什么的 → 典型取值 → 建议” 三步法讲清。
看完你就知道哪些可以大胆改、哪些最好别动。
---
### 1 开关类(true/false
| 成员 | 作用 | 典型取值 | 建议 |
|---|---|---|---|
| **aec_init** | 是否启用 **回声消除**AEC)。<br>用于“喇叭→麦克风”回声场景。 | true:有扬声器<br>false:无扬声器 | 无喇叭就关 |
| **se_init** | 是否启用 **稳态噪声抑制**(降噪)。<br>抑制风扇/空调/胎噪等。 | true:嘈杂环境<br>false:安静环境 | 按场景开关 |
| **vad_init** | 是否启用 **语音活动检测**。<br>只把“有人说话”的区段送给 MultiNet,降低误识别。 | true:怕误触发<br>false:想最省电 | 见上一贴 |
| **wakenet_init** | 是否启用 **唤醒词**WakeNet)。 | true:需要“Hi, Lexin”唤醒<br>false:仅指令识别 | 本帖关 |
| **voice_communication_init** | 是否把 AFE 调成“通话模式”<br>(打开 WebRTC 级 AEC/NS/AGC)。 | trueVoIP/会议<br>false:离线语音识别 | 99% 场景关 |
| **voice_communication_agc_init** | 通话模式下才生效的 AGC 开关。 | 同上 | 同上 |
| **debug_init** | 打开 AFE 内部调试日志。 | true:调试<br>false:量产 | 量产关 |
---
### 2 数值/枚举类
| 成员 | 作用 | 取值范围 & 含义 | 建议 |
|---|---|---|---|
| **vad_mode** | VAD 的灵敏度等级。<br>`VAD_MODE_0` 最松,`VAD_MODE_3` 最严。 | 0~3 | 0=关,1=轻,2=中,3=严 |
| **wakenet_mode** | WakeNet 工作模式(决定通道数/检测阈值)。 | `DET_MODE_0`=关<br>`DET_MODE_2CH_90`=2 麦 90% 阈值 | 关唤醒就设 0 |
| **afe_mode** | AFE 整体运行档。<br>`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 内部环形缓冲帧数。<br>越大越抗抖动,越大吃 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 10LOW_COST,优先 PSRAM。
- **想最稳最抗噪**
`vad_init=true, vad_mode=2, se_init=true`ringbuf 50。