diff --git a/Kconfig.projbuild b/Kconfig.projbuild index 4358b8b..afba7e8 100644 --- a/Kconfig.projbuild +++ b/Kconfig.projbuild @@ -54,11 +54,15 @@ config SR_WN5X2_NIHAOXIAOZHI bool "nihaoxiaozhi (WakeNet5X2)" depends on SR_MODEL_WN5_QUANT || SR_MODEL_WN5_FLOAT +config SR_WN5X3_NIHAOXIAOXIN + bool "nihaoxiaoxin (WakeNet5X3)" + depends on SR_MODEL_WN5_QUANT || SR_MODEL_WN5_FLOAT + config SR_WN5_CUSTOMIZED_WORD bool "customized word (WakeNet5)" depends on SR_MODEL_WN5_QUANT || SR_MODEL_WN5_FLOAT -config SR_WN6_HILEXIN +config SR_WN6_NIHAOXIAOXIN bool "nihaoxiaoxin (WakeNet6)" depends on SR_MODEL_WN6_QUANT @@ -69,31 +73,38 @@ config SR_WN6_CUSTOMIZED_WORD endchoice choice SR_MN_MODEL_SEL - prompt "speech commands recognition model to use" - default CONFIG_MN1_MODEL_FLOAT - help - Select the model to be used. + prompt "speech commands recognition model to use" + default CONFIG_MN1_MODEL_FLOAT + help + Select the model to be used. + +config SR_MN1_MODEL_FLOAT + bool "MultiNet 1 (float)" config SR_MN1_MODEL_QUANT - bool "MultiNet 1 (quantized)" + bool "MultiNet 1 (quantized)" endchoice choice SR_LANGUAGE_SEL - prompt "langugae" - default SR_MN1_CHINESE - help - Select the language to be used. + prompt "langugae" + default SR_MN1_CHINESE + help + Select the language to be used. + +config SR_MN1_CHINESE_FLOAT + bool "chinese (MultiNet1)" + depends on SR_MN1_MODEL_FLOAT config SR_MN1_CHINESE_QUANT - bool "chinese (MultiNet1)" - depends on SR_MN1_MODEL_QUANT + bool "chinese (MultiNet1)" + depends on SR_MN1_MODEL_QUANT endchoice config SPEECH_COMMANDS_NUM int "The number of speech commands" - default 0 + default 20 help The number of the speech commands. @@ -101,83 +112,83 @@ menu "Add speech commands" config SPEECH_COMMAND_ID0 string "ID0" - default "" + default "da kai kong tiao" config SPEECH_COMMAND_ID1 string "ID1" - default "" + default "guan bi kong tiao" config SPEECH_COMMAND_ID2 string "ID2" - default "" + default "zeng da feng su" config SPEECH_COMMAND_ID3 string "ID3" - default "" + default "jian xiao feng su" config SPEECH_COMMAND_ID4 string "ID4" - default "" + default "sheng gao yi du" config SPEECH_COMMAND_ID5 string "ID5" - default "" + default "jiang di yi du" config SPEECH_COMMAND_ID6 string "ID6" - default "" + default "zhi re mo shi" config SPEECH_COMMAND_ID7 string "ID7" - default "" + default "zhi leng mo shi" config SPEECH_COMMAND_ID8 string "ID8" - default "" + default "song feng mo shi" config SPEECH_COMMAND_ID9 string "ID9" - default "" + default "jie neng mo shi" config SPEECH_COMMAND_ID10 string "ID10" - default "" + default "guan bi jie neng mo shi" config SPEECH_COMMAND_ID11 string "ID11" - default "" + default "chu shi mo shi" config SPEECH_COMMAND_ID12 string "ID12" - default "" + default "guan bi chu shi mo shi" config SPEECH_COMMAND_ID13 string "ID13" - default "" + default "da kai lan ya" config SPEECH_COMMAND_ID14 string "ID14" - default "" + default "guan bi lan ya" config SPEECH_COMMAND_ID15 string "ID15" - default "" + default "bo fang ge qu" config SPEECH_COMMAND_ID16 string "ID16" - default "" + default "zan ting bo fang" config SPEECH_COMMAND_ID17 string "ID17" - default "" + default "ding shi yi xiao shi" config SPEECH_COMMAND_ID18 string "ID18" - default "" + default "da kai dian deng" config SPEECH_COMMAND_ID19 string "ID19" - default "" + default "guan bi dian deng" config SPEECH_COMMAND_ID20 string "ID20" diff --git a/lib/include/dl_lib_convq_queue.h b/lib/include/dl_lib_convq_queue.h index 20fc667..0e92676 100644 --- a/lib/include/dl_lib_convq_queue.h +++ b/lib/include/dl_lib_convq_queue.h @@ -16,6 +16,7 @@ #include "dl_lib_matrixq.h" +#include "dl_lib_conv_queue.h" //fixed-point convolution FIFO queue. typedef struct { @@ -135,6 +136,8 @@ fptp_t * dl_softmax_step_q(dl_convq_queue_t *cq, int offset, fptp_t *out); */ qtp_t *dl_atrous_conv1dq(dl_convq_queue_t *in, dl_convq_queue_t *out, int rate, int size, dl_matrix2dq_t* kernel, dl_matrix2dq_t* bias, int shift); +qtp_t *dl_atrous_conv1dq_steps(dl_convq_queue_t *in, dl_convq_queue_t *out, int rate, int size, + dl_matrix2dq_t* kernel, dl_matrix2dq_t* bias, int shift, int offset); /** * @brief Fast implement of dilation layer as follows * @@ -166,4 +169,6 @@ dl_matrix2dq_t *dl_basic_lstm_layer1_q(const dl_convq_queue_t *in, dl_matrix2dq_ const dl_matrix2dq_t *weight, const dl_matrix2dq_t *bias, int step, int shift); void test_atrous_convq(int size, int rate, int in_channel, int out_channel); +dl_conv_queue_t *dl_convq_queue_add(dl_convq_queue_t *cq1, dl_convq_queue_t *cq2); + #endif \ No newline at end of file diff --git a/lib/libc_speech_features.a b/lib/libc_speech_features.a index 208ae4a..e7bc47b 100644 Binary files a/lib/libc_speech_features.a and b/lib/libc_speech_features.a differ diff --git a/lib/libdl_lib.a b/lib/libdl_lib.a index b07ec24..13e21d9 100644 Binary files a/lib/libdl_lib.a and b/lib/libdl_lib.a differ diff --git a/lib/libmultinet.a b/lib/libmultinet.a index 5d316c4..09b7abc 100644 Binary files a/lib/libmultinet.a and b/lib/libmultinet.a differ diff --git a/lib/libwakenet.a b/lib/libwakenet.a index 640ca4b..fe73ca0 100644 Binary files a/lib/libwakenet.a and b/lib/libwakenet.a differ diff --git a/wake_word_engine/include/esp_wn_models.h b/wake_word_engine/include/esp_wn_models.h index cbfd4c8..01285c9 100644 --- a/wake_word_engine/include/esp_wn_models.h +++ b/wake_word_engine/include/esp_wn_models.h @@ -62,7 +62,11 @@ extern const esp_wn_iface_t esp_sr_wakenet6_quantized; #include "nihaoxiaozhi_wn5X2.h" #define WAKENET_COEFF get_coeff_nihaoxiaozhi_wn5X2 -#elif CONFIG_SR_WN6_HILEXIN +#elif CONFIG_SR_WN5X3_NIHAOXIAOXIN & CONFIG_SR_MODEL_WN5_QUANT +#include "nihaoxiaoxin_wn5X3.h" +#define WAKENET_COEFF get_coeff_nihaoxiaoxin_wn5X3 + +#elif CONFIG_SR_WN6_NIHAOXIAOXIN #include "nihaoxiaoxin_wn6.h" #define WAKENET_COEFF get_coeff_nihaoxiaoxin_wn6 diff --git a/wake_word_engine/include/nihaoxiaoxin_wn5X3.h b/wake_word_engine/include/nihaoxiaoxin_wn5X3.h new file mode 100644 index 0000000..b767bfc --- /dev/null +++ b/wake_word_engine/include/nihaoxiaoxin_wn5X3.h @@ -0,0 +1,8 @@ +//Generated by mkmodel +#pragma once +#include +#include "dl_lib_coefgetter_if.h" +#include "dl_lib_matrix.h" +#include "dl_lib_matrixq.h" + +extern const model_coeff_getter_t get_coeff_nihaoxiaoxin_wn5X3; diff --git a/wake_word_engine/libcustomized_word_wn6.a b/wake_word_engine/libcustomized_word_wn6.a index 26dc880..30837dc 100644 Binary files a/wake_word_engine/libcustomized_word_wn6.a and b/wake_word_engine/libcustomized_word_wn6.a differ diff --git a/wake_word_engine/libnihaoxiaoxin_wn5X3.a b/wake_word_engine/libnihaoxiaoxin_wn5X3.a new file mode 100644 index 0000000..f78bad0 Binary files /dev/null and b/wake_word_engine/libnihaoxiaoxin_wn5X3.a differ diff --git a/wake_word_engine/libnihaoxiaoxin_wn6.a b/wake_word_engine/libnihaoxiaoxin_wn6.a index 964ce89..7197b12 100644 Binary files a/wake_word_engine/libnihaoxiaoxin_wn6.a and b/wake_word_engine/libnihaoxiaoxin_wn6.a differ