Professionals should use 32-bit float recording

2022-06-04

TL;DR: In choosing a solution to clipping, 32-bit float is simply superior to limiters.

What is 32-bit float recording?

Digital Audio

Standard digital PCM audio is 2-dimensional. One dimension is amplitude, the other is time. When you have different amplitudes over time, that is a waveform. Both dimensions need to be stored in the computer using numbers with limited resolution. The resolution of the time dimension is the sample rate, measured in kHz. The resolution of the amplitude dimension is the bit depth, measured in bits. Every sample is a number, stored in a unit that is the size of the bit depth. These samples occur at the interval set by the sample rate, so commonly 44,100 or 48,000 times per second.

(It should be mentioned that with dithering, the effective resolution of any bit depth is preceptively “infinite”. This comes with the trade-off that you’ll be introducing noise at the lowest possible volume level you can store in that bit depth. Meaning that increasing bit depth doesn’t actually increase resolution, but instead it decreases the necessary level of dithering noise. However, because the electronic and environmental noise in our recordings are way beyond dithering noise, you can ignore this.)

24-bit integer audio

In the common 24-bit audio file, these samples take up 24 bits. What is key about the 24-bit audio file is that it is an integer number. The only thing a 24-bit integer can store is whole numbers between 0 and 16,777,215. Signed integers sacrifice one bit to say if the number is negative or not, so they can go from −8,388,608 to 8,388,607. The number of unique numbers a 24-bit integer can store remains the same either way. 16,777,216 unique numbers. In PCM audio, these numbers represent the range between -144 (ish) dBFS, and 0 dBFS. If you try to go above 0 dBFS, it clips. When you only have 24 bits, and they’re all 1, then you can’t add another 1 to make louder. Which means you have to avoid clipping at all costs.

That is why we use limiters. Instead of letting the waveform cut off at 0 dBFS, it warps the dynamics to avoid clipping. This is an imperfect way to work around the limitations of storing audio using 24-bit integers.

32-bit float audio

32-bit float is fundamentally different. Not just because it is 32-bit and can therefore hold a vastly larger set of unique numbers, meaning a higher resolution. But because it can store decimal place numbers, in addition to extremely large numbers. That’s what “float” means. Without getting into the technical details, they’re awesome. The smallest 32-bit float number, other than 0, is 0.00000000000000000000000000000000000001175. There are 1,065,353,215 unique float values between 0 and 1. Although not linearly distributed, this is way more than the 16,777,216 total unique values of 24-bit.

Will you hear this increase in resolution with your ears? In most cases, no.
Will it technically be better? Yes.
Is that all? That’s it? Oh, hell no.

The way 32-bit float audio is implemented means that it can store values above 0 dBFS. That’s beyond clipping. With the right recording hardware, it is possible to record audio that is “clipping”, but not really, because the information is still there, available for recovery. This means you don’t have to use a limiter and warp the dynamics of a recording to avoid clipping. No more messed up dynamics, no more clipping, and higher amplitude resolution.

What is the downside of using 32-bit float audio? It requires 8 more bits pr sample, compared to 24-bit. However, audio is so cheap on storage anyway, that a 33% increase in size is completely ignorable.

With these benefits, you might imagine audio professionals like us would be scrambling to make use of this great development. No more need for limiters to catch the occasional loud laugh or loud impact sound! However, no. Watch or read anything about a 32-bit float capable recorder from a location sound mixer, and you’ll hear nothing but hesitancy and people brushing it off as a “neat fallback for noobs and kids who don’t know what they’re doing”. That’s why this article is not just some info about 32-bit float and why it’s cool. It is to show that it is actually something professionals should be excited about. Not gawk at as though we’re too good for high quality audio encoding.

Answering the hesitancy

“I don’t need it, because I’m good at my job, and professionals don’t clip their audio."

Don’t flatter yourself. You trigger the limiter every now and then. Though, by this logic, you surely turn off said limiter on your recorder too, right? Just in case you won’t need it? After all, professionals don’t clip, so what would you need a limiter for?

Our job is to deliver the best possible quality sound. Not as low quality as possible before post production or producers complain and ask us to do better. So get out ahead of the curve. Use the highest quality format available. When a bad workaround like a limiter is replaced with an actual solution to the problem of clipping, use it whenever possible.

“Camera people don’t constantly shoot in raw."

32-bit float is not raw. It’s vastly, vastly superior. This is a terrible analogy.

Audio is cheap, video is expensive. Audio is 2D (amplitude across time), video is highly multi-dimensional (R-amplitude, G-amplitude and B-amplitude, across X and Y, across time). Audio is always captured uncompressed, video is nearly never.

Cameras still blow out when shooting in raw. If you try to clip using a decent 32-bit float recorder, you’ll hit the limit of the amplifier or microphone first. If that was how raw worked, it would be the equivalent of giving the camera sensor enough dynamic range to capture something so bright that the lens would break. While also putting an end to all banding issues. And all that while barely making a lick of difference to the file size, or how slow it is to edit! In fact, editing with it is faster than 24-bit, because 32-bit lines up better with current CPU’s word lengths. If that was how good raw recording was, you’d never turn it off! However, that’s not even close to how raw works. So they don’t. It is how 32-bit float works, however. So use it.

“My recorder/mixer can’t do it, so there is clearly no demand for it in the industry."

There were no good train routes before the tracks were laid, so people clearly didn’t want trains. And besides, when did we start thinking it was a good idea to only upgrade when it is demanded of us? In my book, if you were slower than “the industry”, and had to be asked to upgrade, you were too slow.

“Why change the workflow, when it already works just fine? “

The simple answer is: There is no workflow change to be made. There is no adjustment to be made, no software to learn, no workflow to change. Everything just works exactly like it used to, except now, you can instantly recover peaks above 0 dBFS.

“Plugins and software don’t ‘work with’ float anyway!"

Yes they do. Adobe Premiere Pro, DaVinci Resolve and Final Cut Pro all work just fine with float. As does any DAW that isn’t complete trash. Any decently modern DAW like Reaper also does all of its internal processing in 64 bit float. Plugins all mostly work using float too. Try pushing a way-too-loud signal through an EQ. It isn’t digitally clipped when coming out the other side. You can still turn down and recover the signal. Et voilà, you just revealed that the plugin is using some form of float.

Reasons not to use 32-bit float

“On my recorder, it increases the noise floor."

Fair. On some recorders, like the SoundDevices MixPre II series, using 32-bit float brings up your noise floor a bit, making it a sidegrade instead of a simple upgrade. This means that it has a downside in some cases, and that you should consider whether to use 32-bit or the limiter.

“The post people are stuck using OMF."

OMF somehow doesn’t “support” 32-bit float. A timeline interchange format like this shouldn’t need to “support” any format, because it shouldn’t need to know what format any of the files are. It should just tell you where in the timeline they are placed, and leave the files alone. OMF doesn’t because it is a retarded format made by Avid. Don’t use it. Use OTIO, XML or AAF.

“I’m running an all-digital all-wireless system, which is 24-bit."

Fair enough. In this situation, you won’t have any use for 32-bit float at all. Let us all pray that the Audio Ltd. A20 system will be capable of transmitting 32-bit float.

“Ok, great but my recorder actually doesn’t do 32-bit float."

The current line of pro-level recorders were released before this recent wave of 32-bit float recorders came out. So they can’t record in 32-bit float yet.

Sound Devices have this to say on their website:

The A/D converters used on the Scorpio, 888, and 833 are 32-bit resolution parts, but this is unrelated to 32-bit float files. The ability to record in 32-bit float is a future possibility.

I have no idea what this means. The first part seems to imply that these 32-bit ADCs are not built to do float recording, but the second part seems to say that it only takes a firmware update to enable the functionality. And I don’t know which is true.

I imagine they could leverage their great limiters, and program something that perfectly amplifies in the digital stage to compensate for the limiter’s attenuation. Returning in the digital stage, the dynamics that were lost in the analog limiter stage. Maybe. This depends on the power of the ASICs they use, and the bandwidth of the interface between the digital components and the limiters. This is all speculation and daydreaming on my end, of course.

In closing, 32-bit is good. You should use it if you can.