First project, audio visualization.
Hi, I'm still very new to pic programming (and am still waiting for my programmer to arrive), for a first project I want to do something like this audio spectrum display:https://www.youtube.com/watch?v=lWTPD4bjHms
Very cool looking
I'm thinking of using 74154 4:16bit decoders one for the column select and the other to select a row. To have the option of selecting "bar mode" or "dot mode" I could use two independent row decoders with different wirings. And probably I'd have to buffer each output because I'm sure the decoder can't handle 16 leds(about 320mA?!).
My question relies in the processing/pic part. The guy in the video says he used band pass filters, I'm shure i'll find out how to do that with opamps. The filters can range from 30Hz to about 18Khz, probably evenly spaced between this.
Then comes the tricky part, what next? How do I get this all into a pic?
For this job I have a 16F917 with a ADC (also have a 16f59, no ADC). How can I multiplex the filter's outputs to the PIC's ADC? With a counter in the mux's select lines so the pics ports are free?
The discription in youtube says "The audio information is then digitized and converted to linear,1,2 or 3 db logarithmic scales." I don't understand this, if it is converted to a logarithmic scale it is logarithmic not linear, right? And what do the 1,2 or 3dB mean?
I know I have to use a logarithmic scale because I'm dealing with sound, so I should first convert the ADC's output(X) using something like 20logX (I assume there is an algorithm to do this
), then how should I distribuite the result to the 16 available levels?
Regarding the PIC's speed (and its ADC), will it be fast to get a good refresh rate?
If I use a multiplexer and a counter as I described above, I imagine there will be timing issues any idea how can i synchronize both? Or maybe i could use just one of the pics output pins to serve as a clock for the counter, that seems a good idea. I wanted to free up as much pins as I can because i wanted to have 32 colums(5bits needed and 32 band pass filters!!! That's a lot of opamps...) And have some kind of external controls, maybe even a LCD since the 16f917 has that function.
Thanks for the help and sorry about the confusing english. And thanks for the tutorials Nigel i've only reached the switch ones but they are very good!
Hi, I'm still very new to pic programming (and am still waiting for my programmer to arrive), for a first project I want to do something like this audio spectrum display:https://www.youtube.com/watch?v=lWTPD4bjHms
Very cool looking
I'm thinking of using 74154 4:16bit decoders one for the column select and the other to select a row. To have the option of selecting "bar mode" or "dot mode" I could use two independent row decoders with different wirings. And probably I'd have to buffer each output because I'm sure the decoder can't handle 16 leds(about 320mA?!).
My question relies in the processing/pic part. The guy in the video says he used band pass filters, I'm shure i'll find out how to do that with opamps. The filters can range from 30Hz to about 18Khz, probably evenly spaced between this.
Then comes the tricky part, what next? How do I get this all into a pic?
For this job I have a 16F917 with a ADC (also have a 16f59, no ADC). How can I multiplex the filter's outputs to the PIC's ADC? With a counter in the mux's select lines so the pics ports are free?
The discription in youtube says "The audio information is then digitized and converted to linear,1,2 or 3 db logarithmic scales." I don't understand this, if it is converted to a logarithmic scale it is logarithmic not linear, right? And what do the 1,2 or 3dB mean?
I know I have to use a logarithmic scale because I'm dealing with sound, so I should first convert the ADC's output(X) using something like 20logX (I assume there is an algorithm to do this
Regarding the PIC's speed (and its ADC), will it be fast to get a good refresh rate?
If I use a multiplexer and a counter as I described above, I imagine there will be timing issues any idea how can i synchronize both? Or maybe i could use just one of the pics output pins to serve as a clock for the counter, that seems a good idea. I wanted to free up as much pins as I can because i wanted to have 32 colums(5bits needed and 32 band pass filters!!! That's a lot of opamps...) And have some kind of external controls, maybe even a LCD since the 16f917 has that function.
Thanks for the help and sorry about the confusing english. And thanks for the tutorials Nigel i've only reached the switch ones but they are very good!
Last edited: