Hello, currently I'm trying to port the Opus audio codec to the ESP32 as the main goal for my project, however I just recently started playing with my ESP-WROVER-KIT v3. I've gotten some examples to work, and hooked up a microphone+speaker which I have tested with the I2S-ADC-DAC example given in the esp-idf. I have an opus executable working on my Mac, which I'm developing on, and was wondering how to compile the opus files onto the esp-32 platform. To create the opus executable, they provide a configure script that generates a makefile for compiling the executable on your development platform, and obviously the Mac dependencies aren't the same as for an ESP32.
At the end, the task I want to achieve is using the microphone to record voice which is encoded + decoded through the opus codec, which would then be outputted through speakers.
I'm fairly new to this and any insight would be appreciated!
Porting Opus Audio Codec v1.2.1 to ESP32
Re: Porting Opus Audio Codec v1.2.1 to ESP32
hello... should be easy. Just use the esp32 compiler... check this example for esp8266:
https://www.esp8266.com/viewtopic.php?f ... t=4#p42633
https://www.esp8266.com/viewtopic.php?f ... t=4#p42633
Re: Porting Opus Audio Codec v1.2.1 to ESP32
I tried doing the same as for the esp8266, except I get this error when I run the command:
./configure --host=xtensa-esp32-elf --target=xtensa-esp32-elf
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for xtensa-esp32-elf-strip... xtensa-esp32-elf-strip
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking build system type... x86_64-apple-darwin16.7.0
checking host system type... xtensa-esp32-elf
checking how to print strings... printf
checking for style of include used by make... GNU
checking for xtensa-esp32-elf-gcc... xtensa-esp32-elf-gcc
checking whether the C compiler works... no
configure: error: in `/Users/Documents/opus-1.2.1':
configure: error: C compiler cannot create executables
./configure --host=xtensa-esp32-elf --target=xtensa-esp32-elf
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for xtensa-esp32-elf-strip... xtensa-esp32-elf-strip
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking build system type... x86_64-apple-darwin16.7.0
checking host system type... xtensa-esp32-elf
checking how to print strings... printf
checking for style of include used by make... GNU
checking for xtensa-esp32-elf-gcc... xtensa-esp32-elf-gcc
checking whether the C compiler works... no
configure: error: in `/Users/Documents/opus-1.2.1':
configure: error: C compiler cannot create executables
Re: Porting Opus Audio Codec v1.2.1 to ESP32
Update: So I successfully compiled OPUS onto my ESP32, and now I'm testing how well the libraries work on the board.
Using the i2s_adc_dac example, I simply added an encoding + decoding step that reads from flash the recorded audio, encodes+decodes that, and puts the data back into the flash. When the DAC reads that decoded data, however, the output audio is much louder and filled with static. I can still discern what I had initially recorded through the ADC, but I'm confused as to why just encoding+decoding this input audio affects the output audio.
Using the i2s_adc_dac example, I simply added an encoding + decoding step that reads from flash the recorded audio, encodes+decodes that, and puts the data back into the flash. When the DAC reads that decoded data, however, the output audio is much louder and filled with static. I can still discern what I had initially recorded through the ADC, but I'm confused as to why just encoding+decoding this input audio affects the output audio.
Who is online
Users browsing this forum: No registered users and 116 guests