Measuring SPL Like a Professional: IEC 61672 on Your Phone

|

TL;DR

Phone-based SPL measurement using calibrated MEMS microphones and standards-compliant software can approach IEC 61672 Class 2 accuracy (±1.4 dB at 1 kHz) for frequencies between 100 Hz and 8 kHz. The key requirements are: a calibrated external microphone (iMM-6, UMIK-1, or similar), a calibration file (.cal or FRD format) correcting for per-unit frequency response, disabling Android AGC (automatic gain control), and proper A/C/Z weighting filter implementation. SonaVyx implements the weighting filters as IIR biquad cascades per the standard's Annex B analog prototypes, processed entirely in Rust WASM. Without calibration, phone MEMS mics typically deviate 3-8 dB from reference, especially below 200 Hz and above 8 kHz.

Phone Mics vs Professional Measurement Mics

Modern smartphone MEMS microphones (Knowles, InvenSense, Goertek) are remarkably capable transducers. A typical MEMS mic has:

  • Self-noise: 25-32 dBA (equivalent input noise)
  • Maximum SPL: 120-130 dB SPL (0.5-1% THD)
  • Frequency response: ±3 dB from 100 Hz to 10 kHz (unit-to-unit variation: ±5 dB)
  • Sensitivity: -38 to -42 dBV/Pa

Compare with a Brüel & Kjær 4189 (Class 1 reference): self-noise 14.6 dBA, max SPL 146 dB, response ±1 dB from 6.3 Hz to 20 kHz. The phone mic's dynamic range (32-130 dB) covers the 98 dB needed for most environmental and occupational noise measurement, but the frequency response variation is the critical limitation.

The AGC Problem

Android devices apply Automatic Gain Control to microphone input by default. AGC adjusts the gain based on signal level — exactly what a measurement application must NOT do. A sudden loud sound causes AGC to reduce gain, making the subsequent quiet period appear quieter than it actually is.

Workarounds:

  • Request UNPROCESSED audio source via the WebAudio API (Android 7+)
  • Use an external USB microphone (bypasses AGC on most devices)
  • iOS does not apply AGC to WebAudio captures by default

SonaVyx requests the unprocessed audio source where available. The SPL meter displays a warning if AGC behavior is detected (rapid gain changes correlated with level changes).

Calibration: The Essential Step

Single-Point Calibration

Expose the microphone to a known SPL (typically 94 dB from a pistonphone or acoustic calibrator per IEC 60942). The software computes the offset between the measured value and 94 dB and applies it as a global correction. This corrects for absolute sensitivity but not for frequency response shape.

Multi-Point Calibration (Frequency Response)

A .cal or .frd file contains frequency-dB correction pairs measured against a reference microphone. The mic calibration guide explains the file format and import process. SonaVyx supports:

  • .cal files: Used by miniDSP UMIK-1 and similar USB mics. Format: one freq/correction pair per line.
  • .frd files: Frequency Response Data format (freq, magnitude, phase). SonaVyx uses the magnitude column.
  • CSV: Simple frequency,dB pairs with optional header.

With a calibration file applied, the SonaVyx SPL meter corrects the measured spectrum at each frequency bin before computing weighted levels. A "CAL" badge appears in the interface header when calibration is active.

Recommended External Microphones

MicrophonePriceTypeCalibrationNotes
Dayton Audio iMM-6~$203.5mm TRRSIndividual cal fileBest budget option
miniDSP UMIK-1~$99USBIndividual cal fileReference quality, Class 2 capable
miniDSP UMIK-2~$299USBIndividual cal + directionalIncludes diffuse-field calibration
Earthworks M23R~$600XLR (needs interface)±1 dB 3Hz-23kHzBroadcast/measurement grade

A/C/Z Weighting Implementation

IEC 61672-1 defines the frequency weighting networks as analog transfer functions. SonaVyx implements these as digital IIR biquad cascades using the bilinear transform. The A-weighting filter uses four second-order sections (8th order total) matching the standard's pole-zero specification within ±0.1 dB across 10 Hz - 20 kHz.

At the critical reference frequency of 1 kHz, all three weightings (A, C, Z) pass at 0.00 dB. At 50 Hz: A = -30.2 dB, C = -3.0 dB, Z = 0.0 dB. At 10 kHz: A = -2.5 dB, C = -3.0 dB, Z = 0.0 dB.

What Phone-Based Measurement Cannot Do

  • Below 100 Hz: Phone MEMS mics have significant rolloff below 100 Hz. The A-weighting filter reduces low-frequency contribution, so dBA measurements are less affected, but Z-weighted measurements below 100 Hz are unreliable without an external mic.
  • Above 10 kHz: MEMS response varies widely above 10 kHz. This affects detailed octave-band analysis at 8 kHz and above.
  • Class 1 accuracy: The ±1.1 dB tolerance at 1 kHz is achievable only with laboratory-grade microphones and temperature-controlled calibration. Phone-based systems target Class 2 (±1.4 dB) with a calibrated external mic.
  • Free-field vs diffuse-field correction: Professional meters apply different corrections depending on the sound field type. Phone-based measurement assumes a single calibration curve.

For legal and regulatory measurements (occupational noise compliance, environmental monitoring, building code verification), a calibrated external microphone with a traceable calibration certificate is strongly recommended. The measurement workflow in SPL compliance includes the calibration step before any formal measurement.

Try It Now

Open this measurement tool in your browser — free, no download required.

Open Tool

Frequently Asked Questions

Last updated: March 19, 2026