Measurement methodology

Every number the meter shows comes from the chain described here. It is written out in full so that a reading can be checked, argued with, or reproduced rather than taken on trust.

Last updated

The short version

The meter reads the microphone's time-domain waveform, computes its root-mean-square amplitude, corrects that figure for A-weighting using the signal's own spectrum, and adds a fixed reference offset to convert from a full-scale-relative level to a sound pressure level. In one line:

dBA = 20·log₁₀(RMS) + A-weighting correction + 94

Each term is explained below, including the one that is an assumption rather than a measurement.

1. Capture, and what we turn off

Audio is captured through the browser's getUserMedia API after you grant microphone permission. Three processing features that browsers enable by default are explicitly disabled: automatic gain control, noise suppression, and echo cancellation.

This matters more than any other single choice here. Those features exist to make speech intelligible on a call, and they work by changing the signal's level dynamically — which is precisely the quantity a sound level meter is trying to measure. Automatic gain control will quietly raise the level of a quiet room and lower the level of a loud one, compressing every reading toward the middle. A meter that leaves it on is not measuring sound pressure; it is measuring what the voice-processing pipeline decided you should hear. Published evaluations of smartphone measurement apps attribute a large share of their disagreement with reference instruments to exactly this.

2. Level from the time domain

The level is taken from the raw waveform, not from the FFT magnitudes. Root-mean-square amplitude over a buffer of samples is exact and unambiguous, and it does not depend on the analyser's window function, bin count, or normalisation.

This is worth stating because the obvious alternative is wrong, and this meter used to get it wrong. Deriving a level from the browser's getByteFrequencyData and treating those bytes as linear amplitudes is a category error: they are already a decibel scale mapped onto 0–255 between the analyser's configured floor and ceiling. Because the normalised result could never exceed 1, the log term could never be positive, and every reading the meter could produce was capped at 60 dBA — full-scale white noise, the loudest signal that can exist digitally, measured 56.7 dBA. The 85 dBA action level was unreachable and the OSHA panel read "OK" in every room on earth. That bug is documented in the source and in the changelog rather than quietly deleted.

3. A-weighting as a spectral correction

A-weighting attenuates low and very high frequencies to approximate the ear's sensitivity at each frequency. Rather than filtering the audio and re-measuring it, the meter computes the correction as a ratio of weighted to unweighted energy across the spectrum:

correction = 10·log₁₀(Σ p·g / Σ p)

where p is the power in each FFT bin and g is that bin's linear A-weighting gain. Because the result is a ratio, every FFT scaling constant cancels out of it — which is what makes it valid to add to a level measured elsewhere in the chain, in this case the time-domain RMS.

Per-bin weights come from the standard A-weighting table at the one-third-octave centre frequencies from 20 Hz to 20 kHz, linearly interpolated to each bin's centre frequency and precomputed once when the stream opens. The analyser runs a 2048-point FFT with a smoothing time constant of 0.8.

4. The reference offset — the assumption

The final term converts a full-scale-relative level (dBFS, always negative) into a sound pressure level. It assumes that a full-scale RMS signal corresponds to 94 dB SPL, which is 1 pascal — the standard acoustic calibrator reference.

This is the one number in the meter that cannot be derived. It depends on the sensitivity of your microphone and on how your operating system stages gain before the signal reaches the browser, and devices genuinely differ. Taking full scale as 1 Pa lands close to what typical consumer hardware reports with gain control disabled: a quiet room near −60 dBFS, ordinary speech near −30 dBFS, and shouting near −10 dBFS all map to sensible levels under it.

There is currently no per-device calibration control. The offset is the same 94 dB for everyone. What that costs you in accuracy is set out on the accuracy page, which is the page to read before relying on an absolute number.

5. Clipping

When the RMS reaches −1 dBFS the converter is saturating and the waveform is being flattened. Past that point the true level is not recoverable from the sample data — the sound is at least that loud and may be far louder. The meter detects this condition and says so rather than reporting a confidently wrong number.

In practice this is the ceiling you will meet at a concert or beside machinery, and it is a hardware limit rather than a software one. Phone and laptop microphones are built for speech and generally begin compressing somewhere around 100–105 dB.

6. Derived statistics

Peak, average, minimum and maximum are computed over the current session from the same level series that feeds the gauge. The 8-hour time-weighted average and dose percentage are projections: they take the levels measured so far and extrapolate them across a full shift under the OSHA 5 dB exchange rate. A two-minute measurement can tell you what an eight-hour day would look like if the noise continued unchanged, which is a useful screening figure and not the same thing as a shift-long dosimetry measurement.

What this is not

This meter is not certified to IEC 61672 and makes no claim to be a Class 1 or Class 2 instrument. Certification covers frequency response, directional response, time weighting, and calibration traceability across a specified environmental range, tested against a reference by an accredited laboratory. None of that has been done here, and no amount of careful arithmetic substitutes for it.

What is offered instead is that the arithmetic is written down and the assumption is named. See the accuracy page for how far that gets you.