Why the numbers look small
The microphone's sensitivity is −26 dBFS at 94 dB SPL: a loud voice a few centimetres away reads about a twentieth of full scale. Ordinary speech at arm's length works out near −60 dBFS, a few tens out of 32767. The numbers are small because the microphone leaves room for loud sounds, so the sketches subtract an offset and multiply by a gain.
Full scale and dBFS
A 16-bit sample runs from −32768 to 32767. dBFS measures a signal against that full scale: 0 dBFS is the biggest a sample can be, and every 20 dB down is ten times smaller.
The datasheet gives one number that ties sound to samples: −26 dBFS at 94 dB SPL, typical, within ±1 dB. 94 dB SPL is the test level, about a loud voice a few centimetres from the port. So that loud voice reads about a twentieth of full scale.
Speech is about a thousandth
Every dB of sound is a dB of signal. Normal speech at arm's length is about 60 dB SPL, 34 dB quieter than the test level, so it lands near −60 dBFS: about a thousandth of full scale, a peak of a few tens out of 32767. That is worked out from the datasheet, not measured, and it is why a working microphone prints numbers that look broken.
At the bottom, the microphone's signal-to-noise ratio is 58 dB, so anything below about 36 dB SPL is as quiet as its own hiss. At the top, it overloads at 120 dB SPL.
Two corrections every sketch makes
- Subtract the offset. Decimated samples sit on a small constant offset, so silence is not exactly 0. The sketches take the average of each block and subtract it; left in, the offset reads as sound that is not there.
- Multiply by a gain. Speech a few tens high is barely audible played
straight to a DAC. The live sketch multiplies by 4, then
constrain()keeps the result inside 16 bits, because anything past 32767 would wrap round to a large negative number: a loud click.
The level meter in How loud is the room does the first and prints the result without gain, so you see the raw size.
When it does not work
Probably not. Speech at arm's length works out to a few tens out of 32767 for this microphone. Clap or talk a hand's width from the port: the number should jump by hundreds or more. A peak that stays at 0 whatever you do is a wiring fault.
Enough to hear speech, not so much that loud sounds reach 32767 and clip. The live sketch starts at 4 in headphones. Raise it in steps if speech is faint; lower it if a clap sounds harsh.
Headroom. At −26 dBFS for 94 dB SPL, the microphone can take sounds up to its 120 dB SPL overload point before its output runs out. Gain in the sketch is free and adjustable; lost headroom is not.
Sound pressure level: how loud a sound is, on a scale where every 20 dB is ten times the pressure. 94 dB SPL is the standard test level, a loud voice a few centimetres away; normal speech at arm's length is about 60.
What the L/R jumper is for, and why one microphone never needs it.
Two microphones, one wire →Edit this page — content/books/pdm-microphone/why-the-numbers-look-small.mdx
Questions about this product
See what other owners have asked, and read their solutions.
PDM Microphone
Loading discussions…
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.