SPL meter image

  SPL Meter
      from KEUWLSOFT

Google Play Link Amazon Link
SPL meter image

App Summary

A Sound Pressure Level (SPL) meter. This app uses the microphone to detect sound and convert it into an SPL value. FOR INDICATION ONLY. Results depend on your device and its hardware.

Features of this SPL meter include:

• Weighting – A, C or None . (A weighting filters the high and low frequencies according to how the ear perceives sound loudness). Results are in dB, dBA or dBC depending on weighting.
• Analogue dial to show current SPL value.
• Two speed options.
• Averaging.
• Octaves and third octaves frequency spectrum.
• Time graph of the SPL value.
• Auto-scale or manual (pinch & pan) Y-Axis.
• Relative button – if looking for differences, tapping REL will remove the averaged value from the reading.
• Calibrate option – if you have a calibrated SPL meter or known loudness source, you can use this option to calibrate the meter.

FOR INDICATION ONLY. SPL will vary depending on how close the source is to the microphone. Microphone sensitivity varies with frequency and from device to device. The range between the noise floor and saturation may be only 20 dB on cheap devices, but could exceed 100 dB on the best devices.

screenshot of third octaves
Third Octaves
 settings menu screenshot
Settings Menu

Using the App

Once loaded the app will immediately start showing the SPL value in the dial, initiate averaging and reset the maximum and minium values. The dial will show the current SPL value and auto-rotate as necessary. The minimum and maximum values will be shown by blue needles if they are within the range of the dial. Below the dial, the current, minimum, maximum and averaged values are shown. The time in which the averaging has taken place is also shown beside the averaged value.

Below the dial are 4 buttons:

Clear - This clears the minimum, maximum and averaging values.

REL - This will take the averaged value and use it to offset subsequent readings such that the reading is relative to the first measured sound. Useful if you want to see if something is louder (positive dB) or quieter (negative dB) than that sound. Pressing REL again removes this offset. Pressing REL also resets the minimum, maximum and averaging.

Info - This brings up a help screen with a brief explanation, a link back to this web page & other relevant info.

Pause - This pauses the measurement. Press again to unpause.

Below the first 4 buttons is a digital display whose content will vary depending on the bottom four buttons:

Settings - This opens up a settings menu from which some options can be changed.

Spectrum - This places a spectrum in the digital display consisting of octave or third octave bands as selected in the settings menu. The maximum values in each band is shown by a blue bar.

Graph - A time series graph of the SPL values. There are 3 speed options for the graph as selected in the settings menu.

CAL - This gives the option to calibrate against a known device to give better results in a particular noise band.

If in manual y-axis mode then panning or pinching the y-axis will scale or shift the y-axis accordingly. The manual or auto-scale y-axis option is found in the settings menu.


Human hearing ranges from 20 Hz up to 20 kHz. The perceived loudness of sound varies over this range with sounds at the edges of this range perceived quieter. To take into account human hearing, the sound is often weighted based on its frequency to give a better indication of the sound level. The A and C weighting curves are defined in IEC 61672:2003 with A weighing being the most commonly used. To indicate that A or C weighing is used, a letter is added to dB to give dBA and dBC respectively. The following graph shows how the three weighting options available in the app are applied over the 20-20kHz frequency range.

weighting graph


To calibrate, first press the CAL button. The CAL display lets you measure up to three calibration points and enter the actual value of them. The actual value can be determined from a calibrated SPL meter beside the device or a volume source of known volume. If not available, the CAL can still be use to adjust the reading up or down if you believe it is incorrect on your device. Any cal values are stored on exiting and restarting the app. To clear any calibration values, tap clear CAL. Tapping cancel exits the calibration mode. Tapping Set CAL will set the new calibration based on the data in the table. At least one data point and corresponding actual value is required before a new calibration can be set.

Tapping the measurement box, will cause the SPL to be measured. The duration of the measurement can be set in the settings menu as 1s, 4s, 12s or 30s. A blue progress ring appears and counts down the measurement time. If a delay is chosen, again in the settings menu (0s, 2s, 10s or 30s), then a red countdown will first appear and countdown until the measurement starts. After the measurement the measured value in decibels is shown. If the weighting mode is dBA or dBC then it will be in those units respectively.

Tapping the enter actual box will allow you to type in the value which is measured value should have been (e.g. based on the calibrated SPL meter that was measuring at the same time).

Depending on the number of data points entered, the calibration will be an offset, a linear, or a polynomial fit to the data points from which future SPL values will be calculated.

Calibration points should be chosen to reflect the measurement range being tested. If one point is used, it should be as close as possible to the target sound level. If two points are used, they should be at each end of the range being used. If a third calibration point is used, it should be midway between the first two.

Note that even after calibration the app should still be classified "for indication only".

screenshot with time graph
Time Graph
 calibration screenshot

A little technical detail

The app uses a Fast Fourier Transform (FFT) with 16384 data points sampled at 44.1 kHz over 0.37 s. The FFT data is then weighted based on the weighting option selected before being converted into decibels and adjusted based on any calibration and being placed into bands corresponding to the octave or third octave divisions. For the long time constant, the data is averaged over 1 second with higher weighting given to the newest data.

Octave bands are centered around 1 kHz. If a FFT bin fits across several octave or third octave bins it is shared between the two bands according to the percentage of that bin in each band. At low frequencies, there are only a few bins in each third octave such that there will be more jumping around in the low frequency band values compared to the higher frequency bands which should be more stable.

Finally, remember this app is FOR INDICATION ONLY. Use a calibrated sound meter where it is required.