This is how to make a Magical Music Box which converts sound into a light show. When i was daydreaming what to make, i wanted something that would make a light show for any song simply by hearing it.

(include a video here)

Real simply, i used a microphone circuit for input, amplified it, ran it threw a potentiometer so i could control how senstive it was to ambient noise then split it into 3 band pass filters to tune out other frequencies then used that as an input for my arduino. A simple conditional based on that input controlled 6 digital out pins with each pin connected to a single input on 2 separate red, green, blue LED’s. So since each LED has 3 inputs, thats 6 pins to control 4 RGB LED’s.

I ran everything off of 2 nine volt batteries, one as +9v and the other as -9v. I included a simple power schematic. I used the arduino for all my grounds.

This is your overall shopping list. In each section i will let you know what parts you need from this list but don't get confused and think you need more parts. This is the complete listing of all parts needed to make this project. 

NOTE: if you make changes to the parts list, i'll try to detail how this affects the overall process in each section but no promises on the end result if you do

Materials used:
1x arduino (of any type, the code is pretty light stuff)
8x 1k ohm resistors
5x 10k ohm
7x 560 ohm
3x 150 ohm
1x Potentionmeter
4x RGB LED’s
8x 0.1 uF ceramic capacitors (this saves you trouble later since you don't have to worry                        about anodes and cathodes on these types of capacitors)
2x LM358N op amps
1x LM386 Audio Amp
1x microphone sensor
2x 9v batteries with battery holders
approx 2 miles of wire (just kidding but it seemed like a lot)
some kicking music to show off with

Step 1: Microphone circuit

This is a simple microphone circuit. I got this part of the over all schematic from whyameye. For this section, you will need:

LM386 audio amp
0.1 uF capacitors x3
47 uF capacitro x1
Microphone sensor x1
10k Ohm resistor x1
1k Ohm resistor x1

In the schematic below, i've marked off the top left corner and if you mouse over it, it will say its the mic circuit. This is the section we will be building.  First, find a section of bread board with at least 8 rows open on both sides. Since the LM386 takes up 4 rows center it in the open section you select.. This leaves 2 rows on either side that you will need later.

(include a picture of the amp centered on the open section of bread board)

Now, before we can put anything else on the bread board, we need to find out which side is the "top". The audio amp will have a small cut out shape on one end. Mine was a half circle.  If you did it just as i have, then pins 1 and 8 will be in row 3 of the breadboard. If you did it differently for whatever reason, just be sure to adjust for that when i refer to specific rows later.

(include picture here of this far in the process)

- Connect pins 2 and 4 to ground. Pin 6 connects to +5v.
- Connect pins 1 and 8 together with your 47uF capacitor, making sure the anode (the longer lead) is connected to pin 1.

(another picture)

- Connect one side of a 0.1 uF capacitor to pin 3 and the other to row 2 on the left side of the bread board
- Connect one side of the 10k Ohm resistor to row 2 and the other side side to +5v.
- Connect the left side of row 1 on your bread board to ground.
- Connect the anode of your microphone circuit to row 2 on the left side of the bread board and the cathode to row 1, also left side.

(another picture)

- Connect one side of a 0.1uF capacitor to pin 6 and the other to row 7 right side.
- Connect row 7 right side to ground
- Connect one side of a 0.1 uF capacitor to pin 6 and the other to row 8 right side.
- Connect one side of a 1k resistor to row 8 right side and the other to ground.

(another picture)

Row 8 right side on your bread board is your out put for your microphone circuit.

I feel that testing during creation is important to make sure you are getting an expected result. I'll cover that in the next step. 
You can use a larger power supply (say 18VDC) for your two voltages, and a pair of identical resistors to create the virtual ground halfway in between. This is called a virtual ground. <br> <br>You need to make sure your power supply is isolated from ground, but this is usually the case. Ideally chose a power supply that does not have a grounded line cord. <br> <br>Of course since the current draw through the resistors will vary the voltage, it's not ideal, but assuming that high fidelity is not a goal it should be close enough. You'll need to size the resistors properly for proper power dissipation and minimal voltage change. You can use a voltage follower to improve things. There is much discussion on the web, e.g. http://tangentsoft.net/elec/vgrounds.html. Thanks again!
oops I just noticed that someone already suggested this a few comments down.
Very useful project that should be very popular. I plan to build one. Can you confirm that you did build the device? The points where it says &quot;include picture ...&quot; leads me to wonder if you did actually get that far. The reason I ask is that filter design can be quite tricky. Thanks!
I actually made it for a school project before i made the instructable. I wrote the instructable for pictures to be inserted because i intended to make another one with improvements i thought of after making hte first one, Sadly, i never have.
Nice instructable, I was contemplating something similar just to trigger stuff for bass, mid and high end aspects, a VU meter basically. I was just going to use simple RC circuits though. :P<br><br>As for the laptop power circuit, look into virtual ground circuits. The basic idea is using a voltage divider and using where the resistors meet, this becomes your virtual ground then you take your + from the top resistor and the - from your bottom resistor. I'v attached an image to give you an idea. Don't rely on these values though, but both resistors and both capacitors must have equal values.<br><br>:)
great instructable can't wait to see a video :)

About This Instructable


10 favorites


More by nickinoki:
Add instructable to: