- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 AVAudioRecorder 获取 iOS 应用程序中的噪音级别。
我使用的代码是:
[self.recorder updateMeters];
float decibels = [self.recorder averagePowerForChannel:0];
// 160+db here, to scale it from 0 to 160, not -160 to 0.
decibels = 160+decibels;
NSLog(@"Decibels: %.3f", decibels);
当手机放在我的 table 上时,我得到的读数约为 90-100dB。
我检查了这个this link我在那里看到的表格显示:
吸尘器 - 80dB
大型管弦乐队 - 98dB
随身听最大音量 - 100dB
摇滚音乐会前排 - 110dB
现在,尽管我的办公室可能看起来很吵,但它并不靠近最大音量的随身听。
我应该在这里做些什么来获得正确的读数吗?看来我的 iPhone 麦克风非常灵敏。如果它有什么不同的话,那就是 iPhone4S。
最佳答案
忘记我之前的回答。我找到了一个更好的解决方案(如果我错了,请纠正我)。我认为我们都想要实现的是分贝 SPL,但averagePowerChannel 方法为我们提供了麦克风的输出电压。分贝 SPL 是表示比率的对数单位。我们需要将该输出转换为声压级分贝,这并不容易,因为为此您需要引用值。换句话说,您需要 DB SPL 值以及相应的电压值。您还可以尝试通过将结果与 decibel Ultra 等应用程序进行比较来估计它们。开门见山:你需要的公式如下:
SPL = 20 * log10(referenceLevel * powf(10, (averagePowerForChannel/20)) * range) + offset;
您可以将referenceLevel 设置为5。这在我的iPhone 上给出了良好的结果。 averagePowerForChannel 是从averagePowerForChannel 方法中获得的值:方法和range 表示范围的上限。我将其设置为 160。最后,offset 是一个偏移量,您可以添加该偏移量以进入您想要的区域。我这里加了50。
不过,如果有人对此有更好的解决方案。那就太好了!
关于iphone - 如何从 iOS AVAudioRecorder 获取正确比例的分贝读数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12662183/
我在将一些 C++ 代码转换为 Arduino 时遇到问题。任何帮助,将不胜感激。 编辑 我已经成功完成了上述操作。然而,现在唯一的问题是我的 Arduino 代码准确而正确地读取了电压,但没有其他寄
我需要能够从 HealthKit 读取所有 HRV 读数,并根据它们的创建日期对它们的值进行排序。 我可以使用 SampleQuery 从 HealthKit 读取特定时间间隔内的所有读数,如下所示:
我正在尝试使用 arduino uno R3 从 DHT-11 传感器读取温度和湿度 #include #include #define DHTPIN A3 #define DHTTYPE DHT
伙计们,我是 Meteor 的新手。对于我目前的应用程序,我正在使用 openlayer,因此对于 openlayer,我调用 Template.map.onRendered 事件,该事件将加载一个
我有一个设备可以读取电气设备的 kw 值,以测量它们在特定时间的(能量消耗率)。然后将这些值发送到轮询器(它定期向设备询问这些值),并插入到数据库中。 例子: 1st reading - 10 kw
我是一名优秀的程序员,十分优秀!