diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 8d6ae51..c3afb39 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -1 +1 @@ -idf_component_register(SRCS "main.c" "sr.c" "record.c" "usb_msc.c" "asr.c" INCLUDE_DIRS ".") \ No newline at end of file +idf_component_register(SRCS "main.c" "record.c" "usb_msc.c" "asr.c" INCLUDE_DIRS ".") \ No newline at end of file diff --git a/main/idf_component.yml b/main/idf_component.yml index 4fa78f2..ddaeb4e 100644 --- a/main/idf_component.yml +++ b/main/idf_component.yml @@ -4,7 +4,7 @@ dependencies: version: "^2.0.0" espressif/es7210: "^1.0.0" chmorgan/esp-file-iterator: "1.0.0" # 获取文件 - espressif/esp-sr: "^2.0.0" # 语音识别 + # espressif/esp-sr: "^2.0.0" # 语音识别 idf: version: ">=5.4.0" diff --git a/main/main.c b/main/main.c index 67a4384..e70a074 100644 --- a/main/main.c +++ b/main/main.c @@ -4,13 +4,11 @@ #include "asr.h" #include "base.h" #include "record.h" -#include "sr.h" +// #include "sr.h" static const char* TAG = "I2S_DMA_ISR"; static i2s_chan_handle_t rx_chan = NULL; -esp_afe_sr_data_t* afe_sr_data = NULL; - // 中断服务程序的数据处理任务句柄 static TaskHandle_t rx_task_handle = NULL; @@ -143,22 +141,22 @@ static void i2s_rx_task(void* arg) { // ESP_LOGE(TAG, "无法分配内存来复制I2S数据"); // } - record_add1(data_buffer, bytes_read); + // record_add1(data_buffer, bytes_read); // if (!record_end1()) ESP_LOGI(TAG, "处理 %d 字节的I2S数据", bytes_read); - afe_fetch_result_t* res = afe(afe_sr_data, data_buffer); - if (res != NULL) { - record_add2(res->data, res->data_size / 2); - if (res->vad_state > 0) { - // printf("AFE data_size: %d\n", res->data_size / 2); - // printf("AFE data_volume: %f\n", res->data_volume); - // printf("AFE vad_state: %d\n", res->vad_state); - // printf("AFE ret_value: %d\n", res->ret_value); - // printf("AFE raw_data_channels: %d\n", res->raw_data_channels); - } - } + // afe_fetch_result_t* res = afe(afe_sr_data, data_buffer); + // if (res != NULL) { + // record_add2(res->data, res->data_size / 2); + // if (res->vad_state > 0) { + // // printf("AFE data_size: %d\n", res->data_size / 2); + // // printf("AFE data_volume: %f\n", res->data_volume); + // // printf("AFE vad_state: %d\n", res->vad_state); + // // printf("AFE ret_value: %d\n", res->ret_value); + // // printf("AFE raw_data_channels: %d\n", res->raw_data_channels); + // } + // } - if (record_end1() && record_end2()) break; + // if (record_end1() && record_end2()) break; // vTaskDelay(10 / portTICK_PERIOD_MS); @@ -300,7 +298,7 @@ void app_main(void) { es7210_codec_init(); ESP_ERROR_CHECK(i2s_init()); - afe_sr_data = sr_init(); + // sr_init(); // ESP_ERROR_CHECK(i2s_channel_enable(rx_chan)); // record_start1(); @@ -317,10 +315,10 @@ void app_main(void) { // } for (int i = 0; i < 2; i++) { - ESP_ERROR_CHECK(record_wav(rx_chan)); + ESP_ERROR_CHECK(record_wav(rx_chan)); } - esp_pm_config_esp32_t pm_config = { + esp_pm_config_esp32_t pm_config = { .max_freq_mhz = 240, .min_freq_mhz = 240, .light_sleep_enable = false}; ret = esp_pm_configure(&pm_config); init_msc(sdmmc_card); diff --git a/main/sr.c b/main/sr.c index 61bff56..c7a9c7c 100644 --- a/main/sr.c +++ b/main/sr.c @@ -38,6 +38,8 @@ FILE* f2; size_t wav_written1; size_t wav_written2; +esp_afe_sr_data_t* afe_sr_data = NULL; + esp_err_t record_start1() { esp_err_t ret = ESP_OK; @@ -321,6 +323,7 @@ esp_afe_sr_data_t* sr_init() { afe_handle = esp_afe_handle_from_config(afe_config); esp_afe_sr_data_t* afe_data = afe_handle->create_from_config(afe_config); afe_config_free(afe_config); + afe_sr_data = afe_data; return afe_data; } diff --git a/sdkconfig b/sdkconfig index eb901bd..8098de1 100644 --- a/sdkconfig +++ b/sdkconfig @@ -594,97 +594,6 @@ CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_MD5=y # end of Partition Table -# -# ESP Speech Recognition -# -CONFIG_MODEL_IN_FLASH=y -# CONFIG_MODEL_IN_SDCARD is not set -CONFIG_AFE_INTERFACE_V1=y -# CONFIG_SR_NSN_WEBRTC is not set -CONFIG_SR_NSN_NSNET2=y -CONFIG_SR_VADN_WEBRTC=y -# CONFIG_SR_VADN_VADNET1_MEDIUM is not set - -# -# Load Multiple Wake Words (WakeNet9s) -# -# CONFIG_SR_WN_WN9S_HILEXIN is not set -# CONFIG_SR_WN_WN9S_HIESP is not set -# CONFIG_SR_WN_WN9S_NIHAOXIAOZHI is not set -# CONFIG_SR_WN_WN9S_HIJASON is not set -# end of Load Multiple Wake Words (WakeNet9s) - -# -# Load Multiple Wake Words (WakeNet9) -# -# CONFIG_SR_WN_WN9_HILEXIN is not set -# CONFIG_SR_WN_WN9_NIHAOMIAOBAN_TTS2 is not set -# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set -# CONFIG_SR_WN_WN9L_XIAOAITONGXUE is not set -# CONFIG_SR_WN_WN9_NIHAOXIAOZHI_TTS is not set -# CONFIG_SR_WN_WN9L_NIHAOXIAOZHI_TTS3 is not set -# CONFIG_SR_WN_WN9_ALEXA is not set -# CONFIG_SR_WN_WN9_HIESP is not set -# CONFIG_SR_WN_WN9_JARVIS_TTS is not set -# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set -# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set -# CONFIG_SR_WN_WN9_HIMFIVE is not set -# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set -# CONFIG_SR_WN_WN9_HEYWANDA_TTS is not set -# CONFIG_SR_WN_WN9_HIJOLLY_TTS2 is not set -# CONFIG_SR_WN_WN9_HIFAIRY_TTS2 is not set -# CONFIG_SR_WN_WN9_HEYPRINTER_TTS is not set -# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set -# CONFIG_SR_WN_WN9_HIJOY_TTS is not set -# CONFIG_SR_WN_WN9_HIJASON_TTS2 is not set -# CONFIG_SR_WN_WN9_ASTROLABE_TTS is not set -# CONFIG_SR_WN_WN9_HEYILY_TTS2 is not set -# CONFIG_SR_WN_WN9_BLUECHIP_TTS2 is not set -# CONFIG_SR_WN_WN9_HIANDY_TTS2 is not set -# CONFIG_SR_WN_WN9_HEYIVY_TTS2 is not set -# CONFIG_SR_WN_WN9_HISTACKCHAN_TTS3 is not set -# CONFIG_SR_WN_WN9_XIAOLONGXIAOLONG_TTS is not set -# CONFIG_SR_WN_WN9_HIMIAOMIAO_TTS is not set -# CONFIG_SR_WN_WN9_MIAOMIAOTONGXUE_TTS is not set -# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set -# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set -# CONFIG_SR_WN_WN9_HILILI_TTS is not set -# CONFIG_SR_WN_WN9_HITELLY_TTS is not set -# CONFIG_SR_WN_WN9_XIAOBINXIAOBIN_TTS is not set -# CONFIG_SR_WN_WN9_HAIXIAOWU_TTS is not set -# CONFIG_SR_WN_WN9_XIAOYAXIAOYA_TTS2 is not set -# CONFIG_SR_WN_WN9_LINAIBAN_TTS2 is not set -# CONFIG_SR_WN_WN9_XIAOSUROU_TTS2 is not set -# CONFIG_SR_WN_WN9_XIAOYUTONGXUE_TTS2 is not set -# CONFIG_SR_WN_WN9_XIAOMINGTONGXUE_TTS2 is not set -# CONFIG_SR_WN_WN9_XIAOKANGTONGXUE_TTS2 is not set -# CONFIG_SR_WN_WN9_XIAOJIANXIAOJIAN_TTS2 is not set -# CONFIG_SR_WN_WN9_XIAOTEXIAOTE_TTS2 is not set -# CONFIG_SR_WN_WN9_NIHAOXIAOYI_TTS2 is not set -# CONFIG_SR_WN_WN9_NIHAOBAIYING_TTS2 is not set -# CONFIG_SR_WN_WN9_NIHAODONGDONG_TTS2 is not set -# CONFIG_SR_WN_WN9_HIWALLE_TTS2 is not set -# CONFIG_SR_WN_WN9_XIAOLUXIAOLU_TTS2 is not set -# CONFIG_SR_WN_WN9_NIHAOXIAOAN_TTS2 is not set -# CONFIG_SR_WN_WN9_NI3HAO3XIAO3MAI4_TTS2 is not set -# CONFIG_SR_WN_WN9_NI3HAO3XIAO3RUI4_TTS3 is not set -# CONFIG_SR_WN_WN9_HAI1XIAO3OU1_TTS3 is not set -# CONFIG_SR_WN_WN9_XIAO3JIA1XIAO3JIA1_TTS3 is not set -# CONFIG_SR_WN_WN9_XIAO3FENG1XIAO3FENG1_TTS3 is not set -# end of Load Multiple Wake Words (WakeNet9) - -CONFIG_SR_MN_CN_NONE=y -# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set -# CONFIG_SR_MN_CN_MULTINET6_QUANT is not set -# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set -# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set -# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set -CONFIG_SR_MN_EN_NONE=y -# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set -# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set -# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set -# end of ESP Speech Recognition - # # Compiler options # @@ -2732,23 +2641,6 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set # end of Wi-Fi Provisioning Manager -# -# DSP Library -# -CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y -# CONFIG_DSP_ANSI is not set -CONFIG_DSP_OPTIMIZED=y -CONFIG_DSP_OPTIMIZATION=1 -# CONFIG_DSP_MAX_FFT_SIZE_512 is not set -# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set -# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set -CONFIG_DSP_MAX_FFT_SIZE_4096=y -# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set -# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set -# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set -CONFIG_DSP_MAX_FFT_SIZE=4096 -# end of DSP Library - # # TinyUSB Stack # diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 0e88619..9dd6727 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -63,35 +63,9 @@ CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y # # ESP Speech Recognition # -CONFIG_MODEL_IN_FLASH=y -# CONFIG_MODEL_IN_SDCARD is not set -CONFIG_USE_AFE=y -CONFIG_AFE_INTERFACE_V1=y -CONFIG_USE_NSNET=y -CONFIG_SR_NSN_NSNET2=y -# CONFIG_USE_WAKENET=y -# CONFIG_SR_WN_WN8_ALEXA is not set -# CONFIG_SR_WN_WN9_HILEXIN=y -# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set -# CONFIG_SR_WN_WN9_ALEXA is not set -# CONFIG_SR_WN_WN9_HIESP is not set -# CONFIG_SR_WN_WN9_HIMFIVE is not set -# CONFIG_SR_WN_WN9_NIHAOXIAOZHI is not set -# CONFIG_SR_WN_WN9_JARVIS_TTS is not set -# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set -# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set -# CONFIG_SR_WN_WN9_CUSTOMWORD is not set -# CONFIG_SR_WN_LOAD_MULIT_WORD is not set -# CONFIG_USE_MULTINET=y -# CONFIG_SR_MN_CN_NONE is not set -# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set -# CONFIG_SR_MN_CN_MULTINET6_QUANT=y -# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set -# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set -# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set -# CONFIG_SR_MN_EN_NONE=y -# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set -# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set -# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set +#CONFIG_MODEL_IN_FLASH=y +#CONFIG_USE_AFE=y +#CONFIG_AFE_INTERFACE_V1=y +#CONFIG_USE_NSNET=y +#CONFIG_SR_NSN_NSNET2=y # end of ESP Speech Recognition -