I made a program that connected to the microphone and captured wave_format_ieee_float data from it. I noticed that if I made a really loud noise the data seems to fluctuate between -1 and 1 (when I cast the buffer pointer into float*). What is the significance of this? How do I connect this to deciBel Sound Pressure Level, Pascals from ambient pressure or the voltage being sent through the microphone cable? I know the microphone has -38dB sensitivity. Any explanation or further reading tips that casts light on what the numbers inside the wave represents in real life are welcome.
As you have probably already surmised, the data points in a WAVE_FORMAT_IEEE_FLOAT are 32 bit or 64 bit floating-point numbers that vary between 1 and -1.
The values 1 and -1 simply represent the largest possible positive and negative amplitude values. These values don't map to any particular voltage or sound pressure level, for the simple reason that everything has a volume control and/or a manufacturer-specified sensitivity.