SDL2浮点音频放音片段

问题描述:

我用SDL2生成32位浮点音频格式的440Hz正弦波。SDL2浮点音频放音片段

我读过else where 32位浮点音频格式在-1.0和+1.0之间归一化。

有了这个说法,我会期望剪切发生超过-1和+1的值。

当我将正弦波的幅度增加到-1.0和+1.0以上时,音调变为加载器(真的真的在3000振幅下很响),并且似乎没有发生削波。

所以我的问题是:

  • 什么用超过-1.0/+ 1.0,为什么不把它夹振幅发生?

  • 32位浮点音频格式的最大幅度值是多少?

  • 有没有定义-1/+ 1规范化约定的地方?

当从整数格式转换成浮点,SDL映射到[1,1],但是剪辑在最大float混合时:[-3.402823466e + 38F,3.402823466e + 38F]。

除此之外,SDL似乎将浮动音频数据直接传递到未经修改的许多音频设备实现,因此您的问题变为操作系统/音频卡特定。

在你的情况下,你的信号可能在某些时候被“对数”,因此在3000x处没有剪切。

+0

好的,听起来像我的问题应该是“核心音频如何处理浮点音频?” – MrRadiotron

+0

我正如我上面所说,例如在这里阅读:https://www.mikeash.com/pyblog/friday-qa-2012-10-26-fourier-transforms-and-ffts.html –