Pages: [1]   Go Down
Author Topic: Audio Input  (Read 617 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi All,

I'm attempting to make a spectrum equaliser,  but having some problems and wondered if I've done something wrong.
 
I'm using this (https://www.sparkfun.com/products/9964)  which is a microphone and opamp combined.  It's connected to vcc, gnd and analog0.  I've tried 5v and 3.3v from the arduino, and connected 3.3v to AREF but nothing seems to make any difference.  The output is almost just random.  I increases slightly when I clap, but only by maybe 20% or so.

Following the instructions in the thread on sparkfun, I've tried samping fast for 50ms, and then using the difference between the max and min, but this value seems pretty random.  I'm also trying a FFT library (http://www.openmusiclabs.com/2012/08/arduino-fft-get-your-freq-on/), which has a Puredata patch so you can see the output.  I've attached a screenshot of the output when there is silence.  The FFT shape changes slightly when I clap, but it's not a significant change.

Have I missed something, or could this microphone just not be any good? It's really frustrating!


* Untitled.png (52.51 KB, 740x541 - viewed 17 times.)
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34528
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I'm attempting to make a spectrum equaliser
I bet you are not, there is no such thing. Spectrum display - yes, graphics equaliser - yes spectrum equaliser - no

Quote
Following the instructions in the thread on sparkfun, I've tried samping fast for 50ms, and then using the difference between the max and min, but this value seems pretty random.
That is for detecting the envelope, you want the real signal.

Quote
and connected 3.3v to AREF
Doh!
http://arduino.cc/en/Reference/AnalogReference
Says:-
Quote
If you're using an external reference on the AREF pin, you must set the analog reference to EXTERNAL before calling analogRead(). Otherwise, you will short together the active reference voltage (internally generated) and the AREF pin, possibly damaging the microcontroller on your Arduino board.

With only a X100 gain it looks like it is not enough. I would couple it in like in this page:-
http://interface.khm.de/index.php/labor/experimente/arduino-realtime-audio-processing/
Logged

Pages: [1]   Go Up
Jump to: