Ein Video in dem analoges Audio per FFT analysiert und dann auf einem OLED visualisiert wird. Für die FFT wurde die lib von kosme (Arduino Core) verwendet.
ESP8266/ESP32 Audio Spectrum Analyser using FFT
Ein Video in dem analoges Audio per FFT analysiert und dann auf einem OLED visualisiert wird. Für die FFT wurde die lib von kosme (Arduino Core) verwendet.
ESP8266/ESP32 Audio Spectrum Analyser using FFT
I recently started playing with the ESP8266, which was nice but somewhat limited, and now its older brother, the ESP32. Given their price and their I2S module, they make very nice platforms to start playing with audio processing and distributed microphone arrays. Just get an SPH0645 I2S microphone and get started! Amazing.
This provides a vanilla radix-2 FFT out-of-place implementation and a test example.
Hier ist auch noch was interessantes:
This code shows how to access a I2S microphone on an ESP32 (ESP-EYE board), to analyze the recorded frequencies with a fast fourier transform.
EspAudioSensor - RevSpace ist auch interessant:
Investigation into FFT libraries:
- arduinoFFT looks nice, but … it does all calculations in double, severely limiting the audio buffer size. For each sample, you need two doubles, so that’s 16 bytes per sample. I can use about 6000 samples in the audio buffer. Using floats would give me twice the audio buffer size. I could just copy the files and modify them for double->float (and fix any other compiler warnings).
- Alternatively, esp32-fft looks nice, it uses floats instead of doubles and is optimised for esp32, but it uses malloc internally … Also I can’t use it as an Arduino library because it doesn’t have the arduino library structure (with a src dir, examples dir, library.json file, library.properties file, etc) Maybe I can still use it by copying it in my sketch.