我试图从PCM缓冲区中找到最大振幅值。
我的问题是 -
1)我发现要在DB中找到该值,公式为:amplDB = 20log(abs(ampl)/ 32767)。现在假设放大器在-32768到32767的范围内,log((abs)幅度/ 32767)的值总是负的。这个公式是正确的吗?我应该否定AmplDB的价值吗?
2)我的价值观非常高涨。对于普通歌曲,最大振幅值也是32767,这似乎不正确。一首歌的通常振幅值是什么?
3)我发现另一个公式amplDb = ampl / 2700。这是什么2700?
4)还有其他方法可以计算振幅值吗?
由于
答案 0 :(得分:0)
您使用的公式是正确的。请记住,dB是一种感知测量,可将强度与您设置的参考水平进行比较。因此,它总是负的,因为在公式中使用的参考电平是最大PCM电平。换句话说,你的dB总是低于(负),而不是你的最高等级(0 dB)。
关于您获得的值,获得最大幅度是很正常的。如果它是商业歌曲,常见的母带制作实践是尽可能地增强信号。如果是您录制的录音,则可能与麦克风的灵敏度和您正在录制的声音有关。
最后,为了清楚起见,这与播放时声音发生的声压级无关,因为您只是查看录制声音的振幅差异。