MSGEQ7 notes: Difference between revisions

From Helpful
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:
<!--
<!--
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%.
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.
In other words, if you read out all values you get a relatively slow release,
: You need a resistor+capacitor to determine the speed of the internal oscillator.
making peaks/content more apparent.
: 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 you are  
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


The rest are basic setup with some filtering
An AC coupling capacitor in audio input is also a good idea,
as is bypassing noise on Vcc and Gnd.


The resistor+capacitor determine the speed of the internal oscillator.
(there are some boards that are mostly those components)
The values in the spec sheet seem required for the frequency bands to be as in the spec.






 
'''Readout''' is:
Readout is:
# reset for >0.1&micro;s
# reset for >0.1&micro;s
# wait for >72&micro;s  
# wait for >72&micro;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.eetimes.com/author.asp?section_id=216&doc_id=1323030#
https://www.mix-sig.com/images/datasheets/MSGEQ7.pdf


https://os.mbed.com/components/MSGEQ7/


https://os.mbed.com/users/chrisisthefish/code/MSGEQ7/
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