32-bit Float Files Explained

The MixPre II models introduce the ability to record 32-bit floating point WAV files.  For ultra-high-dynamic-range recording, 32-bit float is an ideal recording format. The primary benefit of these files is their ability to record signals exceeding 0 dBFS. There is in fact so much headroom that from a fidelity standpoint, it doesn’t matter where gains are set while recording. Audio levels in the 32-bit float WAV file can be adjusted up or down after recording with most major DAW software with no added noise or distortion. To understand the nuts and bolts of 32-bit files, keep reading. This paper discusses the differences between 16-bit fixed point, 24-bit fixed point, and 32-bit floating point files.

16-bit Files

Traditional 16-bit WAV files store uncompressed audio samples, where each sample is represented by a binary number with 16 digits (binary digit = “bit”). These numbers are “fixed-point”, because they are whole numbers (no decimal point). A 16 bit number in binary form represents integers from 0 to 65535 (216). 

Numeric values represent a discrete voltage level corresponding to the signal amplitude. 65535 represents the maximum amplitude (loudest) the signal can be, and the lowest values represent the noise floor of the file, the lowest bit toggling between 0 and 1. Since there are 65536 levels, the noise = (1/65536). 

Putting this noise in dB form:

dBnoise = 20 x log (1/65536) = -96.3 dB 

The max level in dB form:

dBmax = 20 x log (65536/65536) = 0 dB

The maximum dynamic range that can be represented by a 16 bit WAV file is (0 dB – (-96.3 dB)) = 96.3 dB

16-bit WAV files, whether in a digital audio recorder or DAW software, call the largest signal captured 0 dBFS, meaning 0 dB relative to the full-scale (of the file). So, 16-bit WAV files can store audio from 0 dBFS down to -96 dBFS. Each audio sample consumes 16 bits of space on a hard disk or memory, and at a 48 kHz sampling rate this means that 16 x 48,000 = 768,000 bits per second are needed to store a single channel 16-bit, 48 kHz file. 

24-bit Files

24-bit (fixed point) WAV files improve on the amplitude resolution of 16-bit by extending the 16 bit word, adding 50% more bits, to make a 24 bit word. 

With more numbers there are more discrete voltage levels to divide the audio signal. 24-bit in binary notation ranges from 0 to 16,777,215 (224)

Doing the same math with 24-bit files to calculate the noise level and the maximum levels results in the following:

dBnoise = 20 x log (1/16777216) = -144.5 dB

dBmax = 20 x log (16777216/16777216) = 0 dB

The dynamic range of a 24-bit (fixed point) file is (0 dB – (-144.5 dB)) = 144.5 dB

Just like for 16-bit files, audio recorders and DAW software call the largest signal in a 24-bit WAV file 0 dBFS. Each audio sample consumes 24 bits of space of digital storage, and at a 48 kHz sample rate, this means that 24 x 48,000 = 1,152,000 bits per second are needed for a single channel, 24-bit, 48 kHz file. For an increase of 50% in storage space compared to 16-bit files the dynamic range captured goes from 96 dB up to 144 dB, a substantial increase in performance. Presently 24-bit, 48 kHz WAV files are the most widely-used files in the professional audio community.

32-bit float

Compared to fixed-point files (16- or 24-bit), 32-bit float files store numbers in a floating-point format. This is fundamentally different than fixed point, because numbers in these WAV files are stored with “scientific notation”, using decimal points and exponents (for example “1.4563 x 106“ instead of “1456300”). This difference is significant because much larger and smaller numbers can be represented compared to a fixed-point representation. The formatting and encoding of the 32-bit word is not intuitive–it has been optimized for computers to be able to perform common math functions on it rather than for human-readability. The first bit indicates a positive or negative value, the next 8 bits indicate the exponent, and the last 23 bits indicate the mantissa. More info is available regarding this format (called IEEE-754).

The largest number which can be represented is ~3.4 x 1038, and the smallest number is ~1.2 x 10-38. Doing the math:

dBnoise = 20 x log (1.2 x 10-38) = -758 dB

dBmax = 20 x log (3.4 x 1038) = 770 dB

The dynamic range that can be represented by a 32-bit (floating point) file is 1528 dB. Since the greatest difference in sound pressure on Earth can be about 210 dB, from anechoic chamber to massive shockwave, 1528 dB is far beyond what will ever be required to represent acoustical sound amplitude in a computer file. 

There is one other aspect of 32-bit float files which is not immediately obvious. Files recorded with 32-bit float record sound where 0 dBFS of the 32-bit file lines up with 0 dBFS of the 24- or 16-bit file. Keep in mind that unlike the 24- or 16-bit files, the 32-bit file goes up to +770 dBFS. So compared to a 24-bit WAV file, the 32-bit float WAV file has 770 dB more headroom.

Modern, professional DAW software can read 32-bit float files. When a DAW first reads a 32-bit file, signals greater than 0 dBFS may first appear clipped since, by default, files are read in with 0 dB of gain applied. By applying attenuation to the file in the DAW, signals above 0 dBFS can be brought below 0 dBFS, undistorted, and used just like any 24- or 16-bit file.

For 32-bit float recording, exact setting of the trim and fader gain while recording is no longer a worry, from a fidelity standpoint. The recorded levels may appear to be either very low or very high while recording, but they can easily be scaled after recording by the DAW software with no additional noise or distortion. This can be seen with these sample files. This is the same source, one recorded with 24-bit fixed and the other with 32-bit float. Both files appear clipped when initially read into DAW software, but the 32-bit file’s gain can be scaled by the DAW.

Each audio sample for 32-bit float files consumes 32 bits of space on a hard disk or memory, and for a 48 kHz sampling rate, this means that 32 x 48,000 = 1,536,000 bits per second are needed for 32-bit, 48 kHz files. So for 33% more storage space compared to 24-bit files, the dynamic range captured goes from 144 dB up to, essentially, infinite (over 1500 dB). But more importantly, audio signals above 0 dBFS are preserved in the file, rendering clipped audio a thing of the past.

Recording 32-bit float audio files, along with high performance analog and digital electronics that can take advantage of its massive dynamic range, offer sound designers and sound mixers a  new way to record audio. This is especially useful for applications where very loud, unexpected sounds can be captured without the use of limiters. The trade-off for using 32-bit float files is larger file sizes compared to 24-bit files.