Loudness Meter - Arduino / Teensy / ESP8266

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

dasvars

New member
Joined
Apr 19, 2018
Messages
1
Hello Everyone,

I'm thinking of building a Loudness Meter based on an Arduino/Teensy/ESP 8266 with graphical feedback via a webserver.
Something like a cheap version of a RTW.

What do you think. Is that possible and if it is, can you give me any tips which Platform I should start with?

Thanks 🙏
 
A microcontroller won't be powerful enough or have the necessary functionality (display).

You would need something more like a Raspberry Pi.
 
squarewave said:
A microcontroller won't be powerful enough or have the necessary functionality (display).

You would need something more like a Raspberry Pi.

Some µC should, a Cortex M4 should be enough as it has some DSP functionalities and they are fast enough, at least to make a good approximation of standard loudness estimation. Assuming 12bit ADCs are good enough for the expected dynamic range.

Also, for the Raspberry you need an external ADC or feed the data digitally, which is kind of a pita for a fast and dirty project. Programing in python might be a good thing for a beginner (or not if it's used to arduino and never touched python)

JS
 
Something like this is never going to come out awesome on the first pass. So you might as well do something relatively simple and then it will become clear what really matters (DSP, ADC bitwidth, ...) and how to actually do it really well. Then take a second pass at it and make it awesome.

So I'm not sure you need proper DSP for this. But if you want the display to be even vaguely good, you're going to need more memory. Maybe a uC would work if the display shield had it's own memory. There are so many boards and shields out there that there is probably something that is pretty close to the form factor you want already. Something like a "tablet" with a small color OLED display and a board on the backside. And I don't know if you need a 12 bit ADC because the display isn't going to be that big anyway. So 10bits might be fine if that's what comes with the board.

Although if I were doing this I would definitely want a decent FFT/bode plot in which case you probably would need DSP and a higher res ADC.
 
  I've done a Vu meter here (just for kicks) with a 10bit ADC in a arduino nano, for me it worked good enough for the expected dynamic range. I guess for loudness you do want FFT and processing so that kind of µC wouldn't be good enough but an easy to get M3 (like STM32F103, 2*12bit ADCs 72MHz clock and some other toys) might be good enough or an M4 (with the addition of MAC instructions and added memory) must be good enough.

  Come'on, nowdays electronic seat position controllers in cars have M3 or M4 µC!!!!

JS
 
It seems everyone is thinking that the first step is to digitize the input audio and then implement the entire BS.1770 algorithm in software. Yes, an 8266 would probably not come close to what is needed in terms of DSP.

But what about some analog pre-processing? The first step in the algorithm is a prefilter: a low cut filter and a high pass shelving filter. These can implemented well with a handful of resistors and capacitors and a couple of op amps.

Then the filtered audio could be rectified, filtered down to about 5 Hz, and brought into the 8266 on its analog input. Then the signal could be squared to get the power (which is hard in analog but easy for a computer). The 8266 could also implement the silence gating part of the spec. There are plenty of 8266-friendly displays.

Thoughts?
 

Latest posts

Back
Top