COMMUNITY : FORUMS : TECH


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!!

HQ

caitlinsdad says: Mar 22, 2013. 2:55 PM
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.
miken277 says: Mar 22, 2013. 1:07 PM
Also interested in doing this. Please let me know at miken two seven seven at geemail if you proceed.
LaserDave says: Mar 26, 2012. 9:50 AM
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.

~LaserDave~


Kiteman says: Feb 29, 2012. 1:22 AM
Bump!
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!