AudioUnitSampleType是SInt32。当我将其记录到控制台时,我的读数大致介于-22000和22000之间。
有人可以解释这些值代表什么吗?他们如何描述波形?我想因为它们是正的和负的,轴是波形的中心。
如何将值转换为分贝,使0 dB最大?
答案 0 :(得分:1)
虽然样本类型是32位int,但是您收到的值通常适合16位int(即32767 ..- 32767)。 32767(或浮点1.0)对应0dB。
将样本转换为浮点值后,以分贝为单位的功率如下所示:
double sampleValue = (double)intSampleValue / 32767.0;
double db = 20.0 * log10(value);
我已经将上述计算完成为双精度以避免溢出。