I’m wanting to build a music visualizer and after much research and inadequate experimenting, I would like to get some help from the experience of the group. I’m planning on using an Arduino Uno if possible, but will migrate to the Teensy if needed. I have a lot of cheap Arduino clones and only one Teensy on hand, so, I’d like to stick with the Arduino if possible. I’m wanting to controll two 5 meter strips of 300 leds each for a total of 600 leds.
I first tried using FHT to analyze the music. Knowing that the memory of the Arduino is limited, I decided to make an envelope follower circuit and have the analog follow the flow of the music. I try to detect beat patterns by watching the instant values compared to an average over time. That is somewhat working in that I can make the lights pulse with the intensity of the music, but, there’s still not much of a show. I’m now thinking of using the MSGEQ7 breakout instead of the envelope follower. This should allow more discrete data and keep much of the audio computation in hardware.
I’m really concerned about the capabilities of the Arduino and wonder what your thoughts are. I’ve also looked at the video at https://www.youtube.com/watch?v=jZoQ1S73Bac andsee I have a long way to go in order to have the lights respond pleasantly to the music and am looking for any code examples.
Thanks
You’re going to run out of ram on the Arduino - 600 LEDs is 1800 bytes of ram, just for the LED days itself and you only have 2000 to begin with. (Also, in a fan of the msgeq7)
There’s a mono and a stereo version of this little board with MSGEQ7.
I’m using the stereo one with a Teensy 3.0. It was easy to wire up and seems to work really nicely in terms of response and breaking the audio spectrum down and getting the data to the MCU nice and fast. Now I’m in the learning/experimenting phase of how I want to actually utilize the data to make some pretty visuals.
I totally recommend using a Teensy for the additional speed and memory.
msgeq7 ftw! no point reinventing the wheel! 
I’m very happy with the MSGEQ7. I’ve ordered boards from two places, and they both work.
All righty then. Sounds like a consensus. Teensy is the board to use (I’ll use Teensy 3.1). Will the Teensy be able to perform an FFT or FHT operation on the sound and still operate 600 leds, or should I stick with the MSGEQ7 to process the sound?
If I use the MSGEQ7, I was reading the following post https://plus.google.com/115124694226931502095/posts/HaQtiWAT7Mi
from @Stefan_Petrick describing the use of a small capacitor between output and ground to improve the results. Any additional thoughts on that?
@Kelly_Sumrall my Wiki covers a selfmade Stereo MSGEQ7, the circuit, and a small example. For 144 LEDs you can start with your UNO and then migrate to the Teensy
@Kelly_Sumrall maybe you could also try the audio shield from the teensy. I have experimented a little bit with it and the results were also good with the build in dsp. But I think the MSGEQ7 is the easier way.
Ashort question to all, how are you with your misuc visualisation solving changeable signal input values?? I will use a system in my car and I can only grab the signal from my speakers so the level is sometimes higher, or lower…
@Lars_Walpurgis @Mat_Bettinson wrote this AWESOME soundspout.
https://plus.google.com/+MatBettinson/posts/T4cjThykuZT
He’s using RunningAverage and scales the input value.
I just happen to watch right now this tutorial on Paul’s awesome Teensy Audio shield. I will give it a try one of these days.
Thanks @Juergen_Bruegl I will have a look on this code.
Thanks for the links +Juergen Bruegl.
I think I’m now happy with the Teensy/MSGEQ7 combo. I can now focus on FastLED code.
As for my questioning the need for a capacitor between output and ground, I have some experimental results. I used the Arduino IDE serial plotter to capture the data and saw many random spikes without the capacitor. With the capacitor, the spikes were removed. Can someone tell me how to embed images in a post. I have a couple of screenshots I’d like to add that show the difference the capacitor makes.
@Kelly_Sumrall I like to upload images to Imgur and then post direct link(s) here. G+ doesn’t allow actual images to be added in comments.
OK, for completeness, here are links to the serial plotter screen shots:
Without capacitor:
With 2.2uF cap between ground and output:
Thanks for the tip @marmil
Interesting. That cap addition seems to make a good difference.
And thanks for sharing those. I didn’t realize the IDE had this plot feature now since I still have v1.6.5 installed. Time to update because this looks useful.
I found nothing better and faster than a MSGEQ7 so far. Check out my posts to get an impression what´s possible with these ICs: https://plus.google.com/u/0/115124694226931502095/posts
The Teensy can run a 1024-bin FFT and have CPU cycles to spare (when running at 96MHz). If you’re processing stereo audio and need leftover cycles to draw your LED patterns, you can have it do a 256-bin FFT instead (which is still way more detail than an MSGEQ7 and way more than most people would use for an LED visualisation).
The Teensy Audio Library will handle the software side of this automatically. You’ll need to add a simple filtering circuit if you want to use the ADC on the Teensy directly (schematic is available in the documentation for the Teensy Audio Library).