I had this in mind since at least 2 years.

I had this in mind since at least 2 years. Finally found the time to give it a try.
While recording I didn´t touch anything - except the music player.
I´m not entirely sure yet if I like the result or not… what do you think?

I like it! Would enjoy seeing more.

I definitely like the result! The response to the bare beat at the beginning seems perfect. It seems to do a great job of reacting to the music as new elements are introduced, after the beat stops, etc.

One of the coolest effects I’ve seen! Is there a lot of code needed to get that - are we talking multiple for loops and stuff? I can only strive to do something half as fresh!

@Amin_Shahsavar Have a look yourself - that´s the animation from the video: https://gist.github.com/StefanPetrick/c8adc84c92be703a52367090dba56b2b

read_audio reads MSGEQ7 data?

@Thomas_Runge Yes, reading and some data smoothing. The results are given to the array uint8_t bands[7].

. o O (Hopefully he will not release full source code. I had to stop my current project, build a damn 16x16 matrix and finally get my MSGEQ7 up and running!)

LOL, go for it, @Thomas_Runge !

Can you share the code with read audio? I have a Teensy 3.2 and MSGEQ7 breakout I’ve been waiting to try and this would be a perfect way to start. Also, are you using the smart matrix shield for this?

@Mike_Clifford : A conservative method to get the data is this one:

void ReadAudio() {
digitalWrite(MSGEQ7_RESET_PIN, HIGH);
digitalWrite(MSGEQ7_RESET_PIN, LOW);
for(byte band = 0; band < 7; band++) {
digitalWrite(MSGEQ7_STROBE_PIN, LOW);
delayMicroseconds(30);
left[band] = analogRead(AUDIO_LEFT_PIN);
right[band] = analogRead(AUDIO_RIGHT_PIN);
digitalWrite(MSGEQ7_STROBE_PIN, HIGH);
}
}

It delivers a 10 bit value (0-1023) into the uint16_t arrays left and light. You might want to scale that down to a byte (by dividing by 4). In case you use one MSGEQ7 and analyze just one audio channel you can drop one analogRead. Here is a good tutorial which got me started some years ago: http://tronixstuff.com/2013/01/31/tutorial-arduino-and-the-msgeq7-spectrum-analyzer/

Later there are ways to save some µs but for the beginning this method is fine. I´m using a Teensy 3.2 and 2 external MSGEQ7s, but stereo reading has not really an advantage for led animations.

@Mike_Clifford Ha, I found it. Have a look here at the comments section https://www.youtube.com/watch?v=hvbIZPFd3bk&t=2s There I showed how so speed the thing up.

@Stefan_Petrick thanks much! I have a little learning to do to move from arduino to teensy, so this helps

@Mike_Clifford Then stick with the tronix-tutorial for the beginning. Good luck!