About
The arithmetic is simple; the microphone is the weak link. Both are explained here.
What is actually measured
Your microphone produces a stream of samples, each a number between −1 and 1. The page takes blocks of 2,048 samples, computes the root mean square of each block, converts that ratio to decibels with 20 × log10(RMS) and adds the calibration offset. The result is refreshed about eight times per second; the peak and the running average are kept for as long as the meter runs.
That arithmetic is exact. The uncertainty is entirely in the two ends: what the microphone does to the sound before it reaches the samples, and what number the offset should be.
From dBFS to sound pressure
A digital microphone reports level relative to its own full scale. The loudest signal it can capture without clipping is 0 dBFS; a quiet room might sit at −60 dBFS. Sound pressure level is a different scale with a physical reference (20 µPa), so one conversion number is needed: how loud, in dB SPL, a full-scale signal is on this specific device.
The slider sets that number, defaulting to 94 dB. 94 dB SPL at full scale is a common assumption for consumer audio inputs, but it is an assumption, not a specification you can rely on. Changing the slider shifts every reading by the same amount; it does not improve the meter's linearity or its frequency response.
Calibrating against a reference
- Play a steady sound — a fan, a running tap, a test tone — rather than speech, which rises and falls.
- Read the level on a calibrated meter held next to the phone or laptop.
- Adjust the slider until this page shows the same number.
- Leave the slider there for that device and that microphone. The offset does not transfer to another phone.
Without a reference meter, the honest reading is relative: use it to compare one room with another, or before and after closing a window, and treat the absolute number as a guess within roughly ten decibels.
What the meter does not apply
| Processing | Applied here | Effect on the number |
|---|---|---|
| A-weighting | No | Low frequencies count as heavily as mid frequencies, so rumble reads higher than a dBA meter would show |
| Fast / slow time weighting | No | Readings follow 2,048-sample blocks, not the 125 ms and 1 s averages used by sound level meters |
| Energy averaging (Leq) | No | The average shown is the mean of the displayed levels, not a true equivalent continuous level |
| Microphone calibration file | No | Frequency response errors of the device are uncorrected |
| Echo cancellation, noise suppression, auto gain | Disabled in the request | These would change the level; browsers and hardware may still process the stream |
The "dB" on this page is therefore neither dB SPL nor dBA in the regulated sense. It is an estimate of SPL from an unweighted RMS.
Why the exposure limit is separate
The daily-exposure figure does not depend on the microphone at all. It is the NIOSH rule: 85 dBA for eight hours, with the allowed time halving for every 3 dB above that. Every page that shows an exposure number uses the same function, so the arithmetic can be checked independently of any measurement: 28,800 seconds divided by 2(dB−85)/3.
Where the meter is useful, and where it is not
- Useful: finding the loudest corner of a flat, comparing a dishwasher cycle before and after servicing, checking whether a room is quieter after adding a rug, showing a child what "too loud" looks like.
- Not useful: workplace compliance, tenancy or noise-complaint evidence, audio equipment specifications, anything where a number may be disputed. Those need a type-approved meter with a calibration certificate.
- Never a substitute for symptoms: ringing ears, muffled hearing or difficulty following conversation in noise are reasons to reduce exposure regardless of what any meter reads.
Hearing damage is cumulative and permanent. A meter that reads low is not permission to stay. If you have to shout to be understood at arm's length, the level is high enough to matter.
How the pages are built
Four static pages, one stylesheet and one script, served from this domain. No framework, no third-party script, no analytics, no cookie. The microphone code is plain JavaScript using the Web Audio API; the exposure functions are pure arithmetic and are covered by tests outside the browser.
Corrections
The conversion and exposure rules live in one shared script, not in the page text. A correction goes there and is checked against the tests, so the meter, the chart and the about page cannot drift apart.