Why no 32-bit integer support?

First things first, I’m very grateful that Audacity exists :slight_smile:

However, I noticed that it lacks 32-bit integer support for recording and playback which makes bit-perfect recording and playback on my RME ADI 2 Pro FS impossible. Can this be added?

It would probably be “possible” to add 32-bit integer support, but there wouldn’t be any benefit as Audacity works internally in 32-bit float format, so it would need to be converted to 32-bit float anyway.

If the RME ADI 2 Pro FS really is 32-bit, it’s surprising that they don’t mention that in the specs (https://www.rme-audio.de/adi-2-pro-fs.html).
Regardless of whether it really is 32-bit integer or not, the specification says that the SNR is 124dB at best, which 32-bit float far exceeds. The dynamic range for 32-bit float is around 1500 dB, so while not “bit perfect”, the only “bits” that are not perfect are well below the noise floor of the ADI 2 Pro FS.

It is 32-bit. They mention it in the manual and the stream on macOS is 32-bit int. They also use 32-bit int DAC chips.

For me, it’s about bit-perfect recording and playback. I know that there’s little point in it with the SNR, but it’s basically a nice-to-have for me.

Given that the best possible noise floor with this device is -124dB, that means that for each sample value, you get 24-bits of audio, and 8 bits of noise. That’s probably better than most 24-bit chips which generally give around 22 bits of audio and 2 bits of noise.
If you record as 32-bit float, then the 24 MSBs (most significant bits) are preserved exactly, and the other 8 bits will have close approximations.

Given that 32-bit integer support would require a massive scale rewrite, with virtually no practical benefit, I don’t think it’s likely to happen in Audacity.

Agree on that.

I actually tried Reaper out and when everything is set to 64 bit, the 32-bit test passes on the device, so I’ll be working mostly with Reaper. Would adding 64 bit float be a massive scale re-write as well?

64-bit would be possible, as would 128-bit, 256-bit, 512-bit, 1024-bit…
Question: At what point do you stop?

Right now, at 64-bit float since I need Audacity’s noise reduction and I’d prefer to have 64-bit workflow for now :smiley:. But seriously though, in the future we might have super awesome practical applications for hardware with thousands of dBs worth of dynamic range, so 64 bit wouldn’t cut it. Only time can tell

32-bit float has a dynamic range of more than 1000 dB. That’s around 100000000000000000000000000000000000000000000000000 times more than the RME ADI 2 Pro.

You may find this article on xiph.org (the creators of FLAC, OGG Vorbis and OPUS formats) interesting and informative: https://people.xiph.org/~xiphmont/demo/neil-young.html

I am aware of that. Still, somehow the noise floor on 64-bit WAV recording is lower for some reason and SNR is better. I’ll get a few screenshots when I’m at work and have time