11 band audio visualizer

Im working on a 11 band visualizer that uses an 11x9 LED matrix to display the bands. I have the LEDs figured out (565 shift registers with PNP and NPN transistors to power the columns and rows for multiplexing), but i need to figure out how to analyze the audio. I know of the MSGEQ7, how ever that is only 7 bands. I also thought of using processing and the minim library + FFT but id like something that doesn't need a computer to work.

Next i found some graphic equalizer schematics based on the TL074 such as the one below.


I should be able remove the pots (which recombine the audio bands back into one) and connect each opamp to an analog input on an Arduino and from there be able to read the magnitude of each band, correct? if so, the problem is I don't have 11 analog inputs. So, is there some sort of shift register like the 74hc164 that does analog instead of digital inputs? Or any chip that can cycle though inputs for that matter.

Finally, thanks to this page Simple, Easy Parametric and Graphic EQ's, Plus Peaks and Notches ive sort of figured out how to calculate the capacitance values to set the frequency range. This is what i was thinking of: 20,40,60,100,300,500,1k,2k,4k,9k,18k

so, what do you think?

and connect each opamp to an analog input on an Arduino and from there be able to read the magnitude of each band, correct?

No.
You will get the audio waveform. To get the magnitude of and audio waveform you will need a peak detector.

So, is there some sort of shift register like the 74hc164 that does analog instead of digital inputs?

Yes it is called an analogue multiplexer. This project uses two of them to give you 16 inputs on an arduino.
http://www.thebox.myzen.co.uk/Hardware/MIDI_Footsteps.html

maybe magnitude was the wrong word, would it work as intended though? Or what would you recommend to get those 11 bands?

ill look into the multiplexer, thanks.

maybe magnitude was the wrong word,

No, I would think it was the right word. You want a signal that is something to do with the loudness at that frequency.

would it work as intended though

Well those are only second order filters so you are not going to get very much separation anyway.

Ive been researching the last few hours and stumbled upon circuitlab.com which should allow me to fine tune this circuit. Im getting all excited just thinking about using it.

here is the test of the 20Hz band pass and peak detector (files attached). graph was produced with a 1Hz to 20khz sweep. Band pass definitely needs some tweaking, but this program will be a HUGE help in designing this.

I totally admit this stuff is a bit over my head, but with this program and some reading i think ill be able to see this through!

here is the test of the 20Hz band pass and peak detector (files attached). graph was produced with a 1Hz to 20khz sweep. Band pass definitely needs some tweaking, but this program will be a HUGE help in designing this

What you are looking for is a bandpass filter (actually, you need 11 bandpass filters). I found [u]this website[/u]. The Q of the filter determines how narrow the pass-band is.

The [u]The Active Filter Cookbook[/u] has been around since before the Internet if you can't find what you're looking for on the Internet, or if you can't understand what you're finding on the Net.


I've never made any frequency-related effects, but I've built a few sound activated lighting effects. One my "tricks" is to save a reading once a second and keep a 20-second moving average and use that as my reference (a software reference). That way, it auto-adjusts to volume changes or loud/quiet songs. Depending on the particular effect, I use the average value or the peak value in the array. I also automatically switch between the 1.1V & 5V ADC ranges. (That means I have to re-scale the data in the moving average array.) You might even want to have 11 references for lots of "action" in each band. (That's all easy compared to the hardware.)

yeah i know i need 11 haha, i just hadn't gotten to the copy+paste as i wanted to test one first. i also found that site. its what lead me to use the Multi feedback band pass filters and was extremely useful for understand all this stuff. i found a calculator for the bandpass here: Multiple Feedback Band-pass Filter Design Tool
im currently putting in cap/resistor values to the scheme and finding the best Q value.

also, good tip on the reference voltage. that would make an easy way of getting the full 0-1023 range in software.

attached is the graphed output of four of the bands. top is the peak detector output (thanks to a EEVblog video for the design) and the bottom is the output from just the bandpass filter.

here is the link to the design audio visualizer - CircuitLab

Just before you get too excited you have a linear / log plot there. To get an idea of what it will sound like the voltage needs plotting as a log scale as well. When you do that the filters will not look as good but will be more realistic of the effect you will get.

did a bit more work after some fireworks :D. the BP filter graph looks good, but the peak detection is weird even though its the same circuit copied + paste.

top image is the log plot and the bottom is just a regular linear one. in each image top is the peak detection, lower is after the bandpass. These are with a Q value of 7.