AudioUnitSampleType是一个SInt32。当我将其记录到控制台时,我得到的读数大约在-22000和22000之间。

有人可以解释这些值代表什么吗?他们如何描述波形?我猜想是因为它们是正负的,所以轴位于波形的中心。

如何将值转换为分贝,以使0 dB最响?

最佳答案

尽管样本类型是32位int,但是您收到的值通常适合16位int(即32767 ..- 32767)。 32767(或浮点数1.0)对应于0dB。

将样本转换为浮点值后,以分贝为单位的幂看起来像这样:

double sampleValue = (double)intSampleValue / 32767.0;
double db = 20.0 * log10(value);


为了避免溢出,我将上述计算作为双精度进行。

关于iphone - 类型AudioUnitSampleType的样本中的值的范围是多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12075284/

10-13 00:31