Hi all! I'm hoping to find a code for a MIDI-reactive LED strip, where a note on a piano lights one or two LEDs responding to pitch=color and velocity=brightness. My coding experience is very limited, so any suggestions of code I could use are very much appreciated!
I'm using an Esp32 controller. I haven't yet set up the esp32 to receive the midi information, I assume that would all be in the code I upload to the controller, right?
the question was more how do you plan to relay the information from the PC to the ESP32 ? does your software do that? which communication channel will be used ? what's the protocol / format ?
That does sound like going the long way around really. Midi to ledstrip signal can be done without the interference of a computer, and it's simpler. Even if you have to split the midi signal before the computer it's easier to bypass that thing (and quicker, less latency / lag)
Those are good points. Thank you @Deva_Rishi and @J-M-L
I honestly have very little experience in this area, in case it isn't obvious , so any guidance on how to approach this would be very helpful. Thank you!
I was just wondering, if your Piano doesn't really need the Computer at all ? I mean it plays sound by itself right. Just to make sure, not even that it matters all that much, midi is very easily splitable.
I have another question here, i somehow suspect you are intending to use addressable LED's, if so, your choice of MCU becomes quite relevant, since bit-banging the Ledstrip signal will turn off interrupts for a significant time which will not just cause swSerial to malfunction, but will also cause issues on hwSerial.
or making the right choice of addressable leds. I use APA102 just for this reason, they are more expensive than so called "neopixels" but don't require the same precise timing as the clock is managed on the strip.
J-M-L, @Deva_Rishi, @tomcombriat, thanks again for your input. As I read through your responses I realize how much I need to learn in order to make this work.
Since this is for an upcoming project, I won't be able to learn how to do all this from scratch on short notice. Do you have any recommendations of github repositories or other resources that I can refer to that would have a preexisting code and setup I can follow?