iphone - 什么是线性 PCM 值

标签 iphone objective-c audio objective-c++ decibel

我正在 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/

相关文章:

ios - 如何在 ios 中使用子类更改 UITextfield 占位符文本颜色

iphone - 释放还是自动释放?

ios - popViewController 在 UITableViewController 中不起作用

iphone - 圆形CG点位置

iphone - 在我的应用程序中包含电子邮件应用程序时出现问题

ios - 如何从同一个 AVAudioEngine 播放多个不同的音频文件? (错误: !nodeimpl->HasEngineImpl())

android - 计算音频文件的声级会导致dB值降低

python - 精确定位收到声音时的样本编号或点

iphone - 如何获得真实设备的方向?

ios - 更改 iPad 的自动布局约束