我已经搜索了一段时间了,但一直没能找到一种方法来实际从 Android 上的麦克风获取 SPL/db 值。
我发现讨论它的少数线程和文章将其视为某种东西so显然,任何人都应该能够做到这一点,并且更关心的是让他们的转换算法正确。
有谁知道如何做到这一点?
在开发其他相关应用程序并进行研究时,我发现了一些信息,这些信息对于任何正在研究此类内容的人来说都是有用的。
您会看到,Android 手机上的麦克风将返回 0 到 +- 32,400 之间的值。大多数情况下,超过 2,000 的任何声音都非常吵,例如音乐会、俱乐部或机械噪音。 “相对沉默”约为 30。但是,这些值的含义是相对的,并且会因手机而异。由于其中有麦克风,彼此相邻的多个设备将返回不同的值。这些值可能略有不同,或者lot.
刚刚在我的办公室测试了几款不同的 Android 手机,我发现某些设备在相同情况下返回的值是其他设备的 10 倍。这就是为什么没有人刚刚说“是的,你可以获得分贝值,这里有一些示例代码:”,因为实际上并没有真正可靠(且简单)的方法来做到这一点。
如果您将其上传到一台设备上,您可能会得到 30 dB,但另一台设备会返回 300dB。显然,没有人会生活在 300 分贝的环境中massive护耳。这些值必须被视为相对值;他们之间的关系如何。如果您想获得可以使用的值,“校准”,无论是动态的还是其他方式,都是必须的。必须有一个既定的基线,该基线不能来自您,必须与您的值进行比较。例如,如前所述,相对安静度应该在 30 左右。
如果手机在相对安静的环境中返回 456,则只需将您的 (30) 除以他们的 (456),您就可以得到一个因子来调整手机返回的值,以便它们与您期望看到的值相匹配,并且这些值可用于某种程度的可靠性。
这是我这几个月的发现,希望对大家有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)