32-bit WAV different names?


I am newbie and using audacity 2.2.2 and I make this thread because I can’t find the information I want to know when I’m googling it. Here is what I found: When exporting an audio in File>Export as WAV, I found WAV (Microsoft) signed 16-bit PCM and WAV (Microsoft) 32-bit PCM but then when I go to other uncompressed files found this Header: WAV (Microsoft) and Encoding: Signed 32-bit PCM and other one is just 32-bit float. Although I am not planning to stored my files as a 32-bit WAV, I just want to know please. What are the differences of those three 32-bit of WAV? And if they are just same why they have different names? Thank you.

The “full” name for a 32-bit float WAV file is: WAV (Microsoft) 32-bit float PCM.

“WAV (Microsoft)” refers to the file header.

“32-bit float PCM” refers to the encoding.
This is an abbreviation of: “IEEE 754 single-precision binary floating-point format: binary32, Pulse-Code Modulation”.
“32-bit float” is a shorter abbreviation for the same thing.

So either I export a WAV 32-bit from File>Export as WAV or pick any WAV 32-bit encoding at other uncompressed files will give me the same output? How about Signed WAV 32-bit, is it different on other two? Sorry for the follow up questions, but this will help for my confusion. Thank you very much. :wink:

I presume that you mean “WAV 32-bit float”…

“Signed”, “Unsigned” and “Float” are all different.
It gets a bit technical, but basically these terms refer to how the binary data is stored:
“Signed” means that the data is stored as whole numbers (integers) which may be positive or negative.
“Unsigned” means that the data is stored as positive whole numbers.
“Float” means that the data is stored as fractional values (“floating point numbers”).

Audacity uses “32-bit float” internally, so the main use for exporting as 32-bit float is if you need to save some critical data from a project without any conversion losses at all, which you can then import back into Audacity at a later time. None of the 32-bit formats have much practical use outside of Audacity (or other audio editor), because file sizes for 32-bit formats are very large (double the size of a normal 16-bit WAV), and few programs other than audio editors / DAWs support 32-bit audio.

Is “float” better than “signed” and “unsigned”? Any advantage and disadvantage for each? When you said “Audacity uses 32-bit float internally” you mean the default sample format in the edit>preferences>quality menu is the same as WAV 32-bit float use for export format right? If they are just the same float internally and exporting, maybe I should skip converting my 16bit FLAC into WAV 32-bit PCM before I normalize it and export as MP3? I’m doing that way because I think there is not much loss and if I don’t normalize it before export to mp3 it will have clippings. Sorry if I take much of your time but you know I learned much from you on this one. So thank you very much sir Steve. I promise these are my last questions for this thread. :smiley:

32-bit float is good for audio processing. The “range” of values that can be represented in float format is far greater than the range for integer formats with the same number of “bits” (32 binary digits). This means that numeric overflow is extremely unlikely to happen during processing of normal audio.

32-bit integer (signed or unsigned) has finer “resolution” than 32-bit. This may have academic benefits, but for real world recording it is irrelevant as even 24-bit integer is more than good enough for the highest quality audio reproduction. It could have some applications in scientific measurement software, but is rarely used for audio.

Yes it’s the same data format, though Audacity uses raw data, whereas exported WAV files have additional “header” data.

The default sample format in the “Edit > Preferences > Quality” sets the default format for new tracks, but regardless of this setting, Audacity always performs processing calculations using 32-bit float. If a track is 16-bit integer, then Audacity will convert the data to 32-bit float for processing, then convert back to 16-bit when the result is returned to the track. It is highly recommended to always use 32-bit float tracks so as to avoid this unnecessary double conversion.

Best to avoid unnecessary conversions. If you are working with 16-bit Flac, and you want the result as MP3, then you can just export from Audacity as MP3, though you may also want to export a 16-bit WAV or Flac copy as a backup in case you need to work on it again at a later date.

By default, Audacity will import 16-bit Flac as 32-bit float (from the default “Edit > Preferences > Quality” preference setting). This conversion is totally lossless / perfect. Converting from 32-bit float to 16-bit integer is “almost” lossless.
Converting from 32-bit float to MP3 is lossy. The amount of sound quality lost depends on the MP3 settings, but there is always some loss.