audio / light frequency matched color organ

Hi there, this is my first time to the forum!

I've been doing some searching, as I would like to build a colour organ but further differentiate b/w audio frequencies and the circuit they trigger. Bascially, I would like to take an audio signal (preferably from a mic) and use it to trigger lights based on musical notes. So basically, every A (...110 Hz, 220 Hz, 440 Hz...) would light up a certain circuit, and on for all 12 notes of the musical scale. Of course, I would not limit the response to only 440 Hz for example but slide it to the edge of the adjacent notes' frequency, with 440 Hz occupying the median.

So, I'm wondering what components are necessary to make this happen. In a recent DIY project I saw there is rough split between 3 frequency ranges (bass, mid, treble). If I were to approach it with the same design concept, I would need (8 octaves for example, at 12 notes each) 96 different circuits to run. I'm not opposed to using a PC with some kind of digital signal processing to take the place of these circuits. Also, I want to run the lights on 120 V power for non-LED lights.

My experience in circuit building is nil, but I've consulted circuitry diagrams before for other reasons, so I'm not totally green. I'm computer savvy but only to a certain extent. Not much programming experience save for a 1st year university course.
I have an analog to digital convertor, but that's it for components. 

Once I have the digital signal in, where do I go from there?  I'm assuming I will need some kind of software to convert via fourier transform to a frequency domain signal then filter all the frequency ranges from there.  I assume I would have a digital out signal to a switching circuit board with 12 outs to control the power supply to the lights. 

Can anyone point me in the right direction? 

Many thanks!!


sort by: active | newest | oldest
jduffy543 years ago
Not sure if this was answered sufficiently yet, so I thought I'd put in my two cents.
I have made a few color organs, even including 3-channel bar graphs and some other basic stuff. Nothing particularly fancy or special, but it works.

I would use the circuit at this site, on step 4:
I didn't make a particulary good drawing of the circuit, but it's fairly simple. It can be expanded indefinately, just by altering the resistor and capacitor values to the frequency you need. The circuit itself is pretty quick to make once you've established and aquired the right values.
miken2773 years ago
I'm keen to get working on a design for this super color organ - but I know very little about software, only somewhat more about electronics. Forgive me if this sounds like overkill - what about using 3W Cree lighting leds of every color, from 400nm to 700, (perhaps including some near UV and near IR) with 5nm increments? There are some frequency gaps, of course, which would have to be filled with LEDs from other companies. Would it be possible to use a computer running software like Sonic Visualizer, to simplify the freqency analyzing? Given this power level, what type of switching mechanism would be needed, as there will need to be a dimming function as well, to deal with representing volume changes. Thanks.
caitlinsdad4 years ago
Just a thought on whatever purpose you intending to use this...just like an eletronic guitar tuner picks up the note and distinguishes what it is, it gets messed up/confused as soon as any other noise or guitar string is hit. The engineers here would have to say if there is anything that could be designed to break down a chord by listening to it and that might be complex. I would assume that is why color organs just break down bands or ranges of sound and your idea would only work well with a solo instrument. Good luck.
miken2774 years ago
Also interested in doing this. Please let me know at miken two seven seven at geemail if you proceed.
LaserDave5 years ago
Hi HQ,

I'm afraid that my comments here will not be quite enough to satisfy your question, but may help with choosing the direction to pursue.

This "frequency sorting" requirement used to be done with analogue filters using resistance/capacitance circuits to trigger SCR devices. The problems with this approach were many, but the biggest two were the lack of precision since all frequencies were divided into one of three groups, and the fact that SCRs only pass DC, allowing only half of the power to reach the lights. (The work around was to rectify the AC, but only for incandescent lights) Although TRIACS would be the best choice, they could not be fed enough current from the analogue circuitry to trigger them, so SCRs were used because the triggers are far more sensitive (eg: T106B devices) This played REAL havoc when trying to run lights containing transformers such as pinspots, they turned into nasty smoke-machines. (looked great for a while, smelled awful)

Enough history. Nowadays there are much better solutinos for doing this, and a PC is exactly what you would need. BUT, you can use a PC on a much smaller scale with almost as much power - these are called "microcontrollers", and they are only a few bucks each!! The only drawback is that you need to write software for them to run, and that's where my abilities drop off. Although I *can* program in Assembler and MPLab BASIC, my problems come from the mathematical gymnastics required for all of the formulas and arguments in the software.

In general, what you need to do is start with a small pre-amp for the mic and run the output through a variable resistor (volume control) and send that output into the analogue input of the microcontroller (uC). The software will then sample and analyze the frequencies on that port and divide them into groups according to your specifications, outputting the results on the I/O pins (input/output) as required. If you need 96 outputs, all you would need to do is spit out the results on the I/O pins in binary and decode them with external circuitry to "break out" individual channels for hookup to your output deices (Triacs, Solid-state Relays, MOSFETS, etc) to run your lights.

Alternatively, you could output serial data from the uC and decode that stream with the external circuitry using multiplexing to minimise the extra components. So rather than needing 96 individual circuits, you'd use one microcontroller, a few decoder and buffer chips, and finally your choice of output devices. I envision a small 4-inch by 4-inch main board, and two or three of the same sized interconnected daughter boards for the outputs and the hookup terminal strips. Total project cost would be less than $80 not including the program, PC boards or the output switching devices you choose.

The largest expense would be to have a software guru design a program for the chip. If you are not comfortable or interested in making your own PCBs (printed circuit board) then you would need to hire that out too. Programmers can be found easily through online forums such as Instructables, DIY sites, or even Microcontroller sites such as MicroChip, makers of the famous "PIC". They are everywhere now and all to pleased to work on projects like this for a reasonable fee. Good choices for microcontrollers are (in order of my personal preference) the PICs, Arduino, or Arduino clones...but there are others. Each programmer you encounter will have a chip preference that he specialises in, so it may help to get quotes from a few programmers and use whichever they recommend for this purpose.

Hope this helps. If you have further questions or need clarification on something feel free to send me a note.


Kiteman5 years ago