正如您所说,公开的可用文档没有详细介绍用于浮点的范围。但是,从过去几年的行业实践以及作为浮点文件存在的实际数据来看,我认为这是一个有效的假设。
这是有实际原因的,也有一个非常常见的范围,用于对颜色、音频、3D 等高精度数据进行归一化。
范围在区间 [-1, 1] 内的主要原因是它可以快速且轻松地缩放/转换到目标位范围。您只需要提供目标范围并相乘。
例如:
如果你想以 16 位播放它(伪,假设有符号舍入为整数结果):
sample = in < 0 ? in * 0x8000 : in * 0x7fff;
或 24 位:
sample = in < 0 ? in * 0x800000 : in * 0x7fffff;
或 8 位:
sample = in < 0 ? in * 0x80 : in * 0x7f;
等,而无需以任何方式调整原始输入值。-1 和 1 表示转换为目标 (1x = x) 时的最小值/最大值。
如果您使用 [-0.5, 0.5] 的范围,您首先(或在某些时候)必须调整输入值,以便转换为例如 16 位需要额外的步骤 - 这需要额外的成本,不仅额外的步骤,但也因为我们将在计算量更大的浮点域中工作(后者可能是一个遗留的原因,因为现在浮点处理非常快,但无论如何)。
in = in * 2;
sample = in < 0 ? in * 0x8000 : in * 0x7fff;
将其保持在 [-1, 1] 范围内而不是一些预先缩放的范围内(例如 [-32768, 32767])还允许使用更多位来实现精度(使用 IEEE 754 表示)。
更新 2017/07
测试
根据评论中的问题,我决定使用三个文件和 1 秒正弦波进行三重检查:
A) 浮点限幅
B) 浮点最大值 0dB,和
C) 整数限幅(从 A 转换而来)
然后在块和大小字段之后扫描正值 <= -1.0 和 >= 1.0 的文件,data
以使最小/最大值反映音频数据中的实际值。
结果证实,当不削波(非真 <= 0 dB)时,该范围确实在 [-1, 1] 范围内。
但这也揭示了另一个方面——
保存为浮点的 WAV 文件确实允许超过 0 dB 范围的值。这意味着对于通常会裁剪的值,范围实际上超出了 [-1, 1]。
对此的解释可能是浮点格式旨在用于生产设置中的中间使用,因为动态范围的损失很小,未来的处理(增益分级、压缩、限制等)可以带回值(没有损失)在最终和正常的 -0.2 - 0 dB 范围内;并因此保留原样的值。
综上所述
使用浮点的 WAV 文件将在不削波 (<= 0dB) 时将值保存在 [-1, 1] 中,但确实允许被认为是削波的值
但是,当转换为整数格式时,这些值将剪裁到由整数格式的位范围缩放的等效 [-1, 1] 范围,无论如何。这是很自然的,因为每个宽度可以容纳的范围有限。
因此,播放器/DAW/编辑软件将通过规范化数据或简单地剪辑回 [-1, 1] 来处理剪辑的浮点值。

注意:所有文件的最大值均直接从样本数据中测量。

注:产生为削波浮点 (+6 dB),然后转换为有符号 16 位并返回浮点

注释:削波至 +6 dB

注释:削波至 +12 dB
简单的测试脚本和文件可以在这里找到。