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处没有剪切。
好的,听起来像我的问题应该是“核心音频如何处理浮点音频?” – MrRadiotron
我正如我上面所说,例如在这里阅读:https://www.mikeash.com/pyblog/friday-qa-2012-10-26-fourier-transforms-and-ffts.html –