EEVblog Electronics Community Forum
Electronics => Beginners => Topic started by: danshtr on June 24, 2016, 07:35:56 pm
-
Hi All,
After hours of fun, making music organ (http://i.imgur.com/xoPeUCe.gifv), it was time to test it out at an EDM festival 8).
Turns out, there where several stages, and my beat detector didn't worked. It works perfectly good at home, but failed out of the lab... :palm:.
I think it didn't worked because one of the two (but mind you, there is a reason why I posted this at a beginner section...):
- There were several sources of music
- The music was too loud
Here are the details of the project:
- I used Electret Microphone Amplifier - MAX4466 with Adjustable Gain https://www.adafruit.com/products/1063 (https://www.adafruit.com/products/1063)
- I used MSGEQ7 to detect 63Hz peaks, about every 30ms https://www.sparkfun.com/products/10468 (https://www.sparkfun.com/products/10468)
The way I show the beat is by setting the brightness level relative to the average reading from the MSGEQ7, so when the bass is stronger, the LEDs will be brighter.
Any suggestions?
Thanks!
-
I think you need to look at the signal chain with a scope, putting my analogue head on that's what I would do.
There were several sources of music, The music was too loud
That makes a lot of sense, you might want to try a low pass filter after the mic preamp to stop the higher frequencies, electrets have a better response at higher frequencies. However, I have seen electret capsules used in barometric pressure sensor alarms but they were very very heavilly filtered, silly design like 470uF cap shunting the output of an op-amp sort of thing. Low pass filtering is worth trying.
-
Isn't MSGEQ7 doing the filtering for me? (not a suggestive question)
https://www.sparkfun.com/datasheets/Components/General/MSGEQ7.pdf (https://www.sparkfun.com/datasheets/Components/General/MSGEQ7.pdf)
-
You said, "my beat detector didn't worked" but you did not say what it did. Did the LEDs not light? Did the LEDs light all the time?
The mic preamp gain might not be enough. The frequency response of the mic is good but Sparkfun does not show if their mic preamp passes low frequencies.
The MSGEQ7 is a bandpass IC with 7 bandpass frequencies. Its output multiplexes its frequencies. How do you separate 63Hz from all its other bandpass frequencies?
No circuit schematic is shown for your circuit and no LED driver circuit is shown.
-
The LED was very jittery, almost constant on.
The MSGEQ7 has a strobe pin and a reset pin, that setting them on and off, in timed sequences, sets the output pin to output the peak of a specific band (0 to vcc volt).
What I did noticed in my testing is that the higher the volume is, the higher the average level, which limits the output voltage range.
I wish I could somehow "lower" the output from the MAX4466 when the sound is loud. Some circuit between the MAX4466 output and the MSGEQ7 input, that the more loud the output is the more the circuit lower it.
-
you could use a slow automatic gain loop, so as you enter a noisier area, the device needs a bigger peak to trigger,
-
+1 on automatic gain control if it has to operate under varying conditions without human intervention.
-
The Chinglish on the MSGEQ7 datasheet is awful.
1) After the IC is powered make a Reset High pulse then leave it low.
2) I guess that Strobe should be high then when it goes low for the first time the output of the IC is the 63Hz bandpass. Leave it like that for the output to remain at 63Hz bandpass.
You are wrongly resetting it and strobing it. Each time Strobe goes low its output plays the next bandpass frequency.
It is normal for it to produce a higher output level when its input level is higher. It is analog.