我现在已经有一段时间了。对于iOS应用程序,我正在使用设备的麦克风录制一些音频。我后来尝试评估录音。我使用SciPy在Python中完成了所有工作并且它非常好用。我使用了SciPy的butterworth过滤器实现。
但是当我试图将我的代码翻译成Swift时,我无法找到一种将带通滤波器应用于我的浮点数组的好方法。
有没有人可以引导我进入正确的方向,或者您是否已完成代码示例?我需要一个频率范围为1100到2100 Hz的带通滤波器。
答案 0 :(得分:2)
对于今后任何访客来说,这是解决方案:
https://github.com/bartolsthoorn/NVDSP
感谢答案,这个图书馆解决了它
我不得不为Swift创建一个桥接头,但这不是什么大问题。最终代码如下所示。
let bandpass: NVBandpassFilter = NVBandpassFilter(samplingRate: fs)
bandpass.centerFrequency = 1600.0
bandpass.q = 1.6
bandpass.filterData(&DATA, numFrames: nsamples, numChannels: 1)
Q值可以这样计算:
Q = center_frequency / (top_frequency - bottom_frequency)