Normally you should keep Audacity set to 32-bit float. This will convert all incoming audio streams to 32-bit float data. Audacity can then work with the data without any more format conversions until you export. If you set Audacity to any other format, then because Audacity works in 32-bit float format internally, the data would need to be converted to 32-bit float and back again each time you apply any process (effect) to the audio.
Because the format conversion to 32-bit float occurs as the audio is being read into Audacity, it is not possible to directly access the integer format data. However, you can see the numeric values of the samples after they have been written to the track, by using the “Sample Data Export” effect: Sample Data Export - Audacity Manual
Yes, in the case of “unsigned integer” formats, the center level is set half way between zero and the highest number that can be represented by the number of bits (in binary, all the 1’s).
For “signed integer” formats, it works a bit differently, usually using a numeric representation that is called “two’s compliment”. Detailed information about signed integer representation is available here: https://en.wikipedia.org/wiki/Signed_number_representations#Ones’_complement
You need to be careful here. The kind of “normalization” is not like Audacity’s “Normalize” effect. The conversion to 32-bit float makes no attempt to modify the data in any way other than representing it in a different way.
If, in our 4-bit example, we have a signal that only uses the numeric values -0.25, -0.125, 0.0, 0.125, and 0.25 (binary 0101, 0110, 0111, 1000, and 1001), there is no attempt to “stretch” the range to +/- 1.0. the values are simply represented in 32-bit float format as -0.25, -0.125, 0.0, 0.125, and 0.25.
“Normalizing” in this context just means converting the format’s integer range (for example 0 to 15 for unsigned 4-bit, or -32,768 to 32,767 for signed 16-bit) into floating point numbers in the range of -1.0 to 1.0.
Yes.
The maximum / minimum voltage levels are in effect “0 dB”. For a 16-bit A/D converter, the maximum voltage that the converter can take will output the number 32,767 (signed binary 0111111111111111).
The lowest (most negative) voltage will output the number -32,768 (signed binary 1111111111111111).
Assuming that the DAC is “perfect”, an input of 0 v would output the number zero (signed binary 0000000000000000).
In practice, DAC’s are not perfect, and a certain amount of “noise” can be expected, so zero input voltage will more likely to produce output numbers that fluctuate close to zero.
You can only directly access the numeric data, not the analog voltage level (unless you attach an oscilloscope to the DAC input). However, if you know what the maximum / minimum voltage levels are (the voltage required to produce digital 0 dB), then you can calculate the voltage as a proportion of the max voltage.
Example:
-
Calibration: Adjust the input level of the audio device so that your maximum voltage level is on the threshold of going into the red for the audio device (requires an audio device that has some kind of input metering, even if only a red “clip” LED). This is your audio device’s “0 dB” level.
Then adjust the Windows recording level so that your maximum voltage peaks at full scale. 0 dB going into the audio device now produces (digital) 0 dB in the computer.
-
Launch Audacity: You should now see that your maximum voltage meters at 0 dB, and creates a waveform trace that touches the top of the track.
-
Measurement: Apply the signal that you want to measure, and check the peak signal level in Audacity. If the level in Audacity is +0.5, then you can deduce that the voltage level is half of the maximum (0 dB) voltage. So if your audio device has a maximum input voltage of say 1.5v, then you can deduce that the measured signal represents an input voltage of 1.5/2 = 0.75v.