kopia lustrzana https://github.com/debsahu/ESP32_FFT_Audio_LEDs
88b43f9cb3
The peak array is only 7 bytes long, but there are 8 bytes written to it. This overwrites the variable, that the compiler decides to put afterwards, most likely the sample buffer vReal[]. Maybe this is also the reason why you decided to omit the first sample when iterating through vReal[]? |
||
---|---|---|
docs | ||
microphone_esp8266_fft | ||
microphone_esp8266_msgeq7 | ||
LICENSE | ||
README.md |
README.md
ESP32 Fast Fourier Transform of Audio & WS2812B mapping
Here we use ESP32 microcontroller to analyze real-time audio signals
- Real-time FFT to get frequencies (99% of code from ESP32-8266-Audio-Spectrum-Display Project by @G6EJD)
- Or use MSGEQ7 chip to get the same data
- Display frequency bands on LEDs as bars
Libraries Needed
Software FFT platformio.ini and Hardware FFT platformio.ini is included, use PlatformIO and it will take care of installing the following libraries.
Library | Link |
---|---|
arduinoFFT | https://github.com/kosme/arduinoFFT |
WS2812FX | https://github.com/kitesurfer1404/WS2812FX |
MD_MSGEQ7 | https://github.com/debsahu/MD_MSGEQ7 |
Known Limitations
- Sampling frequency must be high
- Sampling time should not interfere with other WiFi functions
- FFT calculations are CPU intensive
- Frequency binning needs to be done manually