In Python, I am using the library Soundfile (which uses the library libsndfile) for digital sound processing. I am working with different sound files coming from different internet databases, and therefore they have different bit sizes. Either 16, 24 or 32 bit.
If I understood correctly, when these sound files were recorded (with whatever device they were recorded), that device had an ADC with some bit precission. And therefore the amplitudes recorded by that device were mapped to the corresponding ranges:
16 bit: -32768 to +32767
24 bit: -8388608 to +8388607
32 bit: -2147483648 to +2147483647
Does it mean that the audio files with 32 bit have a higher amplitude than the rest? I guess not, right?
Let's assume that all the devices had a microphone with the same sensitivity. Then the only difference is that the audio files recorded with the 24 and 32 bits devices were able to capture sounds louder than the maximum value of 32768, which for that particular sensitivity had a corresponding voltage value of whatever, right?
But, again, if we assume that their microphones had the same sensitivity, a value of amplitude 32768 in a 16-bit precision file, would mean the same loudness as a value of amplitude 32768 in a 24-bit precision file, right?