MSGEQ7 notes: Difference between revisions
Jump to navigation
Jump to search
(Created page with "<!-- Detects the peaks in seven frequency bands, puts the on an output pin in a round-robin way, Each band-select decays the value by 10%. In other words, if you read out all...") |
mNo edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
<!-- | <!-- | ||
Has seven bandpass filters (with filter peak at 63 Hz, 160 Hz, 400 Hz, 1,000 Hz, 2,500 Hz, 6,250 Hz, and 16,000 Hz), and does amplitude peak detection in each. | |||
: You need a resistor+capacitor to determine the speed of the internal oscillator. | |||
: The values in the spec sheet (200kOhm, 0.1uF) seem required for the frequency bands to be as in the spec. | |||
So, basically a rough spectrum analyser. | So, basically a rough spectrum analyser. | ||
Each band-select decays the value by 10%{{verify}}. | |||
In other words, if you read out all values you get a relatively slow release. | |||
This is effectively a feature that intends to makes peaks a little more apparent. | |||
The most interesting pins for | The most interesting pins for use are | ||
: In | : In (analog sound) | ||
: reset | : reset | ||
: strobe | : strobe | ||
: out | : out (analog level) | ||
:: which of the seven bands is currently being output is related to what you did on reset+strobe | |||
An AC coupling capacitor in audio input is also a good idea, | |||
as is bypassing noise on Vcc and Gnd. | |||
(there are some boards that are mostly those components) | |||
'''Readout''' is: | |||
Readout is: | |||
# reset for >0.1µs | # reset for >0.1µs | ||
# wait for >72µs | # wait for >72µs | ||
Line 34: | Line 42: | ||
# go back too 3 | # go back too 3 | ||
So can be read out under 1ms | So can be read out in under 1ms | ||
You can keep cycling through all the bins. | You can keep cycling through all the bins. | ||
Reset isn't necessary to do again. {{verify}} | Reset isn't necessary to do again. {{verify}} | ||
"Can I use this for frequency detection?" | |||
Not well at all. | |||
If you want an intuition why, get Friture and ensure you have panel: | |||
* Octave spectrum | |||
* FFT with 16kpoints | |||
Or alternatively | |||
* FFT with 256 kpoints | |||
* FFT with 16kpoints | |||
They're doing comparable things, but the 16kpoints FFT pinpoints fairly well, | |||
while | |||
Things with overtones are even worse - if you can manage to feed in a square wave, note how the octave spectrum barely distinguishes anymore | |||
Line 44: | Line 73: | ||
<!-- | <!-- | ||
https://www. | https://www.mix-sig.com/images/datasheets/MSGEQ7.pdf | ||
TODO: read | |||
https://rheingoldheavy.com/msgeq7-arduino-tutorial-01-getting-started/ | * https://www.eetimes.com/author.asp?section_id=216&doc_id=1323030# | ||
* https://rheingoldheavy.com/msgeq7-arduino-tutorial-01-getting-started/ | |||
https://www.hackster.io/PhilKey/rgb-backlight-msgeq7-audio-visualizer-e0054e | * https://www.hackster.io/PhilKey/rgb-backlight-msgeq7-audio-visualizer-e0054e | ||
* https://os.mbed.com/users/chrisisthefish/code/MSGEQ7/ | |||
* https://os.mbed.com/components/MSGEQ7/ |
Latest revision as of 15:36, 30 May 2024