iPhone SDK : AVAudioRecorder metering -- how to change peakPowerForChannel from decibel into percentage?

标签 iphone core-audio avaudiorecorder decibel

iPhone SDK 中的 AVAudioRecorder 可用于获取 channel 的峰值功率和平均功率(以分贝为单位)。范围在0db到160db之间。用于将其转换为 0 - 10 之间的刻度或可用于音频电平表的类似值的计算是什么?

最佳答案

范围为 -160 dB 至 0 dB。您可能希望以从 -90 dB 到 0 dB 的仪表显示它。将其显示为分贝实际上比线性音频电平更有用,因为分贝是对数刻度,这意味着它更接近于我们感知声音的大小。

也就是说,您可以使用它从分贝转换为线性:

线性 = pow(10,分贝/20);

反之亦然:

分贝 = log10(线性)* 20;

上述分贝的范围是负无穷到零,线性的范围是 0.0 到 1.0。当线性值为0.0时,即-inf dB; 1.0 处的线性为 0 dB。

关于iPhone SDK : AVAudioRecorder metering -- how to change peakPowerForChannel from decibel into percentage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2465328/

相关文章:

iphone - 读/写 plist 的正确方法是什么?

iphone - 在发生更改事件时将货币格式重新应用到 UITextField

cocoa - 使用沙盒时核心音频似乎不起作用

iphone - iOS - 在特定时间覆盖特定录音

swift - AVAudioRecorder 和 AVAudioPlayer 音频长度不同

iphone - 如何确定手机和平板电脑网页的 html 元素的大小

ios - 我如何通过带有非字母字符的名字过滤 NSMutableArray

ios - AEC ios 多音频单元图

ios - 访问视频 Assets 中音轨的原始数据进行实时处理

iphone - AVAudioPlayer 在 iPhone 上非常安静,但在 iPod touch 上声音足够大