New Project - Christmas Light Midi Controller

I've been inspired by Tanner Tech's Christmas Light Midi Controller...

I'm preparing to gather the required components that he listed on his YouTube Comments... but after watching the video a few times and attempting to source the listed components, I have a few questions about the hardware that he's listed.

  1. He lists the Power Supply.
    Is this even required? I don't understand what its needed for. Seems expensive and redundant to me.

  2. He lists the midi breakout board, but I can't seem to source this midi Board anywhere in Canada. I found this board instead... Amazon.ca
    Do you see any reason why this board wouldn't work?

  3. He also lists the Arduino MEGA board.
    I only have the smaller Arduino UNO board.
    Why did he choose the MEGA, wouldn't the UNO be sufficient for this, or am I missing something?

Thanks... I just don't want to spend money on anything that I won't need.

Cheers!

His minimum system would need two Arduinos, it looks like. Didn't watch the whole video. I'll look for his website L8R.

One needs to have 16 i/o pins, that's probably why he used a Mega. Maaaaybe you could somehow squeeze it onto a smaller Arduino, or use a port expander… depends on if you want to have that kind of fun or just get on with the pretty lights, which as he points out will take another kind of programming effort.

He uses more than one serial port, also a reason.

The other might be workable with a UNO, or an UNO, depending on how you pronounce UNO, but it also I think needs more than one serial port and IMO the least hassle will be if you just trade the time you might spend screwing around with Softwareserial ports and just afford yourself another MEGA you'd come out ahead. Sooner. With more hair left.

Ppl get Softwareserial to work. Life too short!

Given that many problems in projects come from inadequate power supply issues, I'd trust this young man's design and go ahead and use nice beefy power supplies as he did. Again, save the hair you'll lose and mebbe even our time when it doesn't work 'cause you are driving a bunch of relays.

"This year I've solved all my problems", LOL, to be young again. :expressionless:

a7

Of course the Arduino needs a power supply or you can power it with USB but you may not want to keep a computer connected full time. The relay board probably needs a little more current than you can get from USB so it probably needs a power supply.

You may not want or need MIDI. MIDI is normally for music. MIDI is basically "sheet music for computers".

A MIDI file contains the "notes & timing" to play virtual instruments. You can play MIDI files on your computer I think Windows Midia Play can play MIDI files, or there is more advanced software with more realistic sounding virtual instruments.
Most background music on TV and in movies is now created from MIDI rather than being played on real instruments by real musicians. MIDI can sound like real instruments but it doesn't support lyrics & vocals.

So... If you are playing a MIDI file you can turn-on a relay and activate a light at the same time you activate a note from a particular virtual instrument. The lights will be perfectly synchronized and perfectly-controllable and you can get the same exact show every time.

Or, you could "play" a lighting sequence separately from the audio.

There is a stage lighting standard called DMX512 which is "similar" to MIDI, but it's actually designed for lighting, not music. You don't need DMX either, unless you want to use commercial DMX lights.

But if you are not using MIDI sound and you are playing regular music files it's more common to make the lights REACT to the sound/music rather than playing a pre-programmed lighting sequence.

That's very common... A lot of people make "music visualizers" (which are usually based on a spectrum analyzer concepts). That's very common... A lot of people make "music visualizers" (which are usually based on a spectrum analyzer concepts). Once you are getting "audio data" (either the loudness or the loudness plus the frequency information) you are only limited by your imagination.

If you make something that reacts to music you can make random variations so it reacts differently every time... I find that more interesting, but if you are running some kind of stage show, you usually want the same thing every time. Just as a simple example, you can make the red lights react to the bass for awhile, and then later the blue can react to the bass. Or, I made "VU meter" that randomly reverses (going "down" instead of "up" when the music gets louder and it randomly inverts so that louder turns more LEDs off instead of on, and it's got some other variations.

And a lot of people use NeoPixels (WS2812 LEDs) which are multi-colored and addressable (and you don't need drivers or relays). But if you want to control big strings of Christmas lights or other AC powered lights, relays are the better choice.

Just to get started, take a look at my World's Simplest Lighting Effect. It's mostly just a demonstration and it's "boring" but it works well and it can be used along with other effects.

For clarification:
I'm not looking to reinvent the wheel. My background knowledge with the Aduino and Programming is very basic. Really I'm just looking to replicate someone else's project and learn from it.

However...
You bring up an interesting point about midi versus music files. I would prefer playing music files over FM transmitter and the relays respond to the music... but I thought that's what the midi controller did in Tanner Techs project (ie. convert music into midi and assign relays to ranges). Or am I missing something?

Yeah, no.

Tanner's input to the lighting system is all midi messages. The same messages that would play music if fed to a MIDI sound making device like a keyboard with MIDI control input or Roland music box.

MIDI has been hijacked for a number of interesting control applications.

I do not know of any music-to-MIDI notes translator. Assume there is something like that and still a big,project, perhaps someone has probably done it already.

The big thing about Tanner is he gives you tons of mains voltage control for switching on and off real lights… of course you could do it with Neopixels but it would be an entirely different thing.

But the sequences are all hand made, or come from prebuilt songs published as MIDI files.

a7

Well... wait a minute...
I re-watched the video and at 4:52, he has a headphone jack connected to some kind of analog board and he says that he can connect the headphone jack to his phone and the arduino will detect the beats in the music. This indicates to me that the arduino is converting music into midi. Right?

My next question is...
What is that analog board called... can I buy that somewhere? If so, where?

No. But google is your friend.

  Arduino color organ

or

   Arduino music visualizer

or

   Arduino spectrum analyzer

or well you get the idea.

You may get lucky. But more likely you will see the possibilities.

Now I see you point out 4:52 in the video. This is not converting music to MIDI by any stretch.

He is simply using the analog to digital capability of the Arduino along with some filtering, mostly in the circuit he attaches, to come up with a pulse that follows the major tempo of the music. Very simple. He uses this rhythm to make changes to the lights; he communicates those changes, or maybe just the rhythm to the downstream Arduino/relay boards.

A cheap trick. Not gonna give you lights that correspond to the melodic content of the music.

It would be a project to take a spectrum analyzer or color organ sketch and use the information it calculates to create MIDI messages. Imma bet it has been done, so more googling might turn up something.

Anything you do that isn't slavish copying of an existing hardware and software design will be a challenge, and fun no doubt.

a7

Interesting... I think color organ was the keyword I was missing.

From that keyword... I did some further Googling and found this project...

This looks like an interesting start... but instead of lighting LEDS, I'll want to swap those LEDS out with Relays in order to run my strands of Christmas lights. Am I right?

The power supply he used is more elaborate than needed, a fixed voltage supply capable of driving the relay board could be used instead.

The code for the board driving the relays only uses a single serial port, no reason you cannot use the hardware serial port on an UNO/nano for that. The sketch for taking input from the computer and sending on midi should not have problems using software serial, the speed is still fairly low, and it only sends on software serial, never attempting to receive anything.

A nano should work ok, using hardware serial for the midi would use D0 & D1, leaving D2 - D13 & A0 - A5 for I/O, more than enough for 16 relays.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.