feature/update MN_CN_1_4

This commit is contained in:
Sun Xiang Yu 2020-03-27 11:42:58 +08:00
commit 2d8ff99991
11 changed files with 852 additions and 724 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -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);
}

View File

@ -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

View File

@ -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)

View File

@ -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**

View File

@ -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;

View File

@ -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;

View File

@ -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