mirror of
https://github.com/espressif/esp-sr.git
synced 2025-09-15 15:28:44 +08:00
feature/update MN_CN_1_4
This commit is contained in:
commit
2d8ff99991
File diff suppressed because it is too large
Load Diff
Binary file not shown.
696
main/Kconfig
696
main/Kconfig
File diff suppressed because it is too large
Load Diff
@ -30,6 +30,7 @@ void multinetTask(void *arg)
|
||||
if (chunks == chunk_num || command_id > -1) {
|
||||
if (command_id > -1) {
|
||||
printf("MN test successfully, Commands ID: %d.\n", command_id);
|
||||
break;
|
||||
} else {
|
||||
printf("can not recognize any speech commands\n");
|
||||
}
|
||||
@ -37,6 +38,7 @@ void multinetTask(void *arg)
|
||||
}
|
||||
}
|
||||
printf("TEST2 FINISHED\n\n");
|
||||
multinet->destroy(model_data);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Espressif IoT Development Framework Configuration
|
||||
#
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
|
||||
|
||||
#
|
||||
# SDK tool configuration
|
||||
@ -10,6 +12,13 @@ CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
|
||||
CONFIG_PYTHON="python"
|
||||
CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y
|
||||
|
||||
#
|
||||
# Application manager
|
||||
#
|
||||
CONFIG_APP_COMPILE_TIME_DATE=y
|
||||
CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=
|
||||
CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=
|
||||
|
||||
#
|
||||
# Bootloader config
|
||||
#
|
||||
@ -27,6 +36,7 @@ CONFIG_BOOTLOADER_APP_TEST=
|
||||
CONFIG_BOOTLOADER_WDT_ENABLE=y
|
||||
CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE=
|
||||
CONFIG_BOOTLOADER_WDT_TIME_MS=9000
|
||||
CONFIG_APP_ROLLBACK_ENABLE=
|
||||
|
||||
#
|
||||
# Security features
|
||||
@ -134,7 +144,7 @@ CONFIG_AWS_IOT_SDK=
|
||||
# Bluetooth
|
||||
#
|
||||
CONFIG_BT_ENABLED=
|
||||
CONFIG_BTDM_CONTROLLER_BR_EDR_SCO_DATA_PATH_EFF=0
|
||||
CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0
|
||||
CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0
|
||||
CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0
|
||||
CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0
|
||||
@ -157,9 +167,10 @@ CONFIG_SR_WN5X3_NIHAOXIAOZHI=
|
||||
CONFIG_SR_WN5X3_HIJESON=
|
||||
CONFIG_SR_WN5X3_NIHAOXIAOXIN=
|
||||
CONFIG_SR_WN5_CUSTOMIZED_WORD=
|
||||
CONFIG_SR_MN1_MODEL_QUANT=y
|
||||
CONFIG_SR_MN1_CHINESE=y
|
||||
CONFIG_SR_MN1_ENGLISH=
|
||||
CONFIG_SINGLE_RECOGNITION=y
|
||||
CONFIG_CONTINUOUS_RECOGNITION=
|
||||
CONFIG_SR_CHINESE=y
|
||||
CONFIG_SR_ENGLISH=
|
||||
CONFIG_SPEECH_COMMANDS_NUM=20
|
||||
|
||||
#
|
||||
@ -175,9 +186,9 @@ CONFIG_CN_SPEECH_COMMAND_ID6="zhi re mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID7="zhi leng mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID8="song feng mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID9="jie neng mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID10="guan bi jie neng mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID11="chu shi mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID12="guan bi chu shi mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID10="chu shi mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID11="jian kang mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID12="shui mian mo shi"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID13="da kai lan ya"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID14="guan bi lan ya"
|
||||
CONFIG_CN_SPEECH_COMMAND_ID15="bo fang ge qu"
|
||||
@ -284,9 +295,26 @@ CONFIG_SPI_MASTER_ISR_IN_IRAM=y
|
||||
CONFIG_SPI_SLAVE_IN_IRAM=
|
||||
CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
|
||||
|
||||
#
|
||||
# eFuse Bit Manager
|
||||
#
|
||||
CONFIG_EFUSE_CUSTOM_TABLE=
|
||||
CONFIG_EFUSE_VIRTUAL=
|
||||
CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE=
|
||||
CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y
|
||||
CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT=
|
||||
CONFIG_EFUSE_MAX_BLK_LEN=192
|
||||
|
||||
#
|
||||
# ESP32-specific
|
||||
#
|
||||
CONFIG_IDF_TARGET_ESP32=y
|
||||
CONFIG_ESP32_REV_MIN_0=y
|
||||
CONFIG_ESP32_REV_MIN_1=
|
||||
CONFIG_ESP32_REV_MIN_2=
|
||||
CONFIG_ESP32_REV_MIN_3=
|
||||
CONFIG_ESP32_REV_MIN=0
|
||||
CONFIG_ESP32_DPORT_WORKAROUND=y
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_80=
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_160=
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
@ -318,6 +346,7 @@ CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=
|
||||
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=
|
||||
CONFIG_SPIRAM_OCCUPY_HSPI_HOST=
|
||||
CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y
|
||||
CONFIG_SPIRAM_OCCUPY_NO_HOST=
|
||||
|
||||
#
|
||||
# PSRAM clock and cs IO for ESP32-DOWD
|
||||
@ -339,10 +368,6 @@ CONFIG_MEMMAP_TRACEMEM=
|
||||
CONFIG_MEMMAP_TRACEMEM_TWOBANKS=
|
||||
CONFIG_ESP32_TRAX=
|
||||
CONFIG_TRACEMEM_RESERVE_DRAM=0x0
|
||||
CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=
|
||||
CONFIG_ESP32_ENABLE_COREDUMP_TO_UART=
|
||||
CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
|
||||
CONFIG_ESP32_ENABLE_COREDUMP=
|
||||
CONFIG_TWO_UNIVERSAL_MAC_ADDRESS=
|
||||
CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
|
||||
CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
|
||||
@ -403,6 +428,7 @@ CONFIG_NO_BLOBS=
|
||||
CONFIG_ESP_TIMER_PROFILING=
|
||||
CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS=
|
||||
CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
|
||||
CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5
|
||||
|
||||
#
|
||||
# Wi-Fi
|
||||
@ -421,8 +447,9 @@ CONFIG_ESP32_WIFI_NVS_ENABLED=y
|
||||
CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
|
||||
CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=
|
||||
CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
|
||||
CONFIG_ESP32_WIFI_IRAM_OPT=y
|
||||
CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
|
||||
CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE=
|
||||
CONFIG_ESP32_WIFI_IRAM_OPT=y
|
||||
|
||||
#
|
||||
# PHY
|
||||
@ -453,15 +480,30 @@ CONFIG_EVENT_LOOP_PROFILING=
|
||||
# ESP HTTP client
|
||||
#
|
||||
CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
|
||||
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=
|
||||
|
||||
#
|
||||
# HTTP Server
|
||||
#
|
||||
CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
|
||||
CONFIG_HTTPD_MAX_URI_LEN=512
|
||||
CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
|
||||
CONFIG_HTTPD_PURGE_BUF_LEN=32
|
||||
CONFIG_HTTPD_LOG_PURGE_DATA=
|
||||
|
||||
#
|
||||
# ESP HTTPS OTA
|
||||
#
|
||||
CONFIG_OTA_ALLOW_HTTP=
|
||||
|
||||
#
|
||||
# Core dump
|
||||
#
|
||||
CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=
|
||||
CONFIG_ESP32_ENABLE_COREDUMP_TO_UART=
|
||||
CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
|
||||
CONFIG_ESP32_ENABLE_COREDUMP=
|
||||
|
||||
#
|
||||
# Ethernet
|
||||
#
|
||||
@ -504,6 +546,7 @@ CONFIG_FATFS_LFN_STACK=
|
||||
CONFIG_FATFS_FS_LOCK=0
|
||||
CONFIG_FATFS_TIMEOUT_MS=10000
|
||||
CONFIG_FATFS_PER_FILE_CACHE=y
|
||||
CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y
|
||||
|
||||
#
|
||||
# Modbus configuration
|
||||
@ -557,6 +600,8 @@ CONFIG_FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER=y
|
||||
CONFIG_FREERTOS_RUN_TIME_STATS_USING_CPU_CLK=
|
||||
CONFIG_FREERTOS_DEBUG_INTERNALS=
|
||||
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
|
||||
CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
|
||||
CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE=
|
||||
|
||||
#
|
||||
# Heap memory debugging
|
||||
@ -593,7 +638,6 @@ CONFIG_USE_ONLY_LWIP_SELECT=
|
||||
CONFIG_LWIP_SO_REUSE=y
|
||||
CONFIG_LWIP_SO_REUSE_RXTOALL=y
|
||||
CONFIG_LWIP_SO_RCVBUF=
|
||||
CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
|
||||
CONFIG_LWIP_IP_FRAG=
|
||||
CONFIG_LWIP_IP_REASSEMBLY=
|
||||
CONFIG_LWIP_STATS=
|
||||
@ -654,6 +698,12 @@ CONFIG_LWIP_BROADCAST_PING=
|
||||
#
|
||||
CONFIG_LWIP_MAX_RAW_PCBS=16
|
||||
|
||||
#
|
||||
# SNTP
|
||||
#
|
||||
CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
|
||||
CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
|
||||
|
||||
#
|
||||
# mbedTLS
|
||||
#
|
||||
@ -664,6 +714,8 @@ CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC=
|
||||
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384
|
||||
CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=
|
||||
CONFIG_MBEDTLS_DEBUG=
|
||||
CONFIG_MBEDTLS_ECP_RESTARTABLE=
|
||||
CONFIG_MBEDTLS_CMAC_C=
|
||||
CONFIG_MBEDTLS_HARDWARE_AES=y
|
||||
CONFIG_MBEDTLS_HARDWARE_MPI=
|
||||
CONFIG_MBEDTLS_HARDWARE_SHA=
|
||||
@ -769,6 +821,11 @@ CONFIG_OPENSSL_ASSERT_EXIT=
|
||||
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
|
||||
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
|
||||
CONFIG_PTHREAD_STACK_MIN=768
|
||||
CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y
|
||||
CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0=
|
||||
CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1=
|
||||
CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1
|
||||
CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
|
||||
|
||||
#
|
||||
# SPI Flash driver
|
||||
@ -818,6 +875,15 @@ CONFIG_SPIFFS_TEST_VISUALISATION=
|
||||
CONFIG_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_TCPIP_LWIP=y
|
||||
|
||||
#
|
||||
# Unity unit testing library
|
||||
#
|
||||
CONFIG_UNITY_ENABLE_FLOAT=y
|
||||
CONFIG_UNITY_ENABLE_DOUBLE=y
|
||||
CONFIG_UNITY_ENABLE_COLOR=
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=
|
||||
|
||||
#
|
||||
# Virtual file system
|
||||
#
|
||||
@ -830,3 +896,8 @@ CONFIG_SUPPORT_TERMIOS=y
|
||||
CONFIG_WL_SECTOR_SIZE_512=
|
||||
CONFIG_WL_SECTOR_SIZE_4096=y
|
||||
CONFIG_WL_SECTOR_SIZE=4096
|
||||
|
||||
#
|
||||
# Wi-Fi Provisioning Manager
|
||||
#
|
||||
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
|
||||
|
||||
@ -24,15 +24,15 @@ Please see the flow diagram below:
|
||||
|
||||
### User-defined Command
|
||||
|
||||
Currently, users can define their own speech commands by using the command `make menuconfig`. You can refer to the method of adding speech commands in `menuconfig->Component config > ESP Speech Recognition->Add speech commands`, there are already 20 chinese commands and 7 english commands pre-stored in sdkconfig.
|
||||
Currently, users can define their own speech commands by using the command `make menuconfig`. You can refer to the method of adding speech commands in `menuconfig->ESP Speech Recognition->Add speech commands`, there are already 20 chinese commands and 7 english commands pre-stored in sdkconfig.
|
||||
|
||||
**Chinese**
|
||||
|
||||
|Command ID|Command|Command ID|Command|Command ID|Command|Command ID|Command|
|
||||
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
||||
|0|打开空调 (Turn on the air conditioner)|5|降低一度 (Decrease by one degree)|10| 关闭节能模式 (Disable power-saving mode)|15| 播放歌曲 (Play a song)
|
||||
|1|关闭空调 (Turn on the air conditioner)|6|制热模式 (Heating mode)|11| 除湿模式 (Dehumidifying mode)|16| 暂停播放 (Pause playing)
|
||||
|2|增大风速 (Give me more wind)|7|制冷模式 (Cooling mode)|12| 关闭除湿模式 (Disable dehumidifying mode)|17| 定时一小时 (Set timer to 1 hour)
|
||||
|0|打开空调 (Turn on the air conditioner)|5|降低一度 (Decrease by one degree)|10| 除湿模式 (Dehumidifying mode)|15| 播放歌曲 (Play a song)
|
||||
|1|关闭空调 (Turn on the air conditioner)|6|制热模式 (Heating mode)|11| 健康模式 (Healthy mode)|16| 暂停播放 (Pause playing)
|
||||
|2|增大风速 (Give me more wind)|7|制冷模式 (Cooling mode)|12| 睡眠模式 (Sleep mode)|17| 定时一小时 (Set timer to 1 hour)
|
||||
|3|减少风速 (Give me less wind)|8|送风模式 (Ventilating mode)|13| 打开蓝牙 (Enable the Bluetooth)|18| 打开电灯 (Turn on the light)
|
||||
|4| 升高一度 (Increase by one degree)|9|节能模式 (Power-saving mode)|10| 关闭蓝牙 (Disable the Bluetooth)|19| 关闭电灯 (Turn off the light)
|
||||
|
||||
|
||||
@ -26,15 +26,15 @@ MultiNet 输入为音频经过 **MFCC** 处理后的特征值,输出为汉语/
|
||||
|
||||
### 命令词
|
||||
|
||||
目前,用户可以使用 `make menuconfig` 命令来添加自定义命令词。可以通过 `menuconfig->Component config > ESP Speech Recognition->Add speech commands` 添加命令词,目前已经添加有 20 个中文命令词和 7 个英文命令词,分别如下表所示:
|
||||
目前,用户可以使用 `make menuconfig` 命令来添加自定义命令词。可以通过 `menuconfig -> ESP Speech Recognition->Add speech commands` 添加命令词,目前已经添加有 20 个中文命令词和 7 个英文命令词,分别如下表所示:
|
||||
|
||||
**中文**
|
||||
|
||||
|Command ID|命令词|Command ID|命令词|Command ID|命令词|Command ID|命令词|
|
||||
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
||||
|0|打开空调|5|降低一度|10| 关闭节能模式|15| 播放歌曲
|
||||
|1|关闭空调|6|制热模式|11| 除湿模式|16| 暂停播放
|
||||
|2|增大风速|7|制冷模式|12| 关闭除湿模式|17| 定时一小时
|
||||
|0|打开空调|5|降低一度|10| 除湿模式|15| 播放歌曲
|
||||
|1|关闭空调|6|制热模式|11| 健康模式|16| 暂停播放
|
||||
|2|增大风速|7|制冷模式|12| 睡眠模式|17| 定时一小时
|
||||
|3|减少风速|8|送风模式|13| 打开蓝牙|18| 打开电灯
|
||||
|4| 升高一度|9|节能模式|10| 关闭蓝牙|19| 关闭电灯
|
||||
|
||||
@ -49,8 +49,32 @@ MultiNet 输入为音频经过 **MFCC** 处理后的特征值,输出为汉语/
|
||||
|
||||
网络支持自定义命令词,用户可以将自己想要的设置的命令词加入 MultiNet,注意新添加的命令词需要有其的对应 Command ID 已便于 MultiNet 时候后输出。
|
||||
|
||||
### 命令词识别模式
|
||||
|
||||
命令词识别支持两种基本模式:
|
||||
- SINGLE_RECOGNITION 模式
|
||||
|
||||
即单次识别模式,当使用该模式时,用户在进行命令词识别时,必须将单独的单个命令词短语音频送入 MultiNet。
|
||||
比如在唤醒后说出:打开电灯。则 MultiNet 会识别成功并返回对应的 Command ID。如果识别失败,必须等 sample_length 时长结束后才能进行下次识别。
|
||||
当配合唤醒使用时,如果用户在唤醒后只需要识别一个关键字返回即可,推荐使用该模式。
|
||||
|
||||
- CONTINUOUS_RECOGNITION 模式
|
||||
|
||||
即连续识别模式,当使用该模式时,用户可以将多个命令词连续送入 MultiNet。
|
||||
比如在唤醒后,可以说出打开电灯,等待 MultiNet 识别成功返回后可以在 sample_length 内继续说出下一个命令词,比如 关闭电灯。
|
||||
当配合唤醒使用时,如果用户在唤醒后需要连续识别多个命令词,推荐使用该模式。
|
||||
|
||||
用户可以通过 `menuconfig -> ESP Speech Recognition -> speech commands recognition mode after wake up` 来对以上两种模式进行切换,默认为 SINGLE_RECOGNITION 模式。
|
||||
|
||||
注:CONTINUOUS_RECOGNITION 模式下对单个词的识别率略低于 SINGLE_RECOGNITION 模式下的单个词识别率。
|
||||
|
||||
### 语言选择
|
||||
|
||||
目前 MultiNet 支持中文和英文,目前英文只支持 SINGLE_RECOGNITION 模式。
|
||||
用户可以通过 `menuconfig -> ESP Speech Recognition -> langugae` 进行选择。
|
||||
|
||||
### 添加自定义命令词
|
||||
目前,MultiNet 模型中已经预定义了一些命令词。用户可以通过 `menuconfig -> Component config -> ESP Speech Recognition -> Add speech commands` and `The number of speech commands`来定义自己的语音命令词和语音命令的数目。
|
||||
目前,MultiNet 模型中已经预定义了一些命令词。用户可以通过 `menuconfig -> ESP Speech Recognition -> Add speech commands` and `The number of speech commands`来定义自己的语音命令词和语音命令的数目。
|
||||
|
||||
##### 中文命令词识别
|
||||
|
||||
@ -75,8 +99,8 @@ MultiNet 输入为音频经过 **MFCC** 处理后的特征值,输出为汉语/
|
||||
|
||||
2. 生成模型句柄
|
||||
|
||||
支持的语言和模型的有效性由模型参数决定,现在只支持中文命令。请在 `menuconfig` 中配置 `MULTINET_COEFF` 选项,并在代码中添加以下行以生成模型句柄。 6000 是语音识别的音频长度,以 ms 为单位,sample_length 的范围为 0~6000。
|
||||
model_iface_data_t *model_data = multinet->create(&MULTINET_COEFF, 6000);
|
||||
支持的语言和模型的有效性由模型参数决定,现在只支持中文命令。请在 `menuconfig` 中配置 `MULTINET_COEFF` 选项,并在代码中添加以下行以生成模型句柄。 sample_length 是语音识别的音频长度,以 ms 为单位,当使用 sample_length 的范围为 0~6000。
|
||||
model_iface_data_t *model_data = multinet->create(&MULTINET_COEFF, sample_length);
|
||||
|
||||
### API 参考
|
||||
|
||||
@ -130,6 +154,17 @@ MultiNet 输入为音频经过 **MFCC** 处理后的特征值,输出为汉语/
|
||||
|
||||
The number of the frames recognized by the speech command.
|
||||
|
||||
- `typedef int (*esp_mn_iface_op_set_det_threshold_t)(model_iface_data_t *model, float det_threshold);`
|
||||
|
||||
**Definition**
|
||||
|
||||
Set the detection threshold to manually abjust the probability.
|
||||
|
||||
**Parameter**
|
||||
|
||||
* model: The model object to query.
|
||||
* det_treshold The threshold to trigger speech commands, the range of det_threshold is 0.5~0.9999
|
||||
|
||||
- `typedef int (*esp_mn_iface_op_get_samp_rate_t)(model_iface_data_t *model);`
|
||||
|
||||
**Definition**
|
||||
|
||||
@ -36,6 +36,14 @@ typedef int (*esp_mn_iface_op_get_samp_chunksize_t)(model_iface_data_t *model);
|
||||
*/
|
||||
typedef int (*esp_mn_iface_op_get_samp_chunknum_t)(model_iface_data_t *model);
|
||||
|
||||
/**
|
||||
* @brief Set the detection threshold to manually abjust the probability
|
||||
*
|
||||
* @param model The model object to query
|
||||
* @param det_treshold The threshold to trigger speech commands, the range of det_threshold is 0.5~0.9999
|
||||
*/
|
||||
typedef int (*esp_mn_iface_op_set_det_threshold_t)(model_iface_data_t *model, float det_threshold);
|
||||
|
||||
/**
|
||||
* @brief Get the sample rate of the samples to feed to the detect function
|
||||
*
|
||||
@ -52,8 +60,7 @@ typedef int (*esp_mn_iface_op_get_samp_rate_t)(model_iface_data_t *model);
|
||||
* get_samp_chunksize function.
|
||||
* @return The command id, return 0 if no command word is detected,
|
||||
*/
|
||||
typedef int (*esp_mn_iface_op_detect_t)(model_iface_data_t *model,
|
||||
int16_t *samples);
|
||||
typedef int (*esp_mn_iface_op_detect_t)(model_iface_data_t *model, int16_t *samples);
|
||||
|
||||
|
||||
/**
|
||||
@ -68,6 +75,7 @@ typedef struct {
|
||||
esp_mn_iface_op_get_samp_rate_t get_samp_rate;
|
||||
esp_mn_iface_op_get_samp_chunksize_t get_samp_chunksize;
|
||||
esp_mn_iface_op_get_samp_chunknum_t get_samp_chunknum;
|
||||
esp_mn_iface_op_set_det_threshold_t set_det_threshold;
|
||||
esp_mn_iface_op_detect_t detect;
|
||||
esp_mn_iface_op_destroy_t destroy;
|
||||
} esp_mn_iface_t;
|
||||
|
||||
@ -5,10 +5,11 @@
|
||||
//a specific phrase or word.
|
||||
extern const esp_mn_iface_t esp_sr_multinet1_quantized_cn;
|
||||
extern const esp_mn_iface_t esp_sr_multinet1_quantized_en;
|
||||
extern const esp_mn_iface_t esp_sr_multinet2_quantized_cn;
|
||||
/*
|
||||
Configure network to use based on what's selected in menuconfig.
|
||||
*/
|
||||
// #if CONFIG_SR_MN1_MODEL_QUANT
|
||||
// #if CONFIG_SINGLE_RECOGNITION
|
||||
// #define MULTINET_MODEL esp_sr_multinet1_quantized
|
||||
// #else
|
||||
// #error No valid neural network model selected.
|
||||
@ -18,19 +19,22 @@ extern const esp_mn_iface_t esp_sr_multinet1_quantized_en;
|
||||
/*
|
||||
Configure wake word to use based on what's selected in menuconfig.
|
||||
*/
|
||||
#if CONFIG_SR_MN1_CHINESE
|
||||
#if CONFIG_SR_CHINESE && CONFIG_SINGLE_RECOGNITION
|
||||
#include "multinet1_ch.h"
|
||||
#define MULTINET_MODEL esp_sr_multinet1_quantized_cn
|
||||
#define MULTINET_COEFF get_coeff_multinet1_ch
|
||||
#elif CONFIG_SR_MN1_ENGLISH
|
||||
#elif CONFIG_SR_ENGLISH && CONFIG_SINGLE_RECOGNITION
|
||||
#include "multinet1_en.h"
|
||||
#define MULTINET_MODEL esp_sr_multinet1_quantized_en
|
||||
#define MULTINET_COEFF get_coeff_multinet1_en
|
||||
#elif CONFIG_SR_CHINESE && CONFIG_CONTINUOUS_RECOGNITION
|
||||
#include "multinet1_ch.h"
|
||||
#define MULTINET_MODEL esp_sr_multinet2_quantized_cn
|
||||
#define MULTINET_COEFF get_coeff_multinet1_ch
|
||||
#else
|
||||
#error No valid wake word selected.
|
||||
#endif
|
||||
|
||||
|
||||
/* example
|
||||
|
||||
static const esp_mn_iface_t *multinet = &MULTINET_MODEL;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
#define SPEECH_COMMANDS_NUM CONFIG_SPEECH_COMMANDS_NUM
|
||||
#if CONFIG_SR_MN1_CHINESE
|
||||
#if CONFIG_SR_CHINESE
|
||||
#define MN_SPEECH_COMMAND_ID0 CONFIG_CN_SPEECH_COMMAND_ID0
|
||||
#define MN_SPEECH_COMMAND_ID1 CONFIG_CN_SPEECH_COMMAND_ID1
|
||||
#define MN_SPEECH_COMMAND_ID2 CONFIG_CN_SPEECH_COMMAND_ID2
|
||||
@ -101,7 +101,7 @@
|
||||
#define MN_SPEECH_COMMAND_ID97 CONFIG_CN_SPEECH_COMMAND_ID97
|
||||
#define MN_SPEECH_COMMAND_ID98 CONFIG_CN_SPEECH_COMMAND_ID98
|
||||
#define MN_SPEECH_COMMAND_ID99 CONFIG_CN_SPEECH_COMMAND_ID99
|
||||
#elif CONFIG_SR_MN1_ENGLISH
|
||||
#elif CONFIG_SR_ENGLISH
|
||||
#define MN_SPEECH_COMMAND_ID0 CONFIG_EN_SPEECH_COMMAND_ID0
|
||||
#define MN_SPEECH_COMMAND_ID1 CONFIG_EN_SPEECH_COMMAND_ID1
|
||||
#define MN_SPEECH_COMMAND_ID2 CONFIG_EN_SPEECH_COMMAND_ID2
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user