Playback Sample Rate and Bit Depth?

Hi guys,

I am running Audacity 2.0.5 on Windows 7, 64 bit.
I record using 32 bit float and 96000 Hz project rate.
These settings are giving me fine recordings.
I am using the 96K rate due to problems I could not resolve at lower rates.
I just bought a Cambridge Audio DacMagic Plus DAC to use as a headphone amp and to connect to my audio system without an electrical connection to the PC.
I am using the Realtek Digital output (optical) on my computer into the DAC with excellent results.
I have set the sample rate and bit depth in the “Realtek Digital Output Properties” box to
“2 Channel, 24 Bit, 96000 Hz (Studio Quality)”.
My question:
When I playback tracks I have recorded, given the recording settings, what is the sample rate and bit depth that Audacity is outputting?

what is the sample rate and bit depth that Audacity is outputting?

I’m not sure, and I’m not so sure it’s easy to find out…

Audacity itself is putting-out 32-bit floating-point at the project rate, but I’m not sure if that’s what you are hearing. Your DAC is 24-bits. You didn’t say what hardware you are recording with.

Your Windows drivers will resample if the hardware doesn’t directly support the format… A soundcard that’s “stuck” at 16-bit/48kHz will happily play (or record) a 24/96 file.

If you have pro hardware with ASIO drivers, ASIO drivers “lock into” your hardware, and you can only play/record what your hardware truly supports. (But as-distributed, Audacity doesn’t support ASIO drivers, and your Realtek doesn’t support ASIO either*.)

I am pretty sure you are not “capturing” at 32-bits, and certainly your Realtek soundcard doesn’t support 32-bits. I think there’s only one 32-bit DAC or ADC on the market. I don’t remember if it’s floating-point or not. But, most 24-bit ADCs/DACs are only accurate to about 20-bits anyway. And,. 16-bit/44.1kHz (CD quality) is better than human hearing.

I’m pretty sure the bit-depth of all DACs & ADCs is fixed in hardware… If you play/record an 8-bit or 24-bit file on a 16-bit DAC/ADC, either the bottom 8-Bits are thrown-away or filled with zeros, depending on which way you are going.

There good reasons that audio editors & DAWs use floating-point internally, but for recording & playback there’s no advantage.


  • There are drivers called ASIO4ALL. They replace some of the Windows driver stack when you have hardware that didn’t come with ASIO drivers. Those allow hardware without proper ASIO drivers to “look like” real ASIO hardware to the ASIO application. I like to call it “Half-ASIO”. :smiley: But, these are for the hardware side… ASIO4ALL requires an ASIO application and it won’t work with Audacity.

“Actual Rate” in the right-hand section of the Audacity Status Bar aims to shows (when playing) the rate being communicated by Audacity to the sound card. “Actual Rate” when recording aims to show the rate communicated by the sound card to Audacity.

But what the device outputs is part of the playback equation too. And it’s more complex than Doug says, because even without ASIO, the host you choose in Audacity affects playback and recording bit depths and sample rates.

If you choose Windows DirectSound or Windows WASAPI host in Audacity and enable both Exclusive Mode boxes in Windows (where you already chose the bit depth and sample rate) then the device “should” output the bit depth and sample rate you choose in Audacity, subject to the depths and rates that device supports. The bit depth and sample rate you specify in Windows is then ignored (and so is the Windows recording bit depth and sample rate ignored).

If you choose MME host in Audacity or uncheck the “Exclusive Mode” boxes then the Windows playback or recording bit depth and sample rate you specify is observed. You will get depth and rate conversions if you set Audacity in contradiction to the Windows settings.

So what this means is that assuming the DAC does not support 32-bit playback you will always get 24-bit playback. If you wanted to minimise theoretical bit depth conversions you would set Audacity to 24-bit and host to Windows WASAPI with Exclusive Mode on (using Windows DirectSound host in Exclusive Mode, Windows Vista and later is believed to do conversions to and from 32-bit float, like it does if you choose MME). You can’t set WASAPI host in 2.0.5 or 2.0.6 release for physical recording inputs, though.

Given Audacity works internally in 32-bit float the general advice is that if you are doing edits that change the sample amplitudes, it’s more important to set Audacity to 32-bit float.

You should always get 96000 Hz playback in a theoretical sense assuming you leave the Audacity project rate at 96000 Hz. However MME host is limited to 44100 Hz/16-bit. So Windows will I believe be downconverting in that case to 44100 Hz/16-bit, then upconverting to 32-bit/96000 Hz then finally down to 24-bit/96000 Hz. You won’t be getting any ultrasonics above the frequency range of human hearing that were there in the first place.

Use Windows DirectSound or WASAPI host with Exclusive Mode on to ensure that the device receives the sample rate set in Audacity project rate, and to WASAPI with Exclusive Mode on to minimise the bit depth/sample rate conversions.