I've had excellent results using that very circuit.<br><br>If you're running it from a single positive supply rail you need to bias the non-inverting input of the first op-amp to the same level as the incoming audio waveform. (Usually half the supply voltage.)<br><br>-Richie, <br><br>Sent from my Xperia SP on O2<br><br>---- Spiros Makris wrote ----<br><br><div dir="ltr">I have been studying some of the circuits there. I'm leaning towards those on figure 6-6A, but I will use the lm324 opamp instead (to get an output down to 0V), followed by a simple LPF (so basically increase C1 on the schematic shown below), making a very simple envelope follower. Taking the average of that is an easy task and doesn't need much speed. <div>The peak detection circuit will catch sudden noises better, though. Perhaps I could employ both, for sustained and impulsive noises, respectively.<br><div><img src="cid:ii_kcakj4aa0" alt="image.png" width="563" height="210"><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 6, 2020 at 2:58 PM Richie Burnett <<a href="mailto:rburnett@richieburnett.co.uk">rburnett@richieburnett.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Do the calculations digitally on the audio data as Tom said, if your micro is up to the job.<br>
<br>
If you have to use an analogue circuit approach because the micro isn't fast enough or draws too much current, then take a look here... <br>
<br>
<a href="https://sound-au.com/appnotes/an001.htm" rel="noreferrer" target="_blank">https://sound-au.com/appnotes/an001.htm</a><br>
<br>
This excellent web page shows many precision rectifier circuits that go a long way towards eliminating the dead band that you otherwise get using just a single rectifier diode.<br>
<br>
Good luck with your project! <br>
<br>
-Richie,<br>
<br>
<br>
Sent from my Xperia SP on O2<br>
<br>
---- Tom Wiltshire wrote ----<br>
<br>
>I’d sample the incoming audio directly at a good rate (48KHz maybe) and then do any processing on the data. Much easier to do math inside the uP, rather than outside in analog circuitry.<br>
><br>
>As to what algorithm you use to measure sound level, there are an absolute ton of them, as I discovered when I looked into VU meters.<br>
><br>
>Tom<br>
><br>
>==================<br>
> Electric Druid<br>
>Synth & Stompbox DIY<br>
>==================<br>
><br>
><br>
><br>
>> On 6 Jul 2020, at 09:18, Spiros Makris <<a href="mailto:spirosmakris92@gmail.com" target="_blank">spirosmakris92@gmail.com</a>> wrote:<br>
>> <br>
>> Hello list,<br>
>> I have to develop a small metering application for a university project. The idea behind it is to demonstrate the internet of things and how it can be used to monitor the (audio) noise levels in a room, to be used in places like studios, production facilities or even bars. <br>
>> The sensor used is a common electret type microphone, which is preamplified using a current to voltage opamp stage, based on the OPA172 amplifier. The supply voltage is 3V (same as the microcontroller), but I have the option of 5, 9 or even 12V if needed (only unipolar, though.) Then, this amplified signal needs to be converted to a measurement that will somehow relate to "how loud" the sounds are. Accurate SPL measurements are not required (although they would sure be nice if this was a commercial application). I may have access to a measuring microphone in order to calibrate this when I'm done. I'm using an ESP32 board and its onboard ADC.<br>
>> <br>
>> I first tried to use the RMS Arduino library, which measures an AC signal coming into any analogue pin (no external processing, other than prequalification). I couldn't get it to show any coherent readings - I'm not sure if this is due to the sample number or sampling period I'm using. Making an RMS calculation method from scratch wasn't much better either - the variations I could detect were (or seemed to be) minuscule - definitely not enough to be meaningful in this application.<br>
>> I'm now trying a more analogue approach: the preamp signal is passed through a Schottky diode, connected to a large capacitor. A transistor is placed parallel to the capacitor, to be used as a reset switch (controlled by the processor).<br>
>> <image.png><br>
>> I have tried AC coupling and DC coupling the input - both methods work (DC coupled version is shown). When the input goes over the threshold of the diode, the capacitor is charged (with a pretty large current), and the droop rate is small enough to measure it with the controller, then reset it, to take another measurement. So far so good, but I need some way of eliminating that 0.3V threshold.<br>
>> <image.png><br>
>> The graph is taken from the AC coupled version (but is identical to the DC-coupled one, save for some DC offset). The X-axis shows the input amplitude and the Y-axis shows the capacitor's final voltage.<br>
>> The ESP32 has adjustable attenuation for the ADC - the maximum range can be adjusted to ~1.3V, ~2.5V and ~3.3V (approximate values). The resolution is 12bits.<br>
>> <br>
>> I thought of using a rail to rail opamp to make an ideal diode - however, I only have a SOIC8 version of an OPA172 and no time to print a PCB. Perhaps I can source adapters quickly though - is there a single opamp circuit that could help me?<br>
>> I can also mess around with the preamplifier stage, adjusting the dc bias or gain. <br>
>> I'm kinda stuck. Any ideas?<br>
>> <br>
>> <br>
>> <br>
>> _______________________________________________<br>
>> Synth-diy mailing list<br>
>> <a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
>> <a href="http://synth-diy.org/mailman/listinfo/synth-diy" rel="noreferrer" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>
><br>
><br>
>_______________________________________________<br>
>Synth-diy mailing list<br>
><a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
><a href="http://synth-diy.org/mailman/listinfo/synth-diy" rel="noreferrer" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>
</blockquote></div>