第一次发帖,感谢社区的厚爱!
我在用AudioKit
并尝试向麦克风输入添加频率加权滤波器,因此我尝试了解来自 AudioKit AKFFTTap 的值。
目前我正在尝试打印转换为 dB 值的 FFT 缓冲区
for i in 0..<self.bufferSize {
let db = 20 * log10((self.fft?.fftData[Int(i)])!)
print(db)
}
我预计值的范围约为 -128 到 0,但我得到了接近 -200dB 的奇怪值,当我对着麦克风吹气以确定读数时,它仅达到约 -60。我是否没有正确处理这个问题?我假设 EZAudioFFT 引擎输出的值是简单的幅度值,并且正常的 dB 转换数学将起作用。有人有主意吗?
预先感谢您对这个问题的任何讨论!
您需要添加来自的所有值self.fft?.fftData
(考虑在添加之前将负值更改为正值)然后将其更改为分贝
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)