使用AudioKit测量声音(频率加权)的声音水平

问题描述 投票:4回答:1

我正在尝试使用AudioKit为iOS实现SLM应用。因此,我需要确定不同的响度值,以便a)显示当前的响度(平均一秒),b)进行进一步的计算(例如,计算较长时间范围内的“等效连续声级”)。该应用程序应该能够跟踪频率加权的分贝值,例如dB(A)和dB(C)。

我确实了解我所面临的一些问题与我对信号和音频处理领域普遍缺乏了解有关。我的问题是如何使用AudioKit处理这项任务。我将描述我当前的过程,并希望得到一些输入:

  1. 在此麦克风上创建AKMicrophoneAKFrequencyTracker的实例
  2. 以一定间隔创建一个Timer实例(当前为1/48_000.0
  3. 在计时器内:检索amplitudefrequency。用20 * log10(amplitude) + calibrationOffset从幅度计算分贝值(将在专业SLM的帮助下根据设备型号确定校准偏移)。根据频率加权(A和C)计算所获取频率的偏移,并将其应用于初始dB值。将dB,dB(A)和dB(C)值存储在数组中。
  4. 计算给定时间范围(1秒)内数组的平均值。

我在其他地方读到,使用计时器不是最佳方法。还有什么我可以用于“采样”? frequencyAKFrequencyTracker到底是什么?这个频率是否足以确定dB(A)和dB(C)值,或者我是否需要AKFFTTap?如何平均从AKFrequencyTracker中检索到的值,即RMS使用哪个时间范围?

可能相关的问题:Get dB(a) level from AudioKit in swiftAudioKit FFT conversion to dB?

ios iphone swift audio-recording audiokit
1个回答
0
投票

现在,我正在使用音频套件,并且在相同的地方从音频套件中获取确切的dB值。如果您有任何疑问,请告诉我。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.