我正在 iPhone 操作系统中处理音频,但有点困惑。
我目前正在以 pcm 值的形式从音频缓冲区获取输入,范围为 -32767 到 32768。我希望使用公式 20LOG10(p/pref) 执行 dbSPL 转换。
我知道 pRef 为 0.00002 帕斯卡,并且希望将 pcm 值转换为帕斯卡。
我的问题是 a) 这些 pcm 值到底代表什么? b) 如何将这些值转换为帕斯卡。
非常感谢
最佳答案
如果没有附加信息,您将无法进行此转换。 PCM 值到物理压力单位(帕斯卡)的映射取决于音量设置、输出设备的特性(耳塞?PA 系统?)以及观察者相对于输出设备的位置(紧邻输出设备)扬声器?100米外?)。
回答你问题的第一部分:如果你要绘制声压图 例如,对于 1 kHz 正弦波音调,线性量化 PCM 值与时间的关系 采样时间大致与环境声压变化成正比 那一刻。 (“大致”,因为输入和输出设备很少有绝对平坦的 整个音频范围内的响应曲线。)
关于iphone - 什么是线性 PCM 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3322537/