{"id":499,"date":"2022-09-23T12:58:51","date_gmt":"2022-09-23T12:58:51","guid":{"rendered":"https:\/\/rasaaudio.com\/rasaaudio\/?p=499"},"modified":"2022-10-09T16:50:03","modified_gmt":"2022-10-09T16:50:03","slug":"esp32-audio-spectrum-analyzer","status":"publish","type":"post","link":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/2022\/09\/23\/esp32-audio-spectrum-analyzer\/","title":{"rendered":"ESP32 Audio Spectrum Analyzer"},"content":{"rendered":"\n<p>I wanted to build a RGB LED Strip based Audio Spectrum analyser , I looked at various projects and they belong to two categories, one with a MSGEQ7 Spectrum Analyzer chip and one with pure software FFT. I chose to go with pure Software FFT project, the one that had all the features and performance I was looking for was from <\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/donnersm\/FFT_ESP32_Analyzer\">https:\/\/github.com\/donnersm\/FFT_ESP32_Analyzer<\/a><\/p>\n\n\n\n<p>When this code detects silence it automatically Switches to a Fire Screen saver, which was really cool. This got me thinking to see if I can add other effects to this project.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/marcmerlin\/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos\">https:\/\/github.com\/marcmerlin\/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/Intrinsically-Sublime\/esp8266-fastled-webserver\">https:\/\/github.com\/Intrinsically-Sublime\/esp8266-fastled-webserver<\/a><\/p>\n\n\n\n<p>The above projects had a bunch of screen effects that Integrated.<\/p>\n\n\n\n<p>I also wanted much better control over things like filters , timing and effects , So I decided to port a webserver that I had developed for another project to this.<\/p>\n\n\n\n<p>This project has the following Features.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>FFT Based 32 Band Audio Spectrum analyser that drives a 16&#215;32 ws2812b based Serial LED Matrix .<\/li><li>Has 11 Spectrum Effects and 30 Screen Saver Effects.<\/li><li>Can be controlled from Mobile Phone in AP mode or you can connect to your home WiFi and use it from the browser \/ app.<\/li><li>Update the firmware over http OTA.<\/li><\/ol>\n\n\n\n<p>When the Device is booted it will start in AP mode supporting a Captive portal.<\/p>\n\n\n\n<p>In your Mobile phone scan for Wifi Networks and you will see GW-DAM-XX:XX:XX:XX AP<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"703\" src=\"https:\/\/rasaaudio.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image.png\" alt=\"\" class=\"wp-image-501\" srcset=\"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image.png 320w, https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image-137x300.png 137w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/figure>\n\n\n\n<p>Connect to it ,It should automatically open the following page. If it does not, open the web browser and enter http:\/\/8.8.4.4<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"323\" height=\"662\" src=\"https:\/\/rasaaudio.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image-1.png\" alt=\"\" class=\"wp-image-502\" srcset=\"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image-1.png 323w, https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image-1-146x300.png 146w\" sizes=\"auto, (max-width: 323px) 100vw, 323px\" \/><\/figure>\n\n\n\n<p>Here you can enter your home WiFi SSID and Password or if you can directly click on <br><strong>Led Config<\/strong> link at the bottom and configure the display.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"325\" height=\"701\" src=\"https:\/\/rasaaudio.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image-3.png\" alt=\"\" class=\"wp-image-504\" srcset=\"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image-3.png 325w, https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-content\/uploads\/2022\/09\/image-3-139x300.png 139w\" sizes=\"auto, (max-width: 325px) 100vw, 325px\" \/><\/figure>\n\n\n\n<p>In this screen you can control all the features of the Display.<\/p>\n\n\n\n<p>You can see a demo video here<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"ESP32 FFT Audio Spectrum Display with Effects on ws2812b Led Matrix.\" width=\"525\" height=\"295\" src=\"https:\/\/www.youtube.com\/embed\/sgb-2TByySA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>GitHub Code Links <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Modified Code. <\/strong><br><a href=\"https:\/\/github.com\/RasaAudio\/gSpectrumAnalyzer\">https:\/\/github.com\/RasaAudio\/gSpectrumAnalyzer<\/a> <br><br><strong>Original Code for Spectrum Display From <\/strong><a href=\"https:\/\/www.facebook.com\/TheelectronicEngineer\">https:\/\/www.facebook.com\/TheelectronicEngineer<\/a> <br><br><strong>Original Code for Effects from <\/strong><a href=\"https:\/\/github.com\/marcmerlin\/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos \">https:\/\/github.com\/marcmerlin\/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos <\/a><br><a href=\"https:\/\/github.com\/Intrinsically-Sublime\/esp8266-fastled-webserver\">https:\/\/github.com\/Intrinsically-Sublime\/esp8266-fastled-webserver<\/a><br>and Uses Adafruit GFX libraries<br><br>I have modified the neomatrix_config.h file for my display you should be able to modify it for your exact led matrix layout and everything else it should work as expected.<\/p>\n\n\n\n<p><strong>Build Instructions:<\/strong><\/p>\n\n\n\n<p>Download the code from<br><a href=\"https:\/\/github.com\/SunRays979\/gSpectrumAnalyzer\">https:\/\/github.com\/SunRays979\/gSpectrumAnalyzer<\/a><br>open the ino file in arduino-1.8.19 (others might work too). <br>Install the following libraries using the library manager.<br>ESP32_HUB75_LED_MATRIX_PANEL_DMA_Display<br>Adafruit_NeoMatrix<br>EasyButton<br>arduinoFFT<br>Adafruit_BusIO<br>Adafruit_GFX_Library<br>FastLED<br>Framebuffer_GFX<br>FastLED_NeoMatrix<br><br>Then just build and flash your ESP32.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I wanted to build a RGB LED Strip based Audio Spectrum analyser , I looked at various projects and they belong to two categories, one with a MSGEQ7 Spectrum Analyzer chip and one with pure software FFT. I chose to go with pure Software FFT project, the one that had all the features and performance &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/2022\/09\/23\/esp32-audio-spectrum-analyzer\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;ESP32 Audio Spectrum Analyzer&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-499","post","type-post","status-publish","format-standard","hentry","category-esp32-audio-spectrum-analyzer"],"_links":{"self":[{"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/posts\/499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/comments?post=499"}],"version-history":[{"count":5,"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/posts\/499\/revisions"}],"predecessor-version":[{"id":516,"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/posts\/499\/revisions\/516"}],"wp:attachment":[{"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/media?parent=499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/categories?post=499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rasaaudio.flinkfusion.com\/rasaaudio\/wp-json\/wp\/v2\/tags?post=499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}