I was struggling to understand the arduinoFFT library due to its lack of documentation, so I spent some time investigating and this is what I made. This might also work on an ESP8266, but you will have to reduce the sampling rate as it's not as fast as the ESP32.
The code is written using the Arduino IDE. It can have any number of bands, and comes with 5 preset patterns but it's easy enough to add your own providing you can work with FastLED.The image is displayed on a homemade LED matrix, using the FastLED library.
Click here for a link on how to make your own matrix: https://www.youtube.com/watch?v=_0a9JZLGu4M&t=8s
Code is available on GitHub: https://github.com/s-marley/ESP32_FFT_VU
Based on original code by G6EJD: https://www.youtube.com/watch?v=OStljy_sUVg
arduinoFFT library on GitHub: https://github.com/kosme/arduinoFFT