Windows 10 Sound Device Properties and Audacity Sample Rate

Hi everyone

I’ve not used Audacity for a few years and need to rip another batch of my vinyl collection. My sound card is a Native Instruments Audio 6. I am also now using Windows 10 and Audacity 2.1.2 and I’m struggling to remember my old workflow.

I am also considering whether to record at 96kHz since my card supports it. Please ignore the merits/marginal gains in doing this for now - I realise that there is probably little point in doing this with records pressed 30+ years ago and that only dogs would be able to hear the difference :slight_smile:
As it goes I’ll probably stick with CD quality exports at 44.1kHz 16bit.

My questions here about 96kHz/32bit are more around Audacity’s interraction with sound devices on Windows and the various layers/APIs underneath.

There appear to be three places where I can set the sample rate:

  1. I have just made a test recording and notice that I can export wavs in 32bit float. I’m not sure if that was always the case with older versions - has this changed in the last few years?
    I seem to remember there being an internal limit of 16 or 24bit on Windows? Though might be mistaken.

  2. In fact looking at the Windows device properties above, there is no option for 32bit, only 24bit. So does that mean exporting in 32bit is pointless because Windows has only sent 24bit to Audacity?

  3. Would all these have to be set to 96kHz/32bit or whatever for the recording to be truly 96kHz/32bit?
    Or does setting the project in Audacity change the underlying Windows device layer to be 96kHz?
    Or does Audacity bypass that entirely with some sort of direct hook into the device/driver?

Thanks in advance

I don’t know exactly how all of these things interact, but I know Windows can hide the hardware limitations from you. For example, I’m pretty sure you can play a 24-bit (or 32-bit) 192kHz file on any-old soundcard and the drivers will make the necessary conversions without telling you. And the same thing happens on the recording side…

One advantage (or disadvantage) of ASIO drivers (which your interface supports, but as-supplied* Audacity doesn’t) is that the drivers don’t mess with the audio data and you can’t record at settings that are not directly supported by your hardware.

The specs for your interface say 24-bit/96kHz.

Audacity works internally in 32-bit floating-point. It turns-out to be easier to do digital signal processing in floating-point, and floating point essentially has no upper limit so you can go over 0dB without clipping (and there’s essentially no lower limit either).

You may want to export to 32-bit floating-point if you’re going to do further processing (especially if the file may go over 0dB).

Digital-to-analog converters and analog-to-digital converters are integer devices and they are limited to 0dB maximum. (I think there’s one manufacturer that makes a 32-bit DAC chip.) And from what I’ve read, most 24-bit ADCs are only accurate to about 20-bits. So although you can “record” in 32-bit floating point, you’re not actually capturing with 32-bit accuracy. The software & drivers are making a conversion for you.




\

It depends on the Audio Host you choose in Device Toolbar too. If you choose MME or Windows DirectSound host, you will only record 16-bit samples irrespective of choosing a higher quality in Audacity.

If you choose Windows WASAPI host then you can record 24-bit samples with Audacity given you have a 24-bit recording device.

If you choose Windows WASAPI host with Exclusive Mode set in Windows Sound, then you will avoid Windows upconverting to 32-bit float for processing and Windows will hand off 24-bit to Audacity. Otherwise that Windows upconversion will occur with all the hosts.

Audacity could always export 32-bit WAV, except the option was more hidden in older versions.


Gale