recording at 32float/96, does it dither on export to 24bit?

Hey,
I’m recording some internet radio, I set it myself to record at a sample rate of 96000, and the default is 32float, on export I select 24bit FLAC / 96000.
Does the 32bit float recording use dither when exported at 24bit?, I’m unsure if this is actually a sample rate ‘conversion’.
Thanks
PS - I should add, that all I’m doing is recording the internet stream then exporting, no editing…

It’s not a sample rate conversion but a bit depth conversion.

Yes the export will be dithered by default because the bit depth is being reduced. You could turn the dither off for the export in Quality Preferences (under “High-quality conversion”) but the file should properly be dithered.

An alternative would be to set Quality Preferences to 24-bit Default Sample Format, then even if dither is enabled in Quality Preferences there will be no dithering if you don’t run effects after recording and export to a 24-bit format.


Gale

Sorry that was an accident, didn’t mean to write sample rate, I meant bit depth but you knew what I meant anyway!..
Thanks will change that default to 24bit for this recording.
Thanks

If I want to “normalize” my 24bit recording (set at 24bit default) will this dither?
I don’t think it needs dither?
Thanks

If I want to “normalize” my 24bit recording (set at 24bit default) will this dither?

I don’t know… You are changing the audio data, but the [u]Audacity Wiki[/u] says:

An example of downsampling when converting a file is when you export from a 32-bit float or 24-bit project to > a 16-bit export format.

So that’s only when you export to 16-bit.

I don’t think it needs dither?

I don’t think so either… I wouldn’t worry about it one way or the other… You can’t hear 16-bit dither (around -90 dB) under any normal-reasonable listening conditions and you are NEVER going to hear dither (or the effects of dither) at 24-bits (around -140dB).

PS - I should add, that all I’m doing is recording the internet stream then exporting, no editing…

You might be worried about the wrong things… :wink: What’s the quality (or bitrate) of the streaming audio? Whats the source of the original audio? Usually, streaming audio uses lossy compression, and the source material is likely “CD quality” at best, so there’s probably no need for this high definition stuff.

Yes, any Normalize operation will add dither noise because the audio is being processed at 32-bit float then downconverted to return to the track at 24-bit. Any process that recalculates the amplitude values of the samples will apply dither unless the track is at 32-bit float.

Audacity’s dither is louder than the floor of the dB range. 24-bit shaped dither is at about-92 dB and 16-bit shaped dither is at about -73 dB.


Gale

Yeah I know it’s most probably not necessary to record an internet stream at 24/96, although it does sound pretty high quality, better than the FM broadcasts I have from cassette tapes of the same show! hah I plan to keep a hard copy on a DVD as DVD-Audio so I’m just going to keep it as 24/96.

In Preferences>Quality I have Default Sample Format set to 24bit, because I recorded an internet stream at 24bit and didn’t need to dither as I didn’t edit it, I just wanted the original recording kept…
So as I have Preferences>Quality set to a Default Sample Format of 24bit does that mean if I load in the 24bit file to Normalize it that it will still process at 32bit?, I thought having Default Sample Format set to 24bit would stop it processing at 32bit, this is why I asked the question, as I thought my 24bit file would be processed at 24bit (seeing as I have Preferences>Quality>Default Sample Format set to 24bit), so I thought a 24bit file being processed (normalized) at 24bit would not dither?, as I thought it only needs to dither when downconverting… I guess I’m not totally understanding something here…?

I’m not sure what happens if you used the new “WASAPI loopback” for recording, but if you recorded using “Stereo Mix” the digital stream is converted to analogue by your sound card, then converted back to digital and sent on to the recording program (“Audacity” in this case).

Where possible, best quality is achieved by downloading the audio rather than recording it. There are plug-ins available for Firefox that allow downloading of many (but not all) Internet audio streams.

Processing within Audacity is always performed in 32 bit float format - in other words, Audacity performs calculations as accurately as possible.
An unfortunate side effect of this (imho this is a bug), if the track format is 16 or 24 bit, then by default, the audio is reconverted back to 16 or 24 bit (with dither is applied) after each process. Thus applying multiple processes to a 16 or 24 bit track will accumulate compound calculation errors.

When processing audio, highest quality is achieved by setting the “Quality” to 32 bit float format (default).

Compared to the losses involved with MP3 encoding, 24 bit dither is totally insignificant. As Gale and DVDdoug commented, shaped dither has a very low peak amplitude (around -120 dB peak), though it will sound even quieter. Low level noise is usually measured as “A-weighted rms”. Audacity’s “shaped” dither measures at around -138.6 dB A-weighted, which is very very very very quiet. :wink:

Yeah I have always “downloaded” a stream whenever I can but not possible this time, so recording it…
What do you mean that a stream is converted to analog (when recording in stereo) by the sound card and then back to digital before Audacity records it?, do all programmes work this way?

A common way on Windows to record what is playing on the computer is to set the recording input to “Stereo Mix”. (On SoundBlaster cards this was called “What U Hear”).

How that works is that the sound card plays whatever digital audio you send to it, and then the output (the “mix”) of whatever is playing can be recorded.
All programs that record from “Stereo Mix” work this way.

It may be different when recording from “WASAPI loopback”. I don’t know and I can’t test because I’m not on Windows.
There is some information here: Audacity Manual

Thanks…
Seeing as I am going to keep a hard copy of this internet stream on a DVD as DVD-Audio, I guess I could record it at 32bit/96, and then export the 32bit float as a 32bit PCM signed .wav, I’m pretty sure that the change from the original recording in Audacity from 32bit float to an export of 32bit PCM signed .wav won’t ever use dither even with editing like normalizing?
Then I won’t even need to make sure I’m using dither correctly!
*I just noticed you can’t export 32bit FLAC, only 32bit as .wav, why is that?
Thanks

Dither is only applied when converting to a lower sample format (bit format), so you’re correct - dither will not occur when exporting to signed 32 bit PCM.

Flac format only supports 16 bit and 24 bit.

Thanks, OK I think I’ve got it all sorted now…
I had thought that in Preferences>Quality the “Default Sample Format” set to 24bit would mean it edited/processed at 24bit, but in fact even with Default Sample Format set to 24bit it will still edit/process at 32bit…
I think I’m a bit confused as to why you can change it to 16bit or 24bit if it’s always going to process at 32bit even of you have it set to 16bit or 24bit…
I guess for reasons like I have used it to record at 24bit and export as 24bit without downsampling…

Umm, it looks like those figures are a bit high, compared to the test of “fading in” absolute silence, but the dither levels can get that high in a heavy editing session.

I was fooled by playing with DTMF tones, thinking the “silence” between the tones was absolute silence, but it isn’t - it’s dither noise.


Gale

I’ve never found a convincing answer to that, but I “think” the analogue stream is captured (so converted to digital).

At any event, WASAPI captures all sounds playing through the requested device including system sounds.


Gale

Yes the Default Sample Format refers to the default for newly created audio (recording or import or generation).

All internal processing is done in 32-bit float regardless of the sample format. There are many reasons. The computer calculations are faster than when dealing with an integer format, and you can preserve quality if repeatedly applying effects that change the volume level.

Also because 32-bit float can store audio above the “clipping” level of 0 dB, if an effect pushes audio above that level, you can always amplify down below 0 dB without losing the audio that was above 0 dB.


Gale

Didn’t know 32bit float can store above clipping level… Not sure I understand all that, I think I’ll keep it safe and make sure my 32bit recording volume stays below 0dB and then just normalize the exported 32 bit file to -0.01dB.

Bye the way I have 2 songs that I would like to add to the 60minute recording of the show I will be recording at 32/96 from the internet stream, however the 2 tracks I would like to add are standard 16bit/44.1 CD tracks, so I plan to simply upconvert the 16bit/44.1 CD tracks to 32bit/96 so they can be add to my “32/96 internet stream recording” so I can compile both onto a DVD-Audio hard copy.
I’m pretty sure there is no harm in upconverting 16bit/44.1 to 32bit/96?, I know it won’t improve the sound, but I want to be sure that this will not audibly damage the file in any way will it?

Strictly speaking, almost certainly you will be recording at 16-bit or 24-bit upconverted to 32-bit resolution.

If Audacity is set to default 32-bit float sample format then when you import the 16-bit 44100 Hz WAV files ripped from the CD, Audacity will import them at 32-bit float resolution.

If your Audacity project rate is set to 96000 Hz then yes the CD audio tracks will be upsampled to that rate when you export the mix. You might just as well do this in Audacity - the “libsoxr” resampling library Audacity uses is of very high quality.

Resampling is always technically lossy, though you don’t lose high frequencies when upsampling to a higher rate and you won’t hear a problem when upsampling in Audacity.

If you really want to get paranoid about this :smiley: then assuming you are on Windows Vista or later you should be choosing Windows DirectSound host in Audacity’s Device Toolbar and setting both Exclusive Mode boxes “on” in the Advanced tab for stereo mix in Windows “Sound”. This will minimise the number of resamplings going on in Windows. See Missing features - Audacity Support .


Gale

When you say “Strictly speaking, almost certainly you will be recording at 16-bit or 24-bit upconverted to 32-bit resolution.”, I think you are just refering to the fact that the actual bit depth of the stream the website is streaming at would be 16bit or 24bit and not actually 32bit which I’m recording at?, I think this is what you mean?

I’m just trying to learn more about how this all works rather than being ‘paranoid about the quality’, as I know realistically there’s actually really no reason to record an internet stream at 32/96!

I’m on Windows 7 Pro, and can not find Exclusive Mode boxes in the Advanced tab for stereo mix in Windows Sound, in fact I can not even see an “Advanced” tab.
Do you mean like Start>Control Panel>Hardware and Sound>Sound:Adjust System Volume / Change System Sounds / Manage Audio Devices ?
There doesn’t appear to be any advanced tab there, so I presume Windows 7 Pro doesn’t have anything like that?