使用AudioKit测量(频率加权)声级

时间:2018-08-23 09:54:41

标签: ios iphone swift audio-recording audiokit

我正在尝试使用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秒)内数组的平均值。

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

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

0 个答案:

没有答案