From 04ae02fea2598624c16d105f4695bf5055352695 Mon Sep 17 00:00:00 2001 From: Wang Wang Wang Date: Fri, 5 Nov 2021 18:30:24 +0800 Subject: [PATCH] docs(AFE): Update AFE docs --- docs/audio_front_end/README.md | 212 ++++++++++++++++------------ docs/audio_front_end/README_CN.md | 223 +++++++++++++++++------------- docs/img/AFE_overview.png | Bin 34912 -> 48478 bytes docs/img/AFE_workflow.png | Bin 20109 -> 28533 bytes 4 files changed, 245 insertions(+), 190 deletions(-) mode change 100644 => 100755 docs/audio_front_end/README.md mode change 100644 => 100755 docs/audio_front_end/README_CN.md diff --git a/docs/audio_front_end/README.md b/docs/audio_front_end/README.md old mode 100644 new mode 100755 index a5d8c79..3f014aa --- a/docs/audio_front_end/README.md +++ b/docs/audio_front_end/README.md @@ -20,10 +20,10 @@ The workflow of Espressif AFE can be divided into four parts: - AFE creation and initialization - AFE feed: Input audio data and will run AEC in the feed function -- Internal BSS, NS algorithms +- Internal BSS/NS algorithms - AFE fetch: Return the audio data after processing and the output value. the AFE fetch will perform VAD internally. If you configure WakeNet to be 'enabled', WakeNet wil do wake-word detection -**Note:** `afe->feed()` and `afe->fetch()` are visible to users, while `internal BSS task` is invisible to users. +**Note:** `afe->feed()` and `afe->fetch()` are visible to users, while `internal BSS/NS task` is invisible to users. > AEC runs in `afe->feed()` function; > BSS is an independent task in AFE; @@ -41,45 +41,12 @@ Espressif AFE supports both single MIC and dual MIC scenarios. The internal task esp_afe_sr_iface_t *afe_handle = &esp_afe_sr_2mic; -### Select AFE mode - -- Single MIC - - Espressif AFE single MIC supports 2 working modes: SR_MODE_MONO_LOW_COST, SR_MODE_MONO_MEDIUM_COST. - - - SR_MODE_MONO_LOW_COST - - It is suitable for mono audio data + one reference audio data, with very low memory consumption and CPU resource consumption. It runs less-complex AEC and less-complex mono NS algorithm. - - - SR_MODE_MONO_MEDIUM_COST - - It is suitable for mono audio data + one reference audio data, with low memory consumption and CPU resource consumption. It runs less-complex AEC and medium-complex mono NS algorithm. - - -- Dual MIC - - Espressif AFE dual MIC supports 3 working modes: SR_MODE_STEREO_LOW_COST, SR_MODE_STEREO_MEDIUM, SR_MODE_STEREO_HIGH_PERF. - - - SR_MODE_STEREO_LOW_COST - - It is suitable for two-channel audio data + one reference audio data, it runs less-complex AEC and less-complex BSS. - - - SR_MODE_STEREO_MEDIUM - - It is suitable for two-channel audio data + one reference audio data, it runs high-complexity AEC and less-complex BSS. - - - SR_MODE_STEREO_HIGH_PERF - - It is suitable for two-channel audio data + one reference audio data, it runs high-complexity AEC and high-complexity BSS. - ### Input Audio data - AFE single MIC - Input audio data format: 16KHz, 16bit, two channels (one is mic data, another is reference data) - - The data frame length is 16ms. Users can use `afe->get_feed_chunksize()` to get the number of sampling points needed (the data type of sampling points is int16). - - **Note**: the number of sampling points got by `afe->get_feed_chunksize()` is just the data of one channel. + - The data frame length is 32ms. Users can use `afe->get_feed_chunksize()` to get the number of sampling points needed (the data type of sampling points is int16). The input data is arranged as follows: @@ -88,16 +55,17 @@ Espressif AFE supports both single MIC and dual MIC scenarios. The internal task - AFE dual MIC - Input audio data format: 16KHz, 16bit, three channels (two are mic data, another is reference data) - - The data frame length is 16ms. Users can use `afe->get_feed_chunksize()` to get the number of sampling points needed (the data type of sampling points is int16). + - The data frame length is 32ms. Users can use `afe->get_feed_chunksize()` to get the number of sampling points needed (the data type of sampling points is int16). The input data is arranged as follows: +Note: the converted data size is: `afe->get_feed_chunksize * channel number * sizeof(short)` ### AEC Introduction -The AEC (Acoustic Echo Cancellation) algorithm supports maximum two-channel processing, which can effectively remove the echo in the mic input signal, and help with further speech recognition. +The AEC (Acoustic Echo Cancellation) algorithm supports maximum two-mic processing, which can effectively remove the echo in the mic input signal, and help with further speech recognition. ### NS (noise suppression) @@ -125,7 +93,7 @@ The output audio of AFE is single-channel data. When WakeNet is enabled, AFE wil ### 1. Define afe_handle -`afe_handle` is the handle of AFE operation. Users need to select the corresponding AFE handle according to the single MIC and dual MIC applications. +`afe_handle ` is the function handle that the user calls the AFE interface. Users need to select the corresponding AFE handle according to the single MIC and dual MIC applications. - Single MIC @@ -135,102 +103,162 @@ The output audio of AFE is single-channel data. When WakeNet is enabled, AFE wil esp_afe_sr_iface_t *afe_handle = &esp_afe_sr_2mic; -### 2. Create afe_handle +### 2. Configure AFE -Use `afe_handle->create()` function to initialize the AFE created in step1. +Get the configuration of AFE: + + afe_config_t afe_config = AFE_CONFIG_DEFAULT(); + +Users can adjust the switch of each algorithm module and its corresponding parameters in macros ` AFE_ CONFIG_ DEFAULT ()`: ``` -typedef esp_afe_sr_data_t* (*esp_afe_sr_iface_op_create_t)(afe_sr_mode_t mode, int perferred_core); - -- param mode The mode of AFE_SR -- param perferred_core The perferred core to be pinned for BSS Task. -- returns Handle to the AFE_SR data +#define AFE_CONFIG_DEFAULT() { \ + .aec_init = true, \ + .se_init = true, \ + .vad_init = true, \ + .wakenet_init = true, \ + .vad_mode = 3, \ + .wakenet_model = &WAKENET_MODEL, \ + .wakenet_coeff = &WAKENET_COEFF, \ + .wakenet_mode = DET_MODE_2CH_90, \ + .afe_mode = SR_MODE_HIGH_PERF, \ + .afe_perferred_core = 0, \ + .afe_perferred_priority = 5, \ + .afe_ringbuf_size = 50, \ + .alloc_from_psram = 1, \ + .agc_mode = 2, \ +} ``` -There are two parameters used as above. Users can set different AFE modes and the number of CPU cores for BSS task in AFE according to the actual application requirements. +- aec_init: Whether the AEC algorithm is enabled. -**Note**: ESP32 audio development board, such as ESP32-Lyrat_Mini, AFE mode can only select `SR_MODE_MONO_LOW_COST` or `SR_MODE_MONO_MEDIUM_COST`. +- se_init: Whether the BSS/NS algorithm is enabled. -### 3. Set WakeNet +- vad_init: Whether the VAD algorithm is enabled. -Two steps to set up WakeNet: +- wakenet_init: Whether the wake algorithm is enabled. -- Use `make menuconfig` to choose WakeNet model. Please refer to: [WakeNet](https://github.com/espressif/esp-sr/tree/b9504e35485b60524977a8df9ff448ca89cd9d62/wake_word_engine) -- Call `afe_handle->set_wakenet(afe_data, &WAKENET_MODEL, &WAKENET_COEFF);` to initialize WakeNet. +- vad_mode: The VAD operating mode. A more aggressive (higher mode) VAD is more. + +- wakenet_model/wakenet_coeff/wakenet_mode: Use `make menuconfig` to choose WakeNet model. Please refer to:[WakeNet](https://github.com/espressif/esp-sr/tree/b9504e35485b60524977a8df9ff448ca89cd9d62/wake_word_engine) + +- afe_mode: Espressif AFE supports two working modes: SR_MODE_LOW_COST, SR_MODE_HIGH_PERF. See the afe_sr_mode_t enumeration for details. + + - SR_MODE_LOW_COST: The quantified version occupies less resources. + + - SR_MODE_HIGH_PERF: The non-quantified version occupies more resources. + + **ESP32 only supports SR_MODE_HIGH_PERF; + And ESP32S3 supports both of the modes ** + +- afe_perferred_core: The internal BSS/NS algorithm of AFE will be running on which CPU core. + +- afe_ringbuf_size: The configuration of the internal ringbuf size. + +- alloc_from_psram: Whether to allocate memory from external psram first. Three values can be configured: + + - 0: Allocated from internal ram. + + - 1: Part of memory is allocated from external psram. + + - 2: Most of memory is allocated from external psram. + +- agc_mode: Configuration for linear audio amplification. + +### 3. Create afe_data + +The user uses the `afe_handle->create_from_config(&afe_config)` function to obtain the data handle, which will be used internally in afe, and the parameters passed in are the configurations obtained in step 2 above. + +``` +/** + * @brief Function to initialze a AFE_SR instance + * + * @param afe_config The config of AFE_SR + * @returns Handle to the AFE_SR data + */ +typedef esp_afe_sr_data_t* (*esp_afe_sr_iface_op_create_from_config_t)(afe_config_t *afe_config); +``` ### 4. feed audio data -After initializing AFE and WakeNet, users need to input audio data into AFE by `afe->feed()` function for processing. +After initializing AFE and WakeNet, users need to input audio data into AFE by `afe_handle->feed()` function for processing. The input audio size and layout format can refer to the step **Input Audio data**. ``` +/** + * @brief Feed samples of an audio stream to the AFE_SR + * + * + * @param afe The AFE_SR data handle + * + * @param in The input microphone signal, only support signed 16-bit @ 16 KHZ. The frame size can be queried by the + * `get_samp_chunksize`. The channel number can be queried `get_channel_num`. + * @return The size of input + */ typedef int (*esp_afe_sr_iface_op_feed_t)(esp_afe_sr_data_t *afe, const int16_t* in); -- param afe The AFE_SR object to queryq -- param in The input microphone signal, only support signed 16-bit @ 16 KHZ. The frame size can be queried by the `get_samp_chunksize`. The channel number can be queried `get_channel_num`. -- return The size of input - ``` Get the number of audio channels: - `afe->get_channel_num()` function can provide the number of MIC data channels that need to be put into `afe->feed()` function( Without reference channel). + `afe_handle->get_channel_num()` function can provide the number of MIC data channels that need to be put into `afe_handle->feed()` function( Without reference channel). ``` +/** + * @brief Get the channel number of samples that need to be passed to the fetch function + * + * @param afe The AFE_SR object to query + * @return The amount of channel number + */ typedef int (*esp_afe_sr_iface_op_get_channel_num_t)(esp_afe_sr_data_t *afe); -- param afe The AFE_SR object to query -- return The amount of samples to feed the fetch function ``` ### 5. fetch audio data -Users can get the processed single-channel audio by `afe->fetch()` function. +Users can get the processed single-channel audio by `afe_handle->fetch()` function. -The number of data sampling points of fetch (the data type of sampling point is int16) can be got by `afe->get_fetch_chunksize`. +The number of data sampling points of fetch (the data type of sampling point is int16) can be got by `afe_handle->get_fetch_chunksize`. ``` +/** + * @brief Get the amount of each channel samples per frame that need to be passed to the function + * + * Every speech enhancement AFE_SR processes a certain number of samples at the same time. This function + * can be used to query that amount. Note that the returned amount is in 16-bit samples, not in bytes. + * + * @param afe The AFE_SR object to query + * @return The amount of samples to feed the fetch function + */ typedef int (*esp_afe_sr_iface_op_get_samp_chunksize_t)(esp_afe_sr_data_t *afe); -- param afe The AFE_SR object to query ``` -Please pay attention to the return value of `afe->fetch()`: -- -1: noise -- 0: speech -- 1: wake word 1 -- 2: wake word 2 +Please pay attention to the return value of `afe_handle->fetch()`: + +- AFE_FETCH_CHANNEL_VERIFIED: Audio channel confirmation (This value is not returned while single microphone wakes up.) +- AFE_FETCH_NOISE: Noise detected +- AFE_FETCH_SPEECH: Speech detected +- AFE_FETCH_WWE_DETECTED: Wakeup detected - ... ``` -typedef int (*esp_afe_sr_iface_op_fetch_t)(esp_afe_sr_data_t *afe, int16_t* out); -- param afe The AFE_SR object to query -- param out The output enhanced signal. The frame size can be queried by the `get_samp_chunksize`. -- return The style of output, -1: noise, 0: speech, 1: wake word 1, 2: wake word 2, ... +/** + * @brief fetch enhanced samples of an audio stream from the AFE_SR + * + * @Warning The output is single channel data, no matter how many channels the input is. + * + * @param afe The AFE_SR object to query + * @param out The output enhanced signal. The frame size can be queried by the `get_samp_chunksize`. + * @return The state of output, please refer to the definition of `afe_fetch_mode_t` + */ +typedef afe_fetch_mode_t (*esp_afe_sr_iface_op_fetch_t)(esp_afe_sr_data_t *afe, int16_t* out); ``` ### 6. Usage of WakeNet -WakeNet in AFE can be used in three ways: +When users need to perform other operations after wake-up, such as offline or online speech recognitioafe_handlen, they can pause the operation of WakeNet to reduce the CPU resource consumption. -- No WakeNet - -Users can choose not to initialize WakeNet if not call: - - afe_handle->set_wakenet(afe_data, &WAKENET_MODEL, &WAKENET_COEFF); - -- Use WakeNet - -Users need to configure the wake word by `make menuconfig` first. Then call: - - afe_handle->set_wakenet(afe_data, &WAKENET_MODEL, &WAKENET_COEFF); - -In this way, you can use `afe->fetch()` to check wake-up status. - -- Disable WakeNet after wake-up: - -When users need to perform other operations after wake-up, such as offline or online speech recognition, they can pause the operation of WakeNet to reduce the CPU resource consumption. - -Users can call `afe->disable_wakenet(afe_data)` to stop WakeNet, or call `afe->enable_wakenet(afe_data)` to enable WakeNet. +Users can call `afe_handle->disable_wakenet(afe_data)` to stop WakeNet, or call `afe_handle->enable_wakenet(afe_data)` to enable WakeNet. ### 7. Usage of AEC diff --git a/docs/audio_front_end/README_CN.md b/docs/audio_front_end/README_CN.md old mode 100644 new mode 100755 index 099a65f..07a8f43 --- a/docs/audio_front_end/README_CN.md +++ b/docs/audio_front_end/README_CN.md @@ -23,10 +23,10 @@ - 内部:AFE BSS/NS 算法处理 - AFE fetch,返回处理过的音频数据和返回值, fetch 内部会进行 VAD 处理,如果用户设置 WakeNet 为 enable 状态,也会进行唤醒词的检测 -其中 `afe->feed()` 和 `afe->fetch()` 对用户可见,`Internal BSS Task` 对用户不可见。 +其中 `afe->feed()` 和 `afe->fetch()` 对用户可见,`Internal BSS/NS Task` 对用户不可见。 > AEC 在 afe->feed() 函数中运行; -> BSS 为 AFE 内部独立 Task 进行处理; +> BSS/NS 为 AFE 内部独立 Task 进行处理; > VAD 和 WakeNet 的结果通过 afe->fetch() 函数中获取。 ### 选择 AFE handle @@ -41,63 +41,31 @@ esp_afe_sr_iface_t *afe_handle = &esp_afe_sr_2mic; -### 选择 AFE mode - -- 单麦 - - 乐鑫 AFE 单麦场景目前支持 2 种工作模式,分别为:SR_MODE_MONO_LOW_COST, SR_MODE_MONO_MEDIUM_COST. -详细可见 afe_sr_mode_t 结构体。 - - - SR_MODE_MONO_LOW_COST - - 适用于单通道音频数据+一路回采数据,具有很低的内存消耗和 CPU 资源消耗,此时运行低复杂度 AEC 和低复杂度降噪算法。 - - - SR_MODE_MONO_MEDIUM_COST - - 适用于单通道音频数据+一路回采数据,具有较低的内存消耗和 CPU 资源消耗,此时运行低复杂度 AEC 和中等复杂度降噪算法。 - -- 双麦 - - 乐鑫 AFE 双麦场景目前支持 3 种工作模式,分别为:SR_MODE_STEREO_LOW_COST, SR_MODE_STEREO_MEDIUM, SR_MODE_STEREO_HIGH_PERF. -详细可见 afe_sr_mode_t 结构体。 - - - SR_MODE_STEREO_LOW_COST - - 适用于双通道音频数据 + 一路回采数据,AEC 采用复杂度较低的算法, BSS 采用低复杂度算法 - - - SR_MODE_STEREO_MEDIUM - - 适用于双通道音频数据 + 一路回采数据,AEC 采用复杂度较高的算法, BSS 采样低复杂度算法 - - - SR_MODE_STEREO_HIGH_PERF - - 适用于双通道音频数据 + 一路回采数据,AEC 和 BSS 均采用复杂度较高的模式 - ### 输入音频 -- 当 AFE 单麦场景 +- AFE 单麦场景 - - 输入音频格式为 16KHz, 16bit, 双通道(1个通道为 mic 数据,另一个通道为参考回路) - - 数据帧长为 16ms, 用户可以使用 `afe->get_feed_chunksize` 来获取需要的采样点数目(采样点数据类型为 int16) - - 注意:此处得到数据量大小为单通道音频。 + - 输入音频格式为 16KHz, 16bit, 双通道(1个通道为 mic 数据,另一个通道为参考回路) + - 数据帧长为 32ms, 用户可以使用 `afe->get_feed_chunksize` 来获取需要的采样点数目(采样点数据类型为 int16) 数据排布如下: -- 当 AFE 双麦场景 +- AFE 双麦场景 - - 输入音频格式为 16KHz, 16bit, 三通道 - - 数据帧长为 32ms, 用户可以使用 `afe->get_feed_chunksize` 来获取需要填充的数据量 + - 输入音频格式为 16KHz, 16bit, 三通道 + - 数据帧长为 32ms, 用户可以使用 `afe->get_feed_chunksize` 来获取需要填充的数据量 数据排布如下: +注意:换算成数据量大小为:`afe->get_feed_chunksize * 通道数 * sizeof(short)` + ### AEC 简介 -AEC (Acoustic Echo Cancellation) 算法最多支持双通道处理,能够有效的去除 mic 输入信号中的自身播放回声。从而可以在自身播放音乐的情况下进行很好的语音识别等应用。 +AEC (Acoustic Echo Cancellation) 算法最多支持双麦处理,能够有效的去除 mic 输入信号中的自身播放声音。从而可以在自身播放音乐的情况下进行很好的语音识别等应用。 ### NS 简介 @@ -125,7 +93,7 @@ AFE 的输出音频为单通道数据,在 WakeNet 开启的情况下,AFE 会 ### 1. 定义 afe_handle -`afe_handle` 是用户后续使用 afe 操作的相关句柄。用户需要根据单麦和双麦场景选择对应的 `afe_handle`。 +`afe_handle` 是用户后续调用 afe 接口的函数句柄。用户需要根据单麦和双麦场景选择对应的 `afe_handle`。 单麦场景: @@ -135,104 +103,163 @@ AFE 的输出音频为单通道数据,在 WakeNet 开启的情况下,AFE 会 esp_afe_sr_iface_t *afe_handle = &esp_afe_sr_2mic; -### 2. 创建 afe_handle +### 2. 配置 afe -用户使用 `afe_handle->create()` 函数来初始化在第一步中创建的 `afe_handle`。 +获取 afe 的配置: + + afe_config_t afe_config = AFE_CONFIG_DEFAULT(); + +可在宏`AFE_CONFIG_DEFAULT()`中调整各算法模块的使能及其相应参数: ``` -typedef esp_afe_sr_data_t* (*esp_afe_sr_iface_op_create_t)(afe_sr_mode_t mode, int perferred_core); - -- param mode The mode of AFE_SR -- param perferred_core The perferred core to be pinned for BSS Task. -- returns Handle to the AFE_SR data +#define AFE_CONFIG_DEFAULT() { \ + .aec_init = true, \ + .se_init = true, \ + .vad_init = true, \ + .wakenet_init = true, \ + .vad_mode = 3, \ + .wakenet_model = &WAKENET_MODEL, \ + .wakenet_coeff = &WAKENET_COEFF, \ + .wakenet_mode = DET_MODE_2CH_90, \ + .afe_mode = SR_MODE_HIGH_PERF, \ + .afe_perferred_core = 0, \ + .afe_perferred_priority = 5, \ + .afe_ringbuf_size = 50, \ + .alloc_from_psram = 1, \ + .agc_mode = 2, \ +} ``` -调用 `afe_handle->create()` 时使用的两个形参如上。用户可以根据实际应用的需求来设置不同的 AFE 模式和 AFE 内部 BSS Task 运行的 CPU 核数。 +- aec_init: AEC 算法是否使能。 -注意:ESP32 系列的音频开发板,例如 ESP32-LyraT-Mini,AFE 模式只能选择 `SR_MODE_MONO_LOW_COST` 或者 `SR_MODE_MONO_MEDIUM_COST`, 即单通道模式。 +- se_init: BSS/NS 算法是否使能。 -### 3. 设置 WakeNet +- vad_init: VAD 是否使能。 -对用户而言,设置 WakeNet 可以分为两步: -- 使用 `make menuconfig` 来选择相应的唤醒模型,详见:[WakeNet](https://github.com/espressif/esp-sr/tree/b9504e35485b60524977a8df9ff448ca89cd9d62/wake_word_engine) +- wakenet_init: 唤醒是否使能。 -- 调用 `afe_handle->set_wakenet(afe_data, &WAKENET_MODEL, &WAKENET_COEFF);` 来初始化 WakeNet. +- vad_mode: VAD 检测的操作模式,越大越激进。 + +- wakenet_model/wakenet_coeff/wakenet_mode: 使用 `make menuconfig` 来选择相应的唤醒模型,详见:[WakeNet](https://github.com/espressif/esp-sr/tree/b9504e35485b60524977a8df9ff448ca89cd9d62/wake_word_engine) + +- afe_mode: 乐鑫 AFE 目前支持 2 种工作模式,分别为:SR_MODE_LOW_COST, SR_MODE_HIGH_PERF。详细可见 afe_sr_mode_t 枚举。 + + - SR_MODE_LOW_COST: 量化版本,占用资源较少。 + + - SR_MODE_HIGH_PERF: 非量化版本,占用资源较多。 + + **ESP32 芯片,只支持模式 SR_MODE_HIGH_PERF; + ESP32S3 芯片,两种模式均支持 ** + +- afe_perferred_core: AFE 内部 BSS/NS 算法,运行在哪个 CPU 核。 + +- afe_ringbuf_size: 内部 ringbuf 大小的配置。 + +- alloc_from_psram: 是否优先从外部 psram 分配内存。可配置三个值: + + - 0: 从内部ram分配。 + + - 1: 部分从外部psram分配。 + + - 2: 绝大部分从外部psram分配 + +- agc_mode: 将音频线性放大的 level 配置([0,3]),0 表示无放大 + +### 3. 创建 afe_data + +用户使用 `afe_handle->create_from_config(&afe_config)` 函数来获得数据句柄,这将会在afe内部使用,传入的参数即为上面第2步中获得的配置。 + +``` +/** + * @brief Function to initialze a AFE_SR instance + * + * @param afe_config The config of AFE_SR + * @returns Handle to the AFE_SR data + */ +typedef esp_afe_sr_data_t* (*esp_afe_sr_iface_op_create_from_config_t)(afe_config_t *afe_config); + +``` ### 4. feed 音频数据 -在初始化 AFE 和 WakeNet 完成后,用户需要将音频数据使用 `afe->feed()` 函数输入到 AFE 中进行处理。 +在初始化 AFE 和 WakeNet 完成后,用户需要将音频数据使用 `afe_handle->feed()` 函数输入到 AFE 中进行处理。 输入的音频大小和排布格式可以参考 **输入音频** 这一步骤。 ``` +/** + * @brief Feed samples of an audio stream to the AFE_SR + * + * + * @param afe The AFE_SR data handle + * + * @param in The input microphone signal, only support signed 16-bit @ 16 KHZ. The frame size can be queried by the + * `get_samp_chunksize`. The channel number can be queried `get_channel_num`. + * @return The size of input + */ typedef int (*esp_afe_sr_iface_op_feed_t)(esp_afe_sr_data_t *afe, const int16_t* in); -- param afe The AFE_SR object to queryq -- param in The input microphone signal, only support signed 16-bit @ 16 KHZ. The frame size can be queried by the `get_samp_chunksize`. The channel number can be queried `get_channel_num`. -- return The size of input - ``` 获取音频通道数: -使用 `afe->get_channel_num()` 函数可以获取需要传入 `afe->feed()` 函数的 mic 数据通道数。(不含参考回路通道) +使用 `afe_handle->get_channel_num()` 函数可以获取需要传入 `afe_handle->feed()` 函数的 mic 数据通道数。(不含参考回路通道) ``` +/** + * @brief Get the channel number of samples that need to be passed to the fetch function + * + * @param afe The AFE_SR object to query + * @return The amount of channel number + */ typedef int (*esp_afe_sr_iface_op_get_channel_num_t)(esp_afe_sr_data_t *afe); -- param afe The AFE_SR object to query -- return The amount of samples to feed the fetch function ``` ### 5. fetch 音频数据 -用户调用 `afe->fetch()` 函数可以获取处理完成的单通道音频。 +用户调用 `afe_handle->fetch()` 函数可以获取处理完成的单通道音频。 -fetch 的数据采样点数目(采样点数据类型为 int16)可以通过 `afe->get_fetch_chunksize` 获取。 +fetch 的数据采样点数目(采样点数据类型为 int16)可以通过 `afe_handle->get_fetch_chunksize` 获取。 ``` +/** + * @brief Get the amount of each channel samples per frame that need to be passed to the function + * + * Every speech enhancement AFE_SR processes a certain number of samples at the same time. This function + * can be used to query that amount. Note that the returned amount is in 16-bit samples, not in bytes. + * + * @param afe The AFE_SR object to query + * @return The amount of samples to feed the fetch function + */ typedef int (*esp_afe_sr_iface_op_get_samp_chunksize_t)(esp_afe_sr_data_t *afe); -- param afe The AFE_SR object to query -- param out The output enhanced signal. The frame size can be queried by the `get_samp_chunksize`. -- return The style of output, -1: noise, 0: speech, 1: wake word 1, 2: wake word 2, ... ``` -用户需要注意 `afe->fetch()` 的返回值: -- -1: noise -- 0: speech -- 1: wake word 1 -- 2: wake word 2 +用户需要注意 `afe_handle->fetch()` 的返回值: + +- AFE_FETCH_CHANNEL_VERIFIED: 音频通道确认 (单麦唤醒,不返回该值) +- AFE_FETCH_NOISE: 侦测到噪声 +- AFE_FETCH_SPEECH: 侦测到语音 +- AFE_FETCH_WWE_DETECTED: 侦测到唤醒词 - ... ``` -typedef int (*esp_afe_sr_iface_op_fetch_t)(esp_afe_sr_data_t *afe, int16_t* out); -- param afe The AFE_SR object to query -- param out The output enhanced signal. The frame size can be queried by the `get_samp_chunksize`. -- return The style of output, -1: noise, 0: speech, 1: wake word 1, 2: wake word 2, ... +/** + * @brief fetch enhanced samples of an audio stream from the AFE_SR + * + * @Warning The output is single channel data, no matter how many channels the input is. + * + * @param afe The AFE_SR object to query + * @param out The output enhanced signal. The frame size can be queried by the `get_samp_chunksize`. + * @return The state of output, please refer to the definition of `afe_fetch_mode_t` + */ +typedef afe_fetch_mode_t (*esp_afe_sr_iface_op_fetch_t)(esp_afe_sr_data_t *afe, int16_t* out); ``` ### 6. WakeNet 使用 -用户使用 AFE 中 WakeNet 大体可以分为以下三种情况: - -- 不使用 WakeNet - -当用户不使用 WakeNet 时可以选择不初始化 WakeNet,即不需要调用: - - afe_handle->set_wakenet(afe_data, &WAKENET_MODEL, &WAKENET_COEFF); - -- 使用 WakeNet - -用户使用 WakeNet 则需要先使用 `make menuconfig` 来配置相应的唤醒词信息。然后调用: - - afe_handle->set_wakenet(afe_data, &WAKENET_MODEL, &WAKENET_COEFF); - -则可以通过 `afe->fetch()` 函数来获取是否识别到唤醒词。 - -- 使用 WakeNet 但是在唤醒后暂时停止 WakeNet - 当用户在唤醒后需要进行其他操作,比如离线或在线语音识别,这时候可以暂停 WakeNet 的运行,从而减轻 CPU 的资源消耗。 -用户可以调用 `afe->disable_wakenet(afe_data)` 来停止 WakeNet。 当后续应用结束后又可以调用 `afe->enable_wakenet(afe_data)` 来开启 WakeNet。 +用户可以调用 `afe_handle->disable_wakenet(afe_data)` 来停止 WakeNet。 当后续应用结束后又可以调用 `afe_handle->enable_wakenet(afe_data)` 来开启 WakeNet。 ### 7. AEC 使用 diff --git a/docs/img/AFE_overview.png b/docs/img/AFE_overview.png index 982f1184bf57fdcd748619794d736f7124f44b85..5ec9cc26c1c2c3d7275ae31b4d5c42d4edf6c7c0 100644 GIT binary patch literal 48478 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

+E=e#rm9Q9R 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 OkdaUXmwqt%@;?AOvdgUi diff --git a/docs/img/AFE_workflow.png b/docs/img/AFE_workflow.png index 732e708547cd949db79c012d5b98d44be43f10c4..7769af8fa5b2dbeee979338fa1643c657a041691 100644 GIT binary patch literal 28533 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 PT)Ok8k!}I<;otuY#f2Wg literal 20109 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 HP6