Curious as to how people sync their lights with patters to music playing.

Curious as to how people sync their lights with patters to music playing. I don’t mean just playing music and listening to the volums and such I mean like having specific patters to play along with the music.

I know a lot of the large displays you see on YouTube use a controller with sequencing software but I am trying not to use a controller and use a esp32 or raspberry pi to control the lights.

Anyone know of any examples of syncing pixels with music with an Arduino device? Is it even going to work good with a large number of pixels?

Interested in hearing your thoughts on the subject

This interests me greatly! “One” avenue I have worked on is using Ableton Live as a triggering mechanism eg… https://www.instagram.com/p/Bh6JYruAp9G code on how to do this is here https://github.com/leonyuhanov/AbletonToOSC There are LOTS of ways to go about this, FYI!

These aren’t complete light with music examples, but rather two methods that might give you some ideas. Thank you to @Mark_Kriegsman for sharing these.

The above example of course requires going through the song over and over and figuring out the timing of things to what ever level of detail desired. Another more “automated” approach would be to do some sort of audio spectrum analyisis, using a MSGEQ7 for example, and having the music trigger different patterns. If the patterns change over time and patterns triggered by different spectrums are blended together you could get quite a variety of visuals and not need to spend time sequencing patterns to specific songs.

Also, what do you consider “a large number of pixels”? :wink:

How about a spectrum analyzer algorithm that cuts the frequency spectrum into a couple of frequency bands. Then you can set threshoulds on each frequency band and each time the band exceeds the threshould something in your animation gets triggered or the values of the frequency bands are used as dynamic parameter input for the animation algorithm. Just a thought.

When I Rememer right, there are sample source codes for arduino based spectrum analyzer

I’m not really talking about an automated approach I want to manually time individual lights and I consider a large number of lights a few thousand. I am looking to have only a few hundred

Manually, as in you push a button when you hear the music and it sets off lights, or manually, as in you listen to the music in advance and adjust the code to do that for you at the right time?

If the latter, then Marc Miller already covered that and provided a couple of examples.

manually as in I listen to the music in advance and program the lights to the music.

The idea was I have a raspberry pi that has the song and lights data/patterns ready to do and the lights data is just fed to the Arduino device via usb but I just worry about timing with the music with the transmission time between the two

I’ve done this for a band, using ESP8266’s. I use millis() to time the patterns. Works like a charm. Hard to sync though, it’s a lot of work, listening to the songs over and over. I know all the lyrics now :stuck_out_tongue:

Each song has a sequence of patterns programmed for the whole song. So it has to be triggered exactly when the song starts, and then the song and lights play out in sync. You should be able to work out the timing with your setup.

@Jeff_Tycz If it’s going to be completely pre programmed ahead of time any transmission time delay can be factored in as well. When the “go” button is pressed the playing of the audio can be delayed by x number of milliseconds.

Have you looked the Parallax sound impact sensor as demonstrated here http://www.instructables.com/id/Sound-Reactive-LED-strip/ or tried this https://github.com/jbud/FastLED-Serial-Music-Arduino approach? While I’m using Ableton Live or whatever, I would find it tedious having to pre-program patterns, etc. instead of just having them react to whatever music plays. Remember the prehistoric Apple music visualiser when iPod came out ; )

If we’re talking just sound reactive to whatever is being played, then I do have this (among others):