Instructables

Computer-controlled music-synchronized Flashing Christmas Tree Lights

Featured
Use solid-state relays to blink the lights on your Christmas tree in time with music. Also good for Halloween haunted houses.


 
Remove these adsRemove these ads by Signing Up

Step 1: Acquire and Set Up a Christmas Tree

Get a nice large, healthy tree set up in front of your biggest windows. See How to Pick and Decorate a Christmas Tree for more details.

Step 2: Add lights

String lots of lights onto the tree. Use as many sets as you like, but arrange them such that there are three light regions, each with a separate plug. Run these three plugs down the trunk so they can easily be attached to the light controller. Up to three strings of lights can usually be linked in series, so you can almost certainly cover even big trees.

Step 3: Hook me up

Plug light strings into the controller you built for Halloween: http://www.instructables.com/id/Solid-state-Halloween-controller-and-how-to-build-/ Attach computer and sound system. Select high-quality Christmas music and sync the lights with a winamp plugin: http://www.8-legs.org/ewilhelm/projects/2.165/index.html

Step 4: Run with it

Fire up the music, and treat your friends, family, and entire neighborhood to a great light now. If you really want to share, hook the music up to your outside speaker system and make the house shake in time to the music.
electronguy8 years ago
I built a digital color organ beat detector by creating two RC integrators per channel, with the time constant of each integrator set slightly longer than the other. These two "average" signals were fed to a comparator. The audio level charges the longer RC integrator to a more average level than the RCI with the shorter RCI, allowing peaks and changes in the signal to trip the comparator. It works like a champ for any kind of music.
beco_lr.jpg
dan electronguy5 years ago
what time constants did you use on the RC circuits? did you put a lowpass filter in front of them? and i guess you put a diode to half-wave rectify before the RC circuit?
moordere5 years ago
You can also use vixen to control the lights it's free and easy to use. to get it click here
8.gif
mooch915 years ago
Can you send me one please because I have Cerebral Palsy so I can't wire please send me one for the holidays? Thank, Mike
thegeeke5 years ago
Anybody know how to run this from dos? My laptop has a system that I biult on it 'cause it wouldn't let me load any other system that I had onto it when it crashed, but it runs from dos. If you can get the windows commands, I can translate it into my system.
cooldog5 years ago
what winamp plugin did you use
RJ16 years ago
If you want to build some really nice DMX based stuff for christmas lights check out the site www.diylightanimation.com for neat diy stuff.
what song was playing in the first third of your video? TGT
canida (author)  THE_GEEK20076 years ago
It's Bing Crosby singing Happy Holidays, remixed.
Song #2 on Christmas Re-Grooved.
JonWindsor6 years ago
Does anyone know who the band was, or where I can find, the Techno Nutcracker CD? I can't remember the CD title or the band. I know the whole suite was done techno style and Sugar Plum Fairy really kicked, but that's it. Thanks Jon
hi7 years ago
i dont have a 25 prong in my laptop
brian20127 years ago
Hey, i have a few qusetions, first of all where can i eather buy or find instructions on how to build the controler, and when and if i get one is there some kind of program to run it i need to download. Thanks!
floydigus8 years ago
This inspired me to have a go myself. I had already built a parallel port 8 relay board from a kit (K174 from ozitronics.com) for controlling a heater to keep my homebrew warm. The thought had occurred to me to use it for some kind of christmas lights, but not for a tree.
Long story short, I bought 5 sets of lights and a light-up star. Wired it all up and got it so I could turn the individual light sets on and off. Kind of fun, but not too impressive. I found a winamp plugin, ready rolled, that was designed to control 8 leds from the parallel port (a la http://forums.majorgeeks.com/showthread.php?t=77923). It just worked - everyone agreed it was one of the funniest things they had ever seen when I had it grooving to Love's Theme by Barry White.
adam_b8 years ago
Using a laptop to control lights is a tad silly. an LM3915n chip will do the EXACT same, without needing a laptop, or dirivers, or winamp lugin or anything. and it's easy as heck to wire up. you can route the 3.5mm jack into the chip, and then connect the relays to turn the lights on/off into the output pins of the chip. lots of free tutorials on how to do it via google.
ewilhelm adam_b8 years ago
The plugin does beat detection using finite difference on a window of frequencies in the FFT. The effect didn't look good when it synced the lights only to the audio level. I'm not smart enough to figure out a way to do beat detection without a computer. Post an instructable to show me how!
unterhausen8 years ago
there is a driver called genport that allows you to manipulate i/o ports under newer versions of windows.

However, if all you are doing is writing to the data bits of the parport, i.e. you need less than 8 bits of output, just open the standard parallel port driver and write to it. I use that for an experiment at work. If you need to read, use the control bits, or use irq's it ain't going to work.
Open the parallel port, windows considers it a file:
hndFile = CreateFile( "\\\\.\\LPT1", // Open the Parallel port
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL
);
Write to the parallel port:
WriteFile(hndFile,OutByte,1,&NoBytes,NULL);
ewilhelm8 years ago
The Winamp plugin used here only works on Win98. Could someone, who can actually program, help me update it to XP using inpout32.dll (http://www.logix4u.net/inpout32.htm)? The source code was written in Visual C++ 5 and is available on the same page as the plugin.