我正在使用Core Audio SDK文档中提供的EXTAudioFileReadTest应用程序,并尝试从mData缓冲区中获取所有浮点值,以便可以使用它们绘制波形。
目前,我正在打印出单通道的浮点值,这是我在控制台中得到的结果:
2010-09-10 19:22:43.360 ExtAudioFileReadTest71828 71828:a0f 0.127136
2010-09-10 19:22:43.360 ExtAudioFileReadTest71828 71828:a0f -0.057033
2010-09-10 19:22:43.360 ExtAudioFileReadTest71828 71828:a0f -0.146455
2010-09-10 19:22:43.360 ExtAudioFileReadTest71828 71828:a0f 0.090759
2010-09-10 19:22:43.360 ExtAudioFileReadTest71828 71828:a0f 0.240837
2010-09-10 19:22:43.360 ExtAudioFileReadTest71828 71828:a0f -0.072719
2010-09-10 19:22:43.361 ExtAudioFileReadTest71828 71828:a0f -0.258782
2010-09-10 19:22:43.361 ExtAudioFileReadTest71828 71828:a0f -0.063972
2010-09-10 19:22:43.361 ExtAudioFileReadTest71828 71828:a0f 0.088692
2010-09-10 19:22:43.361 ExtAudioFileReadTest71828 71828:a0f 0.153571
2010-09-10 19:22:43.361 ExtAudioFileReadTest71828 71828:a0f 0.080644
2010-09-10 19:22:43.383 ExtAudioFileReadTest71828 71828:a0f -0.087060
2010-09-10 19:22:43.383 ExtAudioFileReadTest71828 71828:a0f 0.196455
2010-09-10 19:22:43.383 ExtAudioFileReadTest71828 71828:a0f 0.167777
2010-09-10 19:22:43.383 ExtAudioFileReadTest71828 71828:a0f -0.192430
2010-09-10 19:22:43.383 ExtAudioFileReadTest71828 71828:a0f -0.209936
2010-09-10 19:22:43.383 ExtAudioFileReadTest71828 71828:a0f 0.012049
2010-09-10 19:22:43.383 ExtAudioFileReadTest71828 71828:a0f 0.110493
2010-09-10 19:22:43.384 ExtAudioFileReadTest71828 71828:a0f 0.150715
2010-09-10 19:22:43.384 ExtAudioFileReadTest71828 71828:a0f 0.016413
2010-09-10 19:22:43.384 ExtAudioFileReadTest71828 71828:a0f -0.056843
2010-09-10 19:22:43.384 ExtAudioFileReadTest71828 71828:a0f 0.206117
2010-09-10 19:22:43.384 ExtAudioFileReadTest71828 71828:a0f 0.020673
2010-09-10 19:22:43.384 ExtAudioFileReadTest71828 71828:a0f -0.561129
2010-09-10 19:22:43.384 ExtAudioFileReadTest71828 71828:a0f -0.184265
2010-09-10 19:22:43.384 ExtAudioFileReadTest71828 71828:a0f 0.620910
2010-09-10 19:22:43.385 ExtAudioFileReadTest71828 71828:a0f 0.309018
2010-09-10 19:22:43.385 ExtAudioFileReadTest71828 71828:a0f -0.371634
2010-09-10 19:22:43.385 ExtAudioFileReadTest71828 71828:a0f -0.238362
2010-09-10 19:22:43.385 ExtAudioFileReadTest71828 71828:a0f 0.125136
2010-09-10 19:22:43.385 ExtAudioFileReadTest71828 71828:a0f 0.139757
2010-09-10 19:22:43.385 ExtAudioFileReadTest71828 71828:a0f -0.023419
2010-09-10 19:22:43.385 ExtAudioFileReadTest71828 71828:a0f -0.142903
2010-09-10 19:22:43.385 ExtAudioFileReadTest71828 71828:a0f 0.041068
2010-09-10 19:22:43.386 ExtAudioFileReadTest71828 71828:a0f 0.252621
2010-09-10 19:22:43.386 ExtAudioFileReadTest71828 71828:a0f -0.002240
2010-09-10 19:22:43.386 ExtAudioFileReadTest71828 71828:a0f -0.261686
2010-09-10 19:22:43.386 ExtAudioFileReadTest71828 71828:a0f -0.105053
2010-09-10 19:22:43.386 ExtAudioFileReadTest71828 71828:a0f 0.072798
2010-09-10 19:22:43.386 ExtAudioFileReadTest71828 71828:a0f 0.141572
2010-09-10 19:22:43.386 ExtAudioFileReadTest71828 71828:a0f 0.110190
我想我很困惑..。.as我希望找到某种类型的电压样本,而不是-1和1之间的数字。这些值到底是什么意思?将这些值转换为介于0和1之间的某个上限/下限的好公式是什么?
提前谢谢。我到处找都找不到这些信息...尤其是在文档中没有。
发布于 2010-09-11 14:04:45
这很正常。
音频采样的常见浮点表示从-1...1开始调制;其中值-1和1表示0 dBFS下的一个采样。
连续的浮点值'0.0‘流表示静默信号。
没有直流偏移的信号在正域和负域中具有相同的权重。
如果要将这些值转换为0...1,请使用以下公式:
result = (0.5 * inputSample) + 0.5;但是,如果信号长度超过-1...1,则可能需要使用更复杂的算法。
在大多数情况下,如果你想以浮点形式存储它,你应该将它保持在-1...1。
发布于 2010-09-11 07:53:54
我想我已经弄明白了。我刚刚在excel中绘制了上面这些点的图表,它看起来像是一个波形。我没有意识到它也给了负电压...但这是有道理的。
https://stackoverflow.com/questions/3689058
复制相似问题