Archived from groups: rec.audio.tech (
More info?)
On Sat, 15 May 2004 22:40:12 -0700, "Richard Crowley" <rcrowley7@xprt.net>
wrote:
>Note that +/- 32768 is 16-bit signed integer. Same as
>standard 16-bit fixed-point wav files. So they appear
>to accomodate "floating point" input and output protocol
>while processing only the actual 16-bits of data.
Here's a cut'n paste of the "20- to 32-bit File Formats" section of the help
file:
"32-bit int (type 1 - 32-bit)
This format saves 32-bit audio as 32-bit integers.
32-bit 24.0 float (type 1 - 24-bit)
Full 32-bit floats are actually saved (and in the range of +/-8million), but
the .wav BitsPerSample field is set to 24 while BlockAlign is still set to 4
bytes per channel.
32-bit 16.8 float (type 1 - 32-bit)
Cool Edit Pro’s internal format (floating point values in the range of
+/-32768.0 but larger and smaller values are valid and not clipped since the
floating point exponent is saved as well). The .wav BitsPerSample field is
set to 32 and BlockAlign to 4 bytes per channel.
32-bit 0.24 normalized float (type 3 - 32-bit)
Standard floating point format for type 3 .wav files. Values are normalized
to the range +/-1.0 and although values above and below this range are
saved, some programs may clip when reading them back in.
24-bit packed int (type 1 - 24-bit)
Straight 24-bit integers are saved (so any data beyond the bounds are
clipped). The .wav BitsPerSample field is set to 24 and BlockAlign to 3
bytes per channel.
24-bit packed int (type 1 - 20-bit)
Straight 24-bit integers are saved (so any data beyond the bounds are
clipped). The .wav BitsPerSample field is set to 20 and BlockAlign to 3
bytes per channel. The extra 4 bits that are saved are actually the
remaining valid bits when saving, and are used when reading (thus giving
24-bit accuracy still if those bits were actually when writing).
Applications should either fill those last 4 bits with zeros, or with actual
data, but generally A/D converters that generate 20 bits of valid data
automatically set the remaining 4 bits to zero. Any type 1 format with
BlockAlign set to 3 bytes per channel is assumed to be packed integers, and
a BitsPerSample field between 17 and 24 inclusively will read in all 24 bits
fine and assume the remaining bits are either accurate or set to zero."