Re: Export to Wav changes sample amplitude values
Posted: Fri May 11, 2012 11:39 am
When editing 32-bit float, the format can handle values over 0 dB, so the signal will not be damaged. However, as you say, sound cards cannot handle over 0 dB signals and the signal will be clipped to 0 dB by the sound card if it is played, so the sound is damaged. That's why it i essential to amplify/normalize to < 0 dB for the sound to play without clipping.Steve Brown wrote:That's interesting that 32-bit float is tolerant of amplitude values that exceed 0 dB, but I wonder how that is possible, given that the ADC of a 24-bit sound card outputs maximum value (0x00FFFFFF) at the maximum positive analog signal peak it can handle.
Sound cards do not allow any head room above 0 dB, in fact most will clip just below 0 dB (which I presume is a calibration error, but I'm not an audio hardware engineer).
That depends where the "lots of headroom" occurs.Steve Brown wrote:Additionally, I think it minimizes loss of amplitude precision that occurs when a recording is made with lots of headroom
In a 16 bit sound card the signal going into A/D converter is encoded into a number between 0000 and FFFF, a range of 65535 possible values. Each of the 16 bits equates to about 6 dB, so if the full 16 bits are used then there is about 96 dB range between the quietest possible signal and the loudest possible. If the input signal has a maximum peak level of -12 dB, then the highest 2 bits are unused so in effect it is being recorded in 14 bit precision rather than 16. Take it further and if the maximum peak signal at the A/D converter is -24 dB then it's down to 12 bit precision. Add onto this the fact that the lowest bit (lsb) is probably trash and it is in effect down to 11 bit precision. No matter what you do to the signal after that the lost precision cannot be recovered. For best quality it is essential that you have a good signal level going into the A/D converter.
Once the signal has entered the digital domain, it may be safely scaled down to leave "lots of headroom" if it is in 32-bit float format.
The benefit of 32-bit float is that if the signal is recorded low, then amplifying will not introduce additional rounding errors, whereas 16 bit processing may.
We recommend that for a 16 bit sound card the recording level should ideally have a maximum peak level of around -6 dB. This provides a manageable amount of headroom while still providing a theoretical 90 dB of dynamic range. For a 24 bit sound card you can safely leave a lot more head room.