32-bit float recording depth vs. 24-bit: Complete Beginner Guide

Using the above example:

a.) The sign is (-1) ^1 or -1.
b.) The mantissa is the fraction part in binary. In the above example, this is the mantissa: 10110000000000000000000

Converting the binary fraction to decimal:
(1 x 2^-1) + (0 x 2^-2) + (1 x 2^-3) + (1 x 2^-4) + 0…0 = 0.6875

c.) The exponent section is 01111100, the decimal equivalent is:

(0 x 2^0) + (0 x 2^1) + (1 x 2^2) + (1 x 2^3) + (1 x 2^4) + (1 x 2^5) + (1 x 2^6) + (0 x 2^7) = 124

Using the above values to compute the decimal equivalent with the provided formulas:

(-1) x (1.6875) x [2^ (124-127)] = -0.2109375

What will happen in the analog to digital conversion is opposite. Given the decimal analog equivalent, the recording software will compute the 32-bit float binary equivalent.

Advantages of Recording/Mixing at 32-bit float bit depth over 24-bit

If you have utilized the maximum bit depth recording capability of your audio interface (such as a soundcard), you will be recording at 24-bits. The digitized signal only has 24-bit resolution; however adding extra 8-bits will provide additional headroom and dynamic range to your digital signal with the following benefits:

1.) 32-bit audio allows processing of signals above 0dBFS “internally” without clipping in the digital domain. It is because of increased headroom or dynamic range. “Internally” means within your DAW (digital audio workstation software).For example in Cubase manual; it recommends projects to be recorded in 32-bit float format for two obvious reasons:

a.) Prevent digital distortion and clipping during tracking.
b.) Cubase internal audio processing is in 32-bit float (like most DAW) and tracking in 32-bit float means that the recorded quality will be intact /untouched (because it is also in 32-bit float). If you are using below 32-bit float, possible audio degradation will occur.

2.) While you prevent high possibility of clipping with 32-bit float, you have the same signal to noise ratio (SNR) as the 24-bit audio.

Max SNR = 6 x bit depth used during recording

So a 16-bit recording has a maximum SNR of 6 x 16= 96dB. Below are the maximum SNR of 24-bit audio and 32-bit float resolution:

Max SNR of 24-bit = 6 x 24 = 144dB
Max SNR of 32-bit float = 6 x 24 bits (removing those extra 8 bits) = 144dB.

Take note that recording at 32-bit float will result to large file sizes for your recording track which can be a downside if you have limited hard disk drive spaces. The file size is computed using this formula:

File size of your digital audio in bytes = [(sampling rate) x (bit depth) x (number of channels) x (seconds)] / 8

So a digital recording of 10 seconds audio sampled at 32-bit float/96KHz stereo would have a file size of:

File size = [(96000) x (32) x (2) x (10)]/8 = 7,680,000 bytes or approximately 7.7 MB

With pure 24-bit recording, the file size would only be: 5.76MB, so a 32-bit float audio would be around 34% larger.

Content last updated on July 5, 2012

  • j7ndominica0

    I think that the SNR of the data format itself, i.e. relationship of the loudest to quietest signal in a mix, is much greater in float: >600 dB. An entirely separate point is that practical analogue-to-digital interfaces cannot exceed 120 dB or 20 bits. But nothing prevents one from adding two signals at extremely differing amplitudes. Or storing the recording from a hypothetical high dynamic range ADC.

    In a 32-bit _mixer_, the dynamic range is limited by the mantissa, but as a _storage_ format, float can make use of the exponent to encode much greater range of values (mixed into at => 48 bits). It is possible to have an extremely quiet fadeout, for example. In practice, nobody can hear even 16 bits of dynamic range, but one can adapt over time to quieter sounds. Float allows to represent both cases with good precision using fewer bits than fixed point – both situations are not required to share – and under-utilize – the same range.

    I am a user of Sonic Foundry Sound Forge 7.0 and a fan of older, yet capable software. They introduced very limited support for float in Version 5. The version I have is able to open floating point data with amplitudes exceeding full scale, make razorblade edits, pass data to DirectShow plugins (such as iZotope Ozone, or RX Declipper) and receive it from them, and multiply the level with graphic fade. Other functions, such as mix, crossfade or simple gain do clip.

    You can verify the precision of 32-bit float the following way – and that it is not “internal” to the DAW – : multiply any recording with extreme negative gain (using graphic fade), apply it multiple times by holding shift, to below 144 decibels, so that the waveform in Sound Forge is a flat line. Copy and paste another recording with peaks at or above full scale into the same data window. Save the floating point file to disk. Load the file into another program with a floating point signal path, such as the audio player foobar2000 or Reaper, and experiment with gains +/- 150 dB. Both the extremely loud and the quiet – flat line – sections will play without clipping or noise, but can of course not be heard at the same time.

    An efficient archival format for floating point data is WavPack. A number of popular DAWs and media players support it. In addition to lossless compression, WavPack allows to apply variable amount data reduction: a hybrid lossy mode at a bitrate chosen by the user, or flat quantization to 20 or 24 bits. Both modes preserve overs; hybrid lossy mode also preserves full range.