了解原始 8 位 8000Hz PCM 正弦波的十六进制输出

Understanding hex output of raw 8-bit 8000Hz PCM sine wave

使用 Audacity,我生成了一个 1 秒长度和 1.0 振幅的 1Hz 正弦波。这导致了预期的下一波。

将 Audacity 样本大小设置为 8000Hz,然后我将音频导出为 RAW (header-less) 带符号的 8 位 PCM,生成一个 8000 字节的文件(每个字节是一个 8 位数字,介于-128 和 +127).

以 HxD 格式打开 .raw 文件,然后将 'Bytes per row' 设置为 1,将 Offset to decimal 显示 8000 行,每行以 Hex 格式显示 8 位数字。

我可以看到有 10 个 0,然后是 10 个 1,然后是 10 个 2,依此类推,但是一旦达到 16,就会有 11 个 16,然后是 10 个 17 和 10 个 18。我的问题是,为什么有些数字是 10,而其他数字是 11?

左列不能为十六进制。它必须是采样时间偏移量。右栏是测量值。右列大于9时的值是多少?

这只是正弦波的形状。当您接近最大值时,曲线会更平坦,因此您会获得更多相等的样本值。