Was out of town this weekend (in LED withdrawal), but wanted to follow up on the discussion last week re: music responsiveness and beat detection. @Zeke_Koch As you mention, I bet you can go pretty far with some simple code. I’d be interested to see a vid of your code in action.
I’ve been really into getting beat detection up an running to integrate into the LED wall we mounted onto our art car last year. I have a library I put together for this purpose at https://bitbucket.org/gregfriedland/findbeats/overview. The approach I use is equivalent to take a moving average of the energy levels from an MSGEQ7, and look for energy spikes that exceed a certain number of standard deviations above the average. It’s adaptive to increases in the overall level of the sound and to non-beat spikes.
The example script gives pleasing results when simply hooked up to LEDs, but of course things aren’t that simple on a real project. Figuring out what to do with the beat information in terms of integrating it into a 2D graphical visualization and making it look appealing gets tricky. I’ve tried using beats to stop the animation so it ‘bounces’ to the beat, and tried adjusting some of the colors when a beat hits, but there is lots of room to improve.
I’d be interested to hear what other approaches have people have used to respond to music (whether with beats or not) and how the info was translated into visuals.
I’ve been working on a similar responsive LED display wrapped around a 2 ft mushroom. We’re almost to the point of integrating sound input, but not quite. I know the folks at SoundPuddle (http://soundpuddle.org/) have experience in the area but haven’t yet connected so can only point you in their direction.
i’ve done some messing around and found that true beat detection was both computationally unfeasible (Arduino Micro) and unnecessary. i was pretty pleased with the results i got with comparing slightly smoothed current volume to relatively simple moving averages of the minimum and maximum volumes. doing this is by no means as sophisticated as beat detection, but a) it’s pretty simple b) it “feels” like the LEDs are changing in time to the beat even if i just vary the color or intensity with the current volume.
+Michael Banta Thanks for the suggestions. I will try that approach out. I am getting good results with the FindBeats library with regards to beat detection actually. Try it out if you’re curious and lmk how it works for you.
I certainly will. It’ll be interesting to see how much better real beat detection works. I actually haven’t had much time to play recently, but hope to be back at it soon.