24-Bit Recording Status

I use an older ASIO build but I still see people saying the latest Audacity for Windows as downloaded can’t record true 24-bit audio. What are the facts with regard to this subject? Thanks.

These people are wrong. I suppose they don’t even know what 24 bit means. All they understand is that “24” is bigger than “16” and they believe it sounds better.

Internally, Audacity works at 32 bit, to avoid any quality loss. If you have a very good soundcard, you can record at 24 bit. An average 24 bit card will only yield 20 bit. And run-off-the-mill soundcards usually only offer 16 bit. You need the best if you are mixing and manipulating audio, but a good 16 bit card will probably sound better than a mediocre 24 bit card.

If it’s just a record, for playback and you’re doing just a bit of shortening and that kind of “cut away” editing, 16 bit is plenty. Nobody can hear the difference between 24 and 16 bit in playback.

And all of this is independent from the sample rate, 44.1, 48, 96 or 192 kHz.

As far as I’m aware, there is still a 16-bit capture limit when using MME or DirectSound as “host” (in the device toolbar) though I don’t have Windows to be able to test that. As I understand it, 24-bit recording should be available using WASAPI host (provided that your hardware and drivers fully support WASAPI of course). If you have a 24-bit sound card, perhaps you could test that with Audacity 2.1.2 from here: http://www.audacityteam.org/download/

That is correct. From http://audacityteam.org/about/features/:

Record at 24-bit depth on Windows (using Windows WASAPI host), Mac OS X or Linux (using ALSA or JACK host).


Gale

Record at 24-bit depth on Windows (using Windows WASAPI host), Mac OS X or Linux (using ALSA or JACK host).

I tried it and it works perfectly, but with 48 kHz only. With 96 kHz I get “Error while opening device”. 96 kHz (actually 8 kHz up to 192 kHz) work with MME, but with 16 bit only and some kind of dithering, of course.
I’m using 2.1.2 and I tried the recent nightly built 2.1.3, but that’s the same. BTW, with 2.1.1 WASAPI did not work at all.

I use Win 10 Pro on a new PC (not upgraded) together with a USB Audio Class 1 interface, so there is no driver to be updated. The Project Rate is set to 96000. The interface works perfectly on MACs with 24 bit.

Anything that I might do wrong or is Audacity not that far yet? Will it work in future?

Regards, Uwe

I tried it and it works perfectly, but with 48 kHz only.

I THINK that means your soundcard only runs at 48kHz internally . It’s not unusual for the hardware to have a fixed clock. “Normal” windows drivers take care of any conversion and pretty much hide the hardware capabilities/limits. The bit depth is always fixed in hardware, but the drivers can transparently up-sample or down-sample as necessary.

There may be another WASAPI mode that allows upsampling, but I don’t know how to set that up and of course there is no audio benefit to doing that.

Hi, thanks for the answer

I THINK that means your soundcard only runs at 48kHz internally

it’s not a soundcard, it’s an external USB interface (possibly also called a “soundcard”). This USB interface is a digital-audio-to-USB adapter (either S/PDIF- or Toslink-to-USB) which is capable one direction only and nothing but the sample rate of the incoming digital audio signal. I.e., it always runs exactly at the clock of the audio source.

“Normal” windows drivers take care of any conversion and pretty much hide the hardware capabilities/limits

The driver is the Windows internal USB Audio Class 1 (UAC1) driver, not a propriety one. This UAC1 driver is capable of up to 96 kHz with 24 bit or 192 kHz with 16 bit. And because my USB interface is only capable of the incoming data rate, the UAC1 driver’s output can only be the same as the input. And so it is.

Note that on MACs happens exactly what I describe here (e.g., 96 kHz and all 24 bit) and that on Windows in MME mode also 96 kHz, but truncated to 16 bit, are working.

There may be another WASAPI mode that allows upsampling, but I don’t know how to set that up and of course there is no audio benefit to doing that.

I agree. Maybe somebody cared for Windows 24 bit but didn’t expect that somebody would come up and ask for 24 bit not only at 48 kHz, but also at 96 kHz. In case there is just a source for such a signal missing, I can possibly help.

For WASAPI, the sample rates should be set the same throughout. That means, the “device”, Audacity, and Windows. Have you set Windows to use 96 kHz in the Windows Sound Control Panel?

In System Tray > Recording Devices > Recording > Properties > Advanced > Default Format only one sample rate is available, which is in this case 2 channels, 24 bit, 96000 Hz. Thus the box is grayed out and there is nothing to select or set up. As I wrote: My USB device is capable of one sample rate only, and that is the sample rate of the incoming digital audio stream.

FYI: When this sample rate changes, the device disappears and a different USB audio device appears which, of course, is capable of nothing but the new sample rate. This device has a different name and the sample rate is part of the name.

Out of curiosity: what device are you using to record?

When using S/PDIF there are a lot of devices that default to 48 kHz while being capable of other sample rates. And I’ve never even seen a device that was capable of only one sample rate. Mind you, I haven’t seen all of them :smiley:

There are basically two ways the “recording device” determines the incoming sample rate:

  • By looking at the header
  • By syncing with the incoming stream

Method 1 is according to the book, while method 2 is more flexible and more reliable, as there are devices out there that send the wrong headers. Method 2 will fail in case the transmitter sees the wrong impedance, or in case you’re using a bad cable. AFAIK 99% of standalone devices use method 2.

I have no idea how the different Windows versions and the different devices on Windows handle this.

Out of curiosity: what device are you using to record?

I expected this question… Because I never saw such a device myself but needed one for a product, a friend of mine (software) and I (hardware) designed it. Meanwhile I can offer it as a kind of kit for DIYs, too: DA2USB - Digital Audio to USB Interface. We can easily program it so that it sends a test signal of e.g. 96 kHz/24 bit when no external digital audio signal is connected. Maybe it helps somebody to solve the 96 kHz issue.

There are basically two ways the “recording device” determines the incoming sample rate:

This device determines (counts) the external sample rate and logs on to the PC as a UAC1 (or, in case, UAC2) device which is capable of nothing else but that external sample rate. This works perfect. There is nothing that you can set up wrong in any driver. So we were convinced that with Audacity (provided, that the correct project rate is selected) we will definitely always get a 1:1 recording from the audio source - and we were deeply disappointed when we just recently found out that under Windows (in contrast to OS X) the samples were truncated to 16 bit and obviously dithered. Now I learned the background of it and that a solution comes into sight - but just before it is completely working it fails at 96 kHz. Sigh…

So when you connect this device which has detected 96000 Hz 24-bit input and you then launch Audacity and choose 96000 Hz project rate at bottom left, you see “Error opening sound device, check the input device…”, but when you change to 48000 Hz project rate you can record into Audacity? You do have Audacity set to record in stereo, don’t you?

What about the two “Exclusive Mode” checkboxes underneath “Default Format”? Are they enabled or disabled and does changing the checkbox state and restarting Audacity make any difference?

Are you sure the device is not being replaced with a new one while Audacity is running? That would require you to do Transport > Rescan Audio Devices in Audacity.

Have you tried other recording applications? I think the Microsoft Voice Recorder uses WASAPI, and Goldwave (you can get a free trial) lets you choose WASAPI. To use Voice Recorder, your device must be the default Windows recording device.


Gale

Impressive hardware. The gear slut in me immediately wants one :laughing:

This device determines (counts) the external sample rate and logs on to the PC as a UAC1 (or, in case, UAC2) device which is capable of nothing else but that external sample rate. This works perfect.

So this seems to be an Audacity problem. I’d take Gale’s advice and test in any other DAW or recording app that can use the same audio system.

Now back to these kits. Must have some… :smiling_imp:

but when you change to 48000 Hz project rate you can record into Audacity? You do have Audacity set to record in stereo, don’t you?

Exactly. WASPI 24 bit. Stereo: Yes.

What about the two “Exclusive Mode” checkboxes underneath “Default Format”? Are they enabled or disabled and does changing the checkbox state

Both Enabled.

does changing the checkbox state and restarting Audacity make any difference?

Sometimes. I often try with restarts, particularly when things, which used to work in the test before, don’t want to work. E.g., I observed alt least once (I don’t log what I do) that after switching back from 96k to 48k, 48k didn’t work without restarting Audacity, but normally it works. Believe me, I did not try every setting just once. (And I don’t believe that I don’t make mistakes.)

Are you sure the device is not being replaced with a new one while Audacity is running? That would require you to do Transport > Rescan Audio Devices in Audacity.

That hurts almost :wink:. Every other operation I do is Rescan and Select the Device. Ok, not every other operation, but during my tests more often than once a minute comes closer.

Have you tried other recording applications? I think the Microsoft Voice Recorder uses WASAPI,

I doubt that such a simple thing would record in 24 bit. Tests (not from me and as far as I remember) confirmed that. My friend wrote a very simple recording console program which hooks on Direct Sound. That works, I get 96 kHz, 24 bit. I can import these files in Audacity and Audacity handles and processes them with 24 bit (or more). I should try Goldwave.

Now back to these kits. Must have some…

Me too, that’s why we designed it. Currently I have only three hand-soldered prototypes and I need them in order to find out whether there are more freaks than just you and me wanting one. And I cannot offer them as long as I have none… And I cannot offer them for Windows users as long as Audacity can’t record 24 bit… What I wrote on the website is not true and I need to make that clear. Otherwise I must make clear how the Windows-user can achieve 24 bit - but I can’t. That’s my situation.

Uwe

@Uwe.

You made me loose sleep. Spent most of the night reading your site. You have a new fan :smiley:

And, yes, Windows is a mess. I really don’t understand why Windows users endure this mess…

Said the Mac user that can’t even record what’s playing on his computer without the help of third party software, but please let’s not get into flaming or fan-boy discussions :wink:

If you look in the 2.1.2 Release Notes you will see that there is a long list of known issues with WASAPI in Audacity.

WASAPI itself is known to be more prone to return errors in Exclusive Mode. Theoretically though, if you enable Exclusive Mode then set Audacity to record at 96000 Hz from a 96000 Hz source, that “should” have the best chance of success because Audacity under Exclusive Mode will request that 96000 Hz rate directly from the sound device.

Unfortunately though Audacity does not support 24-bit recording under DirectSound because the PortAudio audio interface we use does not do so.

Voice Recorder and (Windows Sound Recorder in previous Windows) must use whatever the Windows Sound settings are because they cannot choose otherwise. It would be interesting to know if Voice Recorder does or does not record 24-bits, because the built-in Windows recorder is useful for comparative testing.

But please test Goldwave also, or any other DAW or recorder that gives you a choice of WASAPI API.

Thanks,


Gale

Hi Uwe -

I was copied in on this thread. I worked with Dmitry K. on the PortAudio implementation of WASAPI. As you probably know, PortAudio is the underpinning of Audacity. Some thoughts for you:

Is it possible for you to try this on a machine which isn’t running Windows 10? I’m not 100% confident of Windows 10 and have had some programs behave differently under it.

It is my understanding that DirectSound does not do 24-bit audio at all.

I haven’t had much trouble with WASAPI in Exclusive mode.

Is it possible for you to try using a different USB audio interface? Perhaps you could borrow one from someone? Is it possible that your USB interface isn’t playing nicely with the audio software?

Be careful of Goldwave. WASAPI is hard to develop for, and Chris had a hard time getting it to work on Goldwave. However, anything is worth a try.

Well, Steve, Debian can’t do that either. You also need Jack, or another audio routing software, I believe. Or can Pulse do that? I don’t know Pulse…

Besides, I never felt a big need to record streaming audio. Whenever it comes up, it’s just a click away in TotalMix. And that works even for Skype. And yes, that is 3rd party software…

OSX isn’t what it used to be either. All that cloud nonsense has made a system that once was stable into a bit of a mess too. Yearly new versions haven’t helped. So I’m two versions behind. Debian still wins, there I’m only one version behind. Fortunately, Devuan 1.0 is almost beta and the alpha is quite stable/complete…

The most important first: Goldwave works perfectly! I tried it with 96/24 only, not with any other sample rate. The tools to zoom horizontally and vertically are fine (more vertical zoom than Audacity) and very soon they showed that the resolution is much better than 16 bit. In the 32 bit export the digitally generated samples were bit-precise present. (32 bits can be examined in a hex editor much easier than 24 bit.)

@Gale:

WASAPI itself is known to be more prone to return errors in Exclusive Mode

I didn’t try yet the non-exclusive mode, I wanted to answer as soon as possible.
The Voice Recorder is even worse than I expected: It records in an .m4a format, compressed.

@Chris

Is it possible for you to try this on a machine which isn’t running Windows 10?

I could re-animate my old XP machine. Would that make sense, particularly after these new experiences? I would, particularly when it helps you.

I haven’t had much trouble with WASAPI in Exclusive mode.

It works at 48/24 here, too. Did you try it with 96/24?

Is it possible for you to try using a different USB audio interface?

No, I have none. Under XP I had an expensive Creative Sound Blaster, but due to the lack of an actual driver it is now expensive waste. (This experience was one reason to design our own interface - that should never happen again.)

Perhaps you could borrow one from someone?

Would it make still sense under these circumstances? I don’t know anybody with such an interface or sound card.

Is it possible that your USB interface isn’t playing nicely with the audio software?

The interface works with OS-X and Audacity perfectly and now also with Win 10 and Goldwave. Let me assure you: The interface works correctly.

Be careful of Goldwave. WASAPI is hard to develop for, and Chris had a hard time getting it to work on Goldwave.

I didn’t quite understand that. Aren’t you Chris? Are you working on Goldwave, too? Why should I be careful, what should I do or avoid?

Thanks for your answers!

Regards, Uwe