Building a Music-Responsive LED Speaker - HELP!(Has fun diagram)

Status
Not open for further replies.

onionwasabi

New member
Hi all, I have been learning Microcontrollers(Arduino&ESP32) to build speaker like JBL Pulse, or a 'Bluetooth music reactive LED speakers' that is ACTUALLY visually mesmerizing.

I've been dreaming about this project for so long(like 6 years?), but lack of technological knowledge kept me from starting it. Annnnnd I finally decided to pursue it by learning along the way. (I majored in Economics, all I have is ~1 year of c++ and 5 month of Arduino experience).

I watched tons of videos to figure out my big plan but I am a noob, helpless. I literally don't know what I am doing. So here I am on Reddit, looking for advice from experts like you. So any kind of suggestion/advice/sharing related projects is much appreciated. =)

Polygon Blueprint2.jpg

Project Goal

If you know JBL Pulse, you already know what I am talking about. It is similar to JBL pulse, but much cooler with addressable LEDs & FFT(512~1024bin) & FastLED Library.

Dev board plays music just like a typical bluetooth speaker through Bluetooth or AUX cord.

Dev board does FFT on streamed music, and use that data to manipulate LED Matrix.

I saw videos https://youtu.be/jTqKfHqB1BQ by Youtuber Platinum and thought it was super dope. I thought that there was much more to experiment with bigger FFT size(more bins) instead of only 7~14 band and experimental shapes.



Questions



1. Shortcut?
I was thinking of buying a speaker TG187(JBL Xtreme knockoff) and disassemble it to hook it up with Teensy on ADC pin to get FFT, so that I can skip bluetooth speaker part.Is this how FFT works? or am I missing something? Disassembly → https://youtu.be/klZX4x88qFs?t=328

2. How to FFT directly?(without Analog)
Based on my understanding, FFT works by reading analog inputs and converting them.vReal = analogRead(0); // a line on arduinoFFTAudioInputAnalog adc1(A2); // a line on Teensy Audio libraryIs there a way to directly do FFT on streamed data digitally without going back and forth on Analog-Digital?

3. Board Selection
Teensy 4.1 seemed to be the best option for the dev board, because I read that FFT in real-time requires big processing power. However, Teensy does not support bluetooth directly. Any better alternative option for the board? (I honestly can give up bluetooth feature at the moment.)

4. Teensy Audio board
I don't need this board for my project.. right?

5. Amplifier
There is no dev board with amplifer feature.. so I will need an amplifier? I am looking for ample sound, haven't picked speaker drivers yet. Open to suggestion as well.

6. Any others
Please let me know your thoughts/concern/missing info, etc.
 
You certainly don't need to build an amp from scratch, just snoop on the audio going into the active speaker as
in your shortcut idea 1.

FFT is an algorithm on an array of samples, how you populate that array is normally something you have to
program. The Audio library contains two FFT components, 256 and 1024 bin respectively, so if you can inject
the signal into the audio lib framework these do the work for you, you just have to update the LEDs every time
the FFT signals new data.

FFT on a single audio stream isn't processor heavy, not sure you need a T4, let alone the 4.1. The whole
point of the FFT is that its very efficient, hence "Fast Fourier Transform"

By the way phrases like "ample sound" mean essentially nothing to the rest of us, an adjective means
very different things to different people, whereas "10 watts" is unambiguous.
 
Status
Not open for further replies.
Back
Top