So I have been trying to upload my code, however I keep getting this error anyone have any ideas as to why this is happening?
For context I am trying to use an I2S microphone in conjunction with an ESP32 to get voice recognition. Thank you!
C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:19:49: warning: ‘I2S_COMM_FORMAT_I2S’ is deprecated [-Wdeprecated-declarations]
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
^~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/esp32/include/hal/i2s_ll.h:30,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_hal.h:28,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:2:
C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:70:5: note: declared here
I2S_COMM_FORMAT_I2S
attribute
((deprecated)) = 0x01, /
!< I2S communication format I2S, correspond to
I2S_COMM_FORMAT_STAND_I2S
/
^~~~~~~~~~~~~~~~~~~
C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:19:71: warning: ‘I2S_COMM_FORMAT_I2S_MSB’ is deprecated [-Wdeprecated-declarations]
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/esp32/include/hal/i2s_ll.h:30,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_hal.h:28,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:2:
C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:71:5: note: declared here
I2S_COMM_FORMAT_I2S_MSB
attribute
((deprecated)) = 0x01, /
!< I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to
I2S_COMM_FORMAT_STAND_I2S
/
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/speechpy.hpp:27,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/classifier/ei_run_dsp.h:28,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:31,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/speech-recognition-grow-tech_inferencing.h:41,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:1:
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp: In static member function ‘static int ei::speechpy::feature::mfe(ei::matrix_t*, ei::matrix_t*, ei::signal_t*, uint32_t, float, float, uint16_t, uint16_t, uint32_t, uint32_t, uint16_t)’:
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:323:5: error: insn does not satisfy its constraints:
(insn 2002 930 30 72 (set (reg:SF 20 f1 [orig:266 prephitmp_402 ] [266])
(mem/u/c:SF (symbol_ref/u:SI (“
.LC71") [flags 0x2]) [0 S4 A32])) “C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp”:154 47 {movsf_internal}
(nil))
during RTL pass: postreload
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:323:5: internal compiler error: in extract_constrain_insn, at recog.c:2210
Please submit a full bug report,
with preprocessed source if appropriate.
See
https://gcc.gnu.org/bugs/
for instructions.
exit status 1
Error compiling for board ESP32 Wrover Module.
C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:19:49: warning: ‘I2S_COMM_FORMAT_I2S’ is deprecated [-Wdeprecated-declarations]
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
^~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/esp32/include/hal/i2s_ll.h:30,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_hal.h:28,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:2:
C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:70:5: note: declared here
I2S_COMM_FORMAT_I2S
attribute
((deprecated)) = 0x01, /
!< I2S communication format I2S, correspond to
I2S_COMM_FORMAT_STAND_I2S
/
^~~~~~~~~~~~~~~~~~~
C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:19:71: warning: ‘I2S_COMM_FORMAT_I2S_MSB’ is deprecated [-Wdeprecated-declarations]
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/esp32/include/hal/i2s_ll.h:30,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_hal.h:28,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:2:
C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:71:5: note: declared here
I2S_COMM_FORMAT_I2S_MSB
attribute
((deprecated)) = 0x01, /
!< I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to
I2S_COMM_FORMAT_STAND_I2S
/
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/speechpy.hpp:27,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/classifier/ei_run_dsp.h:28,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:31,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/speech-recognition-grow-tech_inferencing.h:41,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:1:
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp: In static member function 'static int ei::speechpy::feature::mfe(ei::matrix_t
, ei::matrix_t*, ei::signal_t*, uint32_t, float, float, uint16_t, uint16_t, uint32_t, uint32_t, uint16_t)':
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:323:5: error: insn does not satisfy its constraints:
(insn 2002 930 30 72 (set (reg:SF 20 f1 [orig:266 prephitmp_402 ] [266])
(mem/u/c:SF (symbol_ref/u:SI (”*.LC71") [flags 0x2]) [0 S4 A32])) “C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp”:154 47 {movsf_internal}
(nil))
during RTL pass: postreload
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:323:5: internal compiler error: in extract_constrain_insn, at recog.c:2210
Please submit a full bug report,
with preprocessed source if appropriate.
See
https://gcc.gnu.org/bugs/
for instructions.
exit status 1
Error compiling for board ESP32 Wrover Module.
Thank you for getting back to me, I was able to follow the instructions from the other forum post and have expelled the other errors. Now I am left with only this error remaining:
c:/users/johnb/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld.exe: cannot open linker script file esp32.rom.redefined.ld: No such file or directory
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board ESP32 Wrover Module.
I would appreciate any insight as to how I can resolve this!
The code and library for the keyword recognition can be found here:
github.com
Thank you for your help, I uninstalled and then reinstalled Arduino, ESP32, and all libraries and it compiled completely. Now I am trying to get my microphone (Adafruit I2S MEMS Microphone Breakout - SPH0645LM4H) to work with the code. I am not having much luck finding documented material and the only forum post has been this
post
however there does not seem to be a resolution to the underlying problem. If you have any ideas as to how I can potentially get started I would greatly appreciate it!
Hi
@JVanlla
,
I recommend trying to record some basic sounds with the I2S microphone first before integrating it into the keyword spotting system. You will need to write your own I2S driver or find an existing one to get started, as I do not think that Arduino has a built-in I2S driver for the ESP32. There is a potential bug in the I2S code for the ESP32:
https://hackaday.io/project/162059-street-sense/log/160705-new-i2s-microphone
Here are some other resources that might help:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/i2s.html
https://github.com/leonyuhanov/ESP32_MEMSMicrophone