From 849a484133579056e28b9c93fe7c7e87cfd45c73 Mon Sep 17 00:00:00 2001 From: "liying@espressif.com" Date: Mon, 12 May 2025 19:51:51 +0800 Subject: [PATCH 1/2] rename esp-adf --- docs/en/glossary/glossary.rst | 2 +- docs/zh_CN/glossary/glossary.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/glossary/glossary.rst b/docs/en/glossary/glossary.rst index 0f9bce6..d66ba94 100644 --- a/docs/en/glossary/glossary.rst +++ b/docs/en/glossary/glossary.rst @@ -6,7 +6,7 @@ Glossary General Terms ------------- -ESP-SR reuses most of its terms in `Espressif Audio Development Framework `_. See details in `ADF English-Chinese Glossary `_ . +ESP-SR reuses most of its terms in `Espressif Advanced Development Framework `_. See details in `ADF English-Chinese Glossary `_ . Unique Terms ------------ diff --git a/docs/zh_CN/glossary/glossary.rst b/docs/zh_CN/glossary/glossary.rst index a1c4c3d..291fffc 100644 --- a/docs/zh_CN/glossary/glossary.rst +++ b/docs/zh_CN/glossary/glossary.rst @@ -6,7 +6,7 @@ 通用术语 -------- -ESP-SR 仓库中的大多数术语均与 `乐鑫 ADF 音频应用开发框架 `_ 共用,具体请访问 `ADF 中英术语库 `_。 +ESP-SR 仓库中的大多数术语均与 `乐鑫高级开发框架 (ESP-ADF) `_ 共用,具体请访问 `ESP-ADF 中英术语库 `_。 特别术语 -------- From 2f763237b17eac50b574ac8590f2ce5632675ac1 Mon Sep 17 00:00:00 2001 From: xysun Date: Fri, 16 May 2025 16:19:13 +0800 Subject: [PATCH 2/2] feat: add debug mode --- .gitlab-ci.yml | 6 +++--- CHANGELOG.md | 4 ++++ CMakeLists.txt | 1 + idf_component.yml | 2 +- lib/esp32/libesp_audio_processor.a | Bin 2524040 -> 2524040 bytes lib/esp32/libmultinet.a | Bin 775700 -> 775700 bytes lib/esp32/libwakenet.a | Bin 230188 -> 230640 bytes lib/esp32p4/libesp_audio_processor.a | Bin 4732570 -> 4732570 bytes lib/esp32p4/libmultinet.a | Bin 1135018 -> 1135018 bytes lib/esp32p4/libvadnet.a | Bin 194072 -> 194072 bytes lib/esp32p4/libwakenet.a | Bin 344216 -> 344832 bytes lib/esp32s3/libmultinet.a | Bin 1862426 -> 1862426 bytes lib/esp32s3/libnsnet.a | Bin 279858 -> 279858 bytes lib/esp32s3/libvadnet.a | Bin 124200 -> 124200 bytes lib/esp32s3/libwakenet.a | Bin 683508 -> 684024 bytes src/esp_sr_debug.c | 12 ++++++++++++ src/include/esp_sr_debug.h | 26 ++++++++++++++++++++++++++ 17 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 src/esp_sr_debug.c create mode 100644 src/include/esp_sr_debug.h diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fe6246b..2d32e16 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -143,7 +143,7 @@ build_esp_sr: - .rules:build:test_esp_sr parallel: matrix: - - IMAGE: [espressif/idf:release-v5.4, espressif/idf:latest] + - IMAGE: [espressif/idf:v5.4.1, espressif/idf:latest] EXAMPLES_PATH: "test_apps/esp-sr" @@ -153,7 +153,7 @@ build_esp_tts: - .rules:build:test_esp_tts parallel: matrix: - - IMAGE: [espressif/idf:release-v5.4, espressif/idf:latest] + - IMAGE: [espressif/idf:v5.4.1, espressif/idf:latest] EXAMPLES_PATH: "test_apps/esp-tts" build_esp32c5: @@ -162,7 +162,7 @@ build_esp32c5: - .rules:build:test_esp32c5 parallel: matrix: - - IMAGE: [espressif/idf:release-v5.4, espressif/idf:latest] + - IMAGE: [espressif/idf:v5.4.1, espressif/idf:latest] EXAMPLES_PATH: "test_apps/esp32c5" .test_template: &test_template diff --git a/CHANGELOG.md b/CHANGELOG.md index 299a952..c6df912 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change log for esp-sr +## 2.1.2 +- Add debug mode +- Update wakenet trigget to v4 + ## 2.1.1 - Add 8KHz AEC for VoIP - Add more wakenet9 models diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b4ae22..84b91cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ if((${IDF_TARGET} STREQUAL "esp32s3") OR (${IDF_TARGET} STREQUAL "esp32p4") OR ( set(srcs "src/model_path.c" + "src/esp_sr_debug.c" "src/esp_mn_speech_commands.c" "src/esp_process_sdkconfig.c" ) diff --git a/idf_component.yml b/idf_component.yml index bc6e0d2..4f24fa6 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -1,4 +1,4 @@ -version: "2.1.1" +version: "2.1.2" description: esp_sr provides basic algorithms for Speech Recognition applications url: https://github.com/espressif/esp-sr dependencies: diff --git a/lib/esp32/libesp_audio_processor.a b/lib/esp32/libesp_audio_processor.a index c2af2813c4f44a004437f3b0ece965ff5929aec8..2ba19e5558f2c1b0f4729fbcccdc6650fb59029f 100644 GIT binary patch delta 185 zcmWN=w++Go002Qu&N=5?Lt`X%Uv}>VmB)8^_Rr&AmQ~1o>3>fo-WSl zc7LqTVVp(*S#snlP^3he3RP;T~M|uBgf8%mURR910 diff --git a/lib/esp32/libmultinet.a b/lib/esp32/libmultinet.a index 8debbf88d91e2d6a3314db091e3761d09a86633d..40be7b5922796b3a34f043e20025423e93a52fb8 100644 GIT binary patch delta 59 zcmbQTMt{m0{e~9C7N!>F7M2#)7Pc1l7LF~PJGTp(Ss9pH8JIBufp21^f}vUasqLIV M%(ea0c5W{@07>@~)Bpeg delta 59 zcmbQTMt{m0{e~9C7N!>F7M2#)7Pc1l7LF~PJGToOS{Yed8Cx&_fp21^f}wHysqLIV M%(ea0c5W{@07@Yf)c^nh diff --git a/lib/esp32/libwakenet.a b/lib/esp32/libwakenet.a index e2d3f50422c73cfe79c0a68ac9a7f9383ac5404f..586db25bed411d140d9db9d63a82667ff86a95f8 100644 GIT binary patch delta 13261 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 ZvVMc&Z{^w^cHr8GT^sT3jQFdU{trg=IduR4 delta 13240 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 P4?Ob3^Y=J>`HKAkO!J0V delta 319 zcmWm9$58?S069zM(idy|q7%;&kQ%sX!h9tAhks?ioEIIPbvp|7GmRM$m zRn}N%gH4KTQKC$RDmAv*VV6DjsdGTcAxAW55^>D`N1F~OoN~rFF&A8N#WgqFa>qRn PJo3ad-JenT@}2wxKqQ7u diff --git a/lib/esp32p4/libmultinet.a b/lib/esp32p4/libmultinet.a index def59f384d986eef645642299a571ed2374d86e0..9bdb19d561b74ed6b92078be8851701959357ac9 100644 GIT binary patch delta 138 zcmZ3r*mc!n*A30GVrEtb7FMQ)3_#$USgBxWreI`XWIDOfMx=SIZ2MYSMj&PaVrC#_ y0b4XjK}8Gyhyu~Na%xcL%W`z1EU?U&e?+};BK6dMgi diff --git a/lib/esp32p4/libwakenet.a b/lib/esp32p4/libwakenet.a index a8a1d4b0a60990a3ffe748f423cf839b5e54f6a2..e6d86414fcd8d66b19255044285eff9eb0fd9cab 100644 GIT binary patch delta 26294 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 delta 25919 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 diff --git a/lib/esp32s3/libmultinet.a b/lib/esp32s3/libmultinet.a index c6475cc02a9aacd6986781aefc9a5cf1b78c500d..6691cc8861d11731f88ef58096fd5290547690a6 100644 GIT binary patch delta 231 zcmbPrt#H=0!iE;c7N!>F7M2#)7Pc1l7LF~P@!JK>tPISpObi%+z&Ei{!O*O|U_0mb zg6&+Vmob`6w~6C+W``=7zHb?Cdi&crZXo8_{x*)c%^gieJ5U7>^KIX^jK4Gki_tFp z0^42q1t)*Ql$$P7FDlW-Ce+3z+{PxdjZKuh5>rt-P!SM|0kJp`O8~JX5KC>Bsh9ru F8UXz$MQQ*5 delta 231 zcmbPrt#H=0!iE;c7N!>F7M2#)7Pc1l7LF~P@!JIrt&9z<3{4q;z&Ei{!O*z9U_0mb zg6&+VmoXYow~6C+W``=7zHb?Cdi&crZXo8_{x*)c%^gieJ5U7>^KIX^jK4Gki_tFp z0^42q1t)*Ql$$P7FDlW-Ce+3z+{PxdjZKuh5>rt-P!SM|0kJp`O8~JX5KC>Bsh9ru F8UWyiMJ@mU diff --git a/lib/esp32s3/libnsnet.a b/lib/esp32s3/libnsnet.a index a47816485ce54b685f86dcd03d971b96d525b525..b6b9ae5c797e0e776ec52cdd9ae3d8d3572451da 100644 GIT binary patch delta 48 zcmdngCAg_eaKmFEK{G1@b1M@g1|aZFtW+>GYyKkC{zZrph?#(xdHWY37CR#Vg7XjE delta 48 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 delta 13420 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